diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..8fc497c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: CC0-1.0 + +static/css/main*.css diff --git a/.github/workflows/build-test-publish.yml b/.github/workflows/build-test-publish.yml index 93783e5..9d89f8b 100644 --- a/.github/workflows/build-test-publish.yml +++ b/.github/workflows/build-test-publish.yml @@ -26,22 +26,21 @@ jobs: - os: windows-latest python_version: "3.11" steps: + - name: Set env var `SKIP_LONG_RUNNING_TESTS=1` (draft PR) to skip long running tests + if: ${{ github.event_name == 'pull_request' && github.event.pull_request.draft == true }} + run: echo "SKIP_LONG_RUNNING_TESTS=1" >> "$GITHUB_ENV" - uses: actions/checkout@v4 - - name: Set up Python ${{matrix.python_version}} - uses: actions/setup-python@v5 with: - cache: pip - cache-dependency-path: pyproject.toml + fetch-depth: 0 + - uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + cache-dependency-glob: "**/pyproject.toml" python-version: ${{matrix.python_version}} - - name: Upgrade Pip - run: |- - python -m pip install -U pip - - name: Install test dependencies - run: |- - python -m pip install '.[test]' + - name: Install dependencies + run: uv pip install ".[test]" - name: Run unit tests - run: |- - python -m pytest --cov-report=term --cov=capella_model_explorer --rootdir=. + run: uv run coverage run pre-commit: runs-on: ubuntu-latest @@ -51,7 +50,7 @@ jobs: with: cache: pip cache-dependency-path: pyproject.toml - python-version: "3.11" + python-version: "3.12" - name: Upgrade pip run: python -m pip install -U pip - name: Install pre-commit @@ -63,6 +62,11 @@ jobs: https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 chmod +x /usr/local/bin/hadolint hadolint --version + - name: Install self + run: python -m pip install . + - name: Install prettier and prettier plugins + run: |- + python -m capella_model_explorer pre-commit-setup - name: Run Pre-Commit run: pre-commit run --all-files @@ -74,7 +78,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install dependencies run: |- python -m pip install -U pip diff --git a/.gitignore b/.gitignore index 3030979..bb66680 100644 --- a/.gitignore +++ b/.gitignore @@ -164,3 +164,8 @@ node_modules/ # IntelliJ project files .idea/ + +# stylesheet generated by tailwindcss cli +static/css/main-*.css + +uv.lock diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2ae7815..e0a9946 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,13 +6,14 @@ default_stages: [pre-commit, pre-merge-commit] minimum_pre_commit_version: 4.0.0 repos: - repo: https://github.com/gitleaks/gitleaks.git - rev: v8.23.2 + rev: v8.23.3 hooks: - id: gitleaks - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-added-large-files + args: ['--maxkb=10000'] - id: check-ast - id: check-builtin-literals - id: check-case-conflict @@ -28,8 +29,10 @@ repos: - id: debug-statements - id: destroyed-symlinks - id: end-of-file-fixer + exclude: 'static/js/plotly.*\.min\.js' - id: fix-byte-order-marker - id: trailing-whitespace + exclude: 'static/js/plotly.*\.min\.js' - repo: https://github.com/Lucas-C/pre-commit-hooks rev: v1.5.5 hooks: @@ -65,7 +68,7 @@ repos: - id: insert-license name: Insert Apache license headers (C-style comments) files: '\.(?:s?css|js|ts)$' - exclude: '(?:^|/)\..+' + exclude: '(?:^|/)\..+|static/js/plotly.*\.min\.js' args: - --detect-license-in-X-top-lines=15 - --license-filepath @@ -99,7 +102,7 @@ repos: additional_dependencies: - docformatter[tomli] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.3 + rev: v0.9.5 hooks: - id: ruff args: [--extend-ignore=FIX, --fix] @@ -109,7 +112,7 @@ repos: hooks: - id: actionlint - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.14.1 + rev: v1.15.0 hooks: - id: mypy additional_dependencies: @@ -137,35 +140,25 @@ repos: - id: prettier-css name: prettier-css language: system - entry: sh -c 'make frontend/node_modules && ./frontend/node_modules/.bin/prettier --write --tab-width 2 --print-width 79 --parser css "$@"' -- + entry: sh -c 'node_modules/.bin/prettier --write --parser css "$@"' -- require_serial: true files: '\.css$' - id: prettier-jinja name: prettier-jinja language: system - entry: sh -c 'make frontend/node_modules && ./frontend/node_modules/.bin/prettier --write --tab-width 2 --print-width 79 --parser jinja-template --plugin "$(npm root -g)/prettier-plugin-jinja-template/lib/index.js" "$@"' -- + entry: sh -c 'node_modules/.bin/prettier --write --parser jinja-template --plugin "$(pwd)/node_modules/prettier-plugin-jinja-template/lib/index.js" "$@"' -- require_serial: true files: '\.(j2|jinja)$' - id: prettier-js name: prettier-js language: system - entry: sh -c 'make frontend/node_modules && ./frontend/node_modules/.bin/prettier --write --tab-width 2 --print-width 79 --parser babel "$@"' -- + entry: sh -c 'node_modules/.bin/prettier --write --parser babel "$@"' -- require_serial: true files: '\.js$' - id: prettier-md # depends on https://github.com/remarkjs/remark/tree/main/packages/remark-parse name: prettier-md language: system - entry: sh -c 'make frontend/node_modules && ./frontend/node_modules/.bin/prettier --write --tab-width 2 --print-width 79 --parser markdown "$@"' -- + entry: sh -c 'node_modules/.bin/prettier --write --parser markdown "$@"' -- require_serial: true files: '\.md$' - - repo: local - hooks: - - id: eslint - name: eslint - language: system - entry: sh -c 'make frontend/node_modules && ./frontend/node_modules/.bin/eslint "$@"' -- - require_serial: true - args: ['--fix', '--config', 'frontend/eslint.config.js'] - types: [] - files: '^frontend/.*\.(js|jsx)$' diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..2928d1f --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: CC0-1.0 + +static/css/main*.min.js +static/js/plotly*.min.js diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..8afcfca --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "printWidth": 79, + "tabWidth": 2 +} diff --git a/frontend/package-lock.json.license b/.prettierrc.license similarity index 100% rename from frontend/package-lock.json.license rename to .prettierrc.license diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 79ea9d4..4a70ed6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,14 +20,10 @@ our style guidelines outlined below. ## Developing -We recommend that you -[develop inside of a virtual environment](README.md#installation). After you -have set it up, simply run the unit tests to verify that everything is set up -correctly: +### Common -```sh -pytest -``` +We recommend that you +[develop inside of a virtual environment](README.md#installation). We additionally recommend that you set up your editor / IDE as follows. @@ -57,6 +53,66 @@ We additionally recommend that you set up your editor / IDE as follows. save. Language server clients are available for a wide range of editors, from Vim/Emacs to PyCharm/IDEA. +### Preconditions + +- Python 3.11 or higher +- Node package manager (npm) +- Docker (to guarantee, that the app will continue to work in a container) + +### Quick start + +1. Clone the project, change into the project root directory, and install in + editable mode in the virtual environment: + + ```bash + pip install -e ."[dev,docs,test]" + ``` + +1. Install node packages (needed to build the CSS from TailwindCSS): + + ```bash + npm clean-install + ``` + +1. Optional: + + Create a `.env` file in the root of the project and define any of the + environment variables decribed in the help `cme run local-dev -h`. + + Example `.env` file: + + ```bash + CME_MODEL={"path": "git+https://github.com/DSD-DBS/Capella-IFE-sample.git","revision": "master", "entrypoint": "In-Flight Entertainment System.aird"} + CME_PORT=5000 + CME_ROUTE_PREFIX="/prefic" + ``` + +1. Run the application in development mode with the following command executed + in the root directory of the project: + + ```bash + dotenv run cme run local-dev # if you want to make use of the .env file + cme run local-dev # without .env file + ``` + +`cme run local-dev` starts the TailwindCSS CLI and the FastHTML server in watch +mode that reloads the backend and frontend on change of files with the +extensions `*.css`, `*.j2` (templates), `*.js`, and `*.py`. + +The app will be available at the location printed to the terminal when +the console confirms `Application startup complete.`. + +### Modifying the style of the frontend + +Always modify the style via TailwindCSS classes within the Python or Jinja2 +template files. + +If not possible (because of collision with TailwindCSS' `prosa` class), modify +the file `static/css/input.css` directly. + +Note, that it is sometimes needed to empty cache and hard reload the app in the +browser, when styles are not applied correctly. + ## Code style We base our code style on a modified version of the diff --git a/Dockerfile b/Dockerfile index c75ccbf..a0a394a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,61 +1,84 @@ # Copyright DB InfraGO AG and contributors # SPDX-License-Identifier: Apache-2.0 -# Build frontend -FROM node:20 AS build-frontend -WORKDIR /app -COPY frontend/package*.json ./ -RUN npm install -COPY frontend/ ./ -RUN npm run build - -# Build backend FROM python:3.12-slim-bookworm -WORKDIR /app - USER root - -RUN apt-get update && \ - apt-get install --yes --no-install-recommends \ - git \ - git-lfs \ - libgirepository1.0-dev \ - libcairo2-dev \ - gir1.2-pango-1.0 \ - graphviz \ - nodejs \ - npm && \ - rm -rf /var/lib/apt/lists/* - -COPY ./capella_model_explorer ./capella_model_explorer -COPY ./pyproject.toml ./ -COPY ./.git ./.git - -RUN pip install --no-cache-dir . -COPY --from=build-frontend /app/dist/ ./frontend/dist/ - -# Expose the port the app runs in +WORKDIR /app +ENV HOME=/home +ENV PATH=$HOME/.local/bin:$PATH +ENV MODEL_ENTRYPOINT=/model +# Expose the port the app runs on EXPOSE 8000 -COPY ./templates /views - -ENV HOME=/home +# install system pkgs {{{ +RUN apt-get update && \ + apt-get install --yes --no-install-recommends \ + curl \ + git \ + git-lfs \ + gir1.2-pango-1.0 \ + graphviz \ + libcairo2-dev \ + libgirepository1.0-dev \ + npm && \ + apt-get autoremove --yes && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* +# }}} -COPY entrypoint.sh /entrypoint.sh +# copy files {{{ +COPY capella_model_explorer capella_model_explorer +COPY static static +COPY templates templates +COPY pyproject.toml ./ +COPY .git .git +COPY package*.json ./ +# copy entrypoint.sh to root: +COPY entrypoint.sh / RUN chmod +x /entrypoint.sh -ENV MODEL_ENTRYPOINT=/model -RUN chmod -R 777 ./frontend/dist/ +# }}} -# Run script to get software version -ENV MODE=production -COPY frontend/fetch-version.py ./frontend/ -RUN python frontend/fetch-version.py && \ - python -c "from capellambse_context_diagrams import install_elk; install_elk()" +# misc setup {{{ +RUN git config --global --add safe.directory /model && \ + git config --global --add safe.directory /model/.git && \ + chmod -R 777 /app && \ + chmod -R 777 /home +# }}} # Run as non-root user per default -RUN git config --global --add safe.directory /model && \ - git config --global --add safe.directory /model/.git && \ - chmod -R 777 /home +USER 1000 + +# install uv {{{ +RUN curl -Lo /tmp/install.sh https://astral.sh/uv/install.sh && \ + chmod +x /tmp/install.sh && \ + UV_NO_MODIFY_PATH=1 sh /tmp/install.sh && \ + rm /tmp/install.sh +# }}} + +# install app incl. its cli and install elk.js {{{ +RUN uv venv && \ + # install app + uv pip install --no-cache-dir . && \ + # Install elk.js automatically into a persistent local cache directory + # in order to prepare the elk.js execution environment ahead of time. + uv run python3 -c "from capellambse_context_diagrams import install_elk; install_elk()" +# }}} + +# install Nodep kgs and build the CSS {{{ +RUN npm clean-install && uv run python3 -m capella_model_explorer build css +# }}} + +# clean up as root {{{ +USER root +RUN ln -s /home/.local/bin/uv /usr/local/bin && \ + apt-get purge --remove --yes curl npm && \ + apt-get autoremove --yes && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* \ + rm -rf node_modules +# }}} + +# Back to non-root user USER 1000 ENTRYPOINT ["/entrypoint.sh"] diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..d817195 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) + +Permission 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: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE 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. diff --git a/Makefile b/Makefile deleted file mode 100644 index 3cb6793..0000000 --- a/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -CAPELLA_MODEL_EXPLORER_HOST_IP ?= 0.0.0.0 -CAPELLA_MODEL_EXPLORER_PORT ?= 8000 -export MODEL ?= coffee-machine -export TEMPLATES_DIR ?= templates - -# NOTE: Keep the 'help' target first, so that 'make' acts like 'make help' -.PHONY: help -help: - @echo 'Available make targets:' - @echo '' - @echo 'Note: `UV_ENV_FILE=.env uv run make ...` or `dotenv run make ...`' - @echo 'can be used to run make with environment variables from a .env file' - @echo '' - @echo ' run MODEL=/some/model.aird' - @echo ' -- Run the app in production mode with a model' - @echo ' dev-backend -- Run the backend in development mode' - @echo ' dev-frontend -- Run the frontend in development mode' - @echo ' build-frontend -- (Re-)Build the prod frontend files' - @echo ' storybook -- Run storybook for frontend development' - @echo ' clean-frontend -- Clean out all built/installed frontend files' - -.PHONY: run -run: frontend/dist/static/env.js - sed -i -e "s|__ROUTE_PREFIX__||g" frontend/dist/static/env.js - MODE=production python frontend/fetch-version.py - python -c "from capellambse_context_diagrams import install_elk; install_elk()" - MODEL="$$MODEL" TEMPLATES_DIR="$$TEMPLATES_DIR" uvicorn \ - --host=$(CAPELLA_MODEL_EXPLORER_HOST_IP) \ - --port=$(CAPELLA_MODEL_EXPLORER_PORT) \ - capella_model_explorer.backend.main:app - -.PHONY: build-frontend -build-frontend: frontend/node_modules - cd frontend && npm run build - -.PHONY: dev-backend -dev-backend: - sed -i -e "s|__ROUTE_PREFIX__||g" frontend/dist/static/env.js - MODE=production python frontend/fetch-version.py - python -c "from capellambse_context_diagrams import install_elk; install_elk()" - MODEL="$$MODEL" TEMPLATES_DIR="$$TEMPLATES_DIR" uvicorn \ - --host=$(CAPELLA_MODEL_EXPLORER_HOST_IP) \ - --port=$(CAPELLA_MODEL_EXPLORER_PORT) \ - --reload \ - capella_model_explorer.backend.main:app - -.PHONY: dev-frontend -dev-frontend: frontend/node_modules - sed -i -e "s|__ROUTE_PREFIX__||g" frontend/dist/static/env.js - python frontend/fetch-version.py - cd frontend && npm run dev - -.PHONY: storybook -storybook: frontend/node_modules - cd frontend && npm run storybook - -.PHONY: clean-frontend -clean-frontend: - cd frontend && rm -rf dist node_modules - -frontend/dist/static/env.js: frontend/node_modules - cd frontend && npm run build - touch -c frontend/dist/static/env.js - -frontend/node_modules: frontend/package.json frontend/package-lock.json - cd frontend && npm install - touch -c frontend/node_modules diff --git a/README.md b/README.md index 7645eaa..30f4bb4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ A webapp for exploring Capella models through simple "auto-generated" textual and graphical views. **Longer story**: - We see a larger non-MBSE crowd struggling with the things hidden in the model. With this app we expose model contents in an easy to review readable form with basic graphical annotations. Under the hood it uses Jinja templates enabling @@ -24,6 +23,7 @@ shape and form. - Provide insights into / "spell-out" the model for non-MBSE stakeholders via document-a-like dynamic views that describe model elements in a human-readable form. + - Provide meaningful default views (that can be further customized) for the key elements to kickstart the model exploration. @@ -31,93 +31,82 @@ There are a few more use cases but we will reveal them a bit later. # Quick start -Clone, then build and run locally with Docker: +## Installation + +You can install the latest released version directly from PyPI. ```bash -docker build -t model-explorer:latest . -docker run --name=cme -e ROUTE_PREFIX="" \ - -v /absolute/path/to/your/model/folder/on/host:/model \ - -v "$PWD/templates:/views" -p 8000:8000 model-explorer +pip install capella-model-explorer ``` -Then open your browser at `http://localhost:8000/views` and start exploring -your model. +## Run the app -While the thing is running you can edit the templates in the `templates` folder -and see the changes immediately in the browser. +The app comes with a command line interface (CLI). +Command `cme -h` to get help or `cme SUBCOMMAND -h` to get help for any +subcommand. -# Development (local) +```bash +cme run -h +``` -To run the app in dev mode you'll need to first run `make build-frontend`. This -is needed by the backend to have some statics to serve. Then run `make -dev-backend` in one terminal and `make dev-frontend` in another terminal. The -backend and statically built frontend will be served at -`http://localhost:8000`. The live frontend will be served by vite at -`http://localhost:5173` (or similar, it will be printed in the terminal where -you ran `make dev-frontend`). +lists the available run options. -# Installation +In all cases the running app will be served at a location (default: +`http://localhost:8000`) that will be printed to the console. -You can install the latest released version directly from PyPI. +### Run the app locally -```sh -pip install capella-model-explorer +```bash +cme run local ``` -To set up a development environment, clone the project and install it into a -virtual environment. +### Build a Docker image and run the app in a container -```sh -git clone https://github.com/DSD-DBS/capella-model-explorer -cd capella-model-explorer -python -m venv .venv - -source .venv/bin/activate.sh # for Linux / Mac -.venv\Scripts\activate # for Windows - -pip install -U pip pre-commit -pip install -e '.[docs,test]' -pre-commit install +```bash +cme build image +cme run container ``` -# Development +Above will start the app with a sample model which can be found here: +[In-Flight Entertainment System](https://github.com/DSD-DBS/Capella-IFE-sample) -This repo contains a Makefile with recipes for a few commonly needed tasks -during development. Run `make help` for more details. +Stop the app via CTRL+C. -## Developing the frontend - -To develop frontend components, run: +### Run the app in a container with a custom remote model ```bash -make storybook +export CME_MODEL='git+https://github.com/DSD-DBS/Capella-IFE-sample.git' +export CME_PORT=5000 # optional, default is 8000 +cme run container ``` -To develop the app as a whole, run: - -```bash -make dev-frontend -``` +More information describing what kinds of values can be specified via the +environment variable `CME_MODEL` can be found in the documentation of +capellambse: -Note that this requires a running backend server, see the next section. +https://dsd-dbs.github.io/py-capellambse/start/specifying-models.html -## Backend development +### Run the app in a container with a custom local model -To run the backend, use the following command: +If you want to be able to explore a local Capella model you can mount a local +model into the container. Live template reloading and rendering will be +enabled. ```bash -make run MODEL=../path/to/model.aird +export CME_MODEL=/path/on/host/to/model +cme run container ``` -This will start the API server on , where it will serve -the frontend in production mode. These static files can be rebuilt with `make -build-frontend`, although it is usually more convenient to run the frontend in -development mode with `make dev-frontend` (see above). +### Run the app in a container and enable live report template editing + +If you want to be able to live edit and test local templates, you can mount a +local model and a templates folder into the container. Live template reloading +and rendering will be enabled. -The MODEL parameter can be set to anything that -[`capellambse.loadcli`](https://dsd-dbs.github.io/py-capellambse/start/specifying-models.html) -understands, but some functionality requires a Git-backed model (e.g. using a -`git+https://` URL). +```bash +export CME_TEMPLATES_DIR=$(realpath ./templates) +cme run container +``` # Integration in the Capella Collaboration Manager @@ -143,10 +132,10 @@ config: requests: 1.6Gi limits: 6Gi environment: - MODEL_ENTRYPOINT: + CME_MODEL: stage: before value: "{CAPELLACOLLAB_SESSION_PROVISIONING[0][path]}" - ROUTE_PREFIX: "{CAPELLACOLLAB_SESSIONS_BASE_PATH}" + CME_ROUTE_PREFIX: "{CAPELLACOLLAB_SESSIONS_BASE_PATH}" connection: methods: - id: f51872a8-1a4f-4a4d-b4f4-b39cbd31a75b diff --git a/capella_model_explorer/__main__.py b/capella_model_explorer/__main__.py new file mode 100644 index 0000000..f6b3de4 --- /dev/null +++ b/capella_model_explorer/__main__.py @@ -0,0 +1,365 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import argparse +import os +import pathlib +import subprocess +import threading +import time + +import capella_model_explorer +import capella_model_explorer.constants as c + + +def _check_cmd_run(cmd: list[str]) -> None: + """Check if a command is available.""" + try: + subprocess.run( + cmd, + check=True, + capture_output=True, + ) + except Exception as exp: + print(f"Could not run command '{' '.join(cmd)}'. {exp}") + raise SystemExit(1) from None + + +def _install_npm_pkgs() -> None: + _check_cmd_run(["npm", "--version"]) + cmd = ["npm", "clean-install"] + print(" ".join(cmd)) + subprocess.run( + cmd, + check=True, + capture_output=False, + ) + + +def run_container(): + _check_cmd_run(["docker", "--version"]) + cmd = [ + "docker", + "run", + "--rm", + "-it", + "--name", + "cme", + "-e", + f"CME_LIVE_MODE={'1' if c.LIVE_MODE else '0'}", + "-e", + f"CME_PORT={c.PORT}", + "-e", + f"CME_ROUTE_PREFIX={c.ROUTE_PREFIX}", + "-p", + f"{c.PORT}:{c.PORT}", + ] + model = pathlib.Path(c.MODEL) + if model.is_file() and str(model).lower().endswith(".aird"): + model = model.parent + if model.is_dir(): + cmd.extend( + [ + "-v", + f"{model.resolve()}:/model", + "-e", + "CME_MODEL=/model", + ] + ) + else: + cmd.extend( + [ + "-e", + f"CME_MODEL={c.MODEL}", + ] + ) + if pathlib.Path(c.TEMPLATES_DIR).is_dir(): + cmd.extend( + [ + "-v", + f"{pathlib.Path(c.TEMPLATES_DIR).resolve()}:/app/templates", + ] + ) + else: + raise SystemExit(f"Templates directory '{c.TEMPLATES_DIR}' not found.") + cmd.append(c.DOCKER_IMAGE_NAME) + print(" ".join(cmd)) + subprocess.run( + cmd, + check=True, + capture_output=False, + ) + + +def run_local(): + """Run the application locally.""" + if not pathlib.Path(c.TEMPLATES_DIR).is_dir(): + raise SystemExit(f"Templates directory '{c.TEMPLATES_DIR}' not found.") + _check_cmd_run(["uvicorn", "--version"]) + print("Running the application locally...") + cmd = [ + "uvicorn", + "--host", + c.HOST, + "--port", + str(c.PORT), + ] + if c.LIVE_MODE: + cmd.extend( + [ + "--reload", + "--reload-exclude", + "git_askpass.py", + "--reload-dir", + str(c.TEMPLATES_DIR), + "--reload-include", + "*.j2", + ] + ) + cmd.append("capella_model_explorer.main:app") + print(" ".join(cmd)) + subprocess.run( + cmd, + env=os.environ + | { + "CME_LIVE_MODE": "1" if c.LIVE_MODE else "0", + "CME_MODEL": c.MODEL, + "CME_ROUTE_PREFIX": c.ROUTE_PREFIX, + "CME_TEMPLATES_DIR": str(c.TEMPLATES_DIR), + }, + check=True, + capture_output=False, + ) + + +def run_local_dev(): + print("Running the application locally with full reload...") + thread = threading.Thread(target=build_css, kwargs={"watch": True}) + thread.start() + time.sleep(1) # avoid direct uvicorn reload when css file is written + if not pathlib.Path(c.TEMPLATES_DIR).is_dir(): + raise SystemExit(f"Templates directory '{c.TEMPLATES_DIR}' not found.") + _check_cmd_run(["uvicorn", "--version"]) + print("Running the application locally...") + cmd = [ + "uvicorn", + "--host", + c.HOST, + "--port", + str(c.PORT), + "--reload", + "--reload-exclude", + "git_askpass.py", + "--reload-exclude", + "input.css", + "--reload-dir", + ".", + "--reload-include", + "*.css", + "--reload-include", + "*.j2", + "--reload-include", + "*.js", + "--reload-include", + "*.py", + "capella_model_explorer.main:app", + ] + print(" ".join(cmd)) + subprocess.run( + cmd, + env=os.environ + | { + "CME_LIVE_MODE": "1", + "CME_MODEL": c.MODEL, + "CME_TEMPLATES_DIR": c.TEMPLATES_DIR, + }, + check=True, + capture_output=False, + ) + + +def build_css(watch): + """Build style sheet using Tailwind CSS.""" + for file in pathlib.Path().glob("static/css/main-*.css"): + file.unlink() + _install_npm_pkgs() + exe = "node_modules/.bin/tailwindcss" + _check_cmd_run([exe, "--help"]) + print("Building style sheet...") + input_css = pathlib.Path("static/css/input.css") + if not input_css.is_file(): + raise SystemExit(f"Input CSS file '{input_css}' not found.") + cmd = [ + exe, + "--minify", + "--input", + str(input_css), + "--output", + f"static/css/main-{capella_model_explorer.__version__}.min.css", + ] + if watch: + cmd.append("--watch") + print(" ".join(cmd)) + subprocess.run( + cmd, + check=True, + capture_output=False, + ) + + +def build_image(): + _check_cmd_run(["docker", "--version"]) + cmd = [ + "docker", + "build", + "--no-cache", + "-t", + f"capella-model-explorer:{capella_model_explorer.__version__}", + ".", + ] + print(" ".join(cmd)) + subprocess.run( + cmd, + check=True, + capture_output=False, + ) + + +def pre_commit_setup(): + print("Installing tools needed for pre-commit hooks...") + _install_npm_pkgs() + + +def main(): + parser = argparse.ArgumentParser( + description=( + "CLI for managing the application. Every command" + " has its own `--help` option." + ) + ) + parser.add_argument( + "--version", + action="version", + version=f"%(prog)s {capella_model_explorer.__version__}", + ) + + subparsers = parser.add_subparsers( + dest="command", required=True, help="Available commands" + ) + + # Run command + run_parser = subparsers.add_parser("run", help="Run the application") + run_subparsers = run_parser.add_subparsers( + dest="subcommand", required=True, help="Subcommands for run" + ) + + templ_reload_hlp = " The app reloads when templates are modified." + opt_env_vars_hlp = " This command accepts optional environment variables." + host_hlp = ( + " CME_HOST sets the host to bind the app to" + f" (default: {c.Defaults.host})" + ) + live_hlp = ( + " CME_LIVE_MODE controls (0: off, 1: on) template live reloading" + f" (default: {'1' if c.Defaults.live_mode else '0'})" + ) + model_hlp = f" CME_MODEL specifes the model (default: {c.Defaults.model})" + port_hlp = ( + f" CME_PORT sets the port the app listens to" + f" (default: {c.Defaults.port})" + ) + route_prefix_hlp = ( + f" CME_ROUTE_PREFIX sets a route prefix (e.g. '/cme') to use" + " (default: " + f"{c.Defaults.route_prefix if c.Defaults.route_prefix else "''"})" + ) + templates_dir_hlp = ( + f" CME_TEMPLATES_DIR sets the directory containing the templates" + f" (default: {c.Defaults.templates_dir.resolve()})" + ) + run_subparsers.add_parser( + "container", + help=(f"Run the application in a container. {templ_reload_hlp}"), + description=( + " Run the application in a container." + + templ_reload_hlp + + opt_env_vars_hlp + + " CME_DOCKER_IMAGE_NAME" + f" (default: {c.Defaults.docker_image_name})" + f",{model_hlp}" + f",{templates_dir_hlp}" + f",{route_prefix_hlp}" + f",{live_hlp}" + f",{port_hlp}" + ), + ) + run_subparsers.add_parser( + "local", + help=(f"Run the application locally. {templ_reload_hlp}"), + description=( + "Run the application locally." + + templ_reload_hlp + + opt_env_vars_hlp + + live_hlp + + f",{host_hlp}" + f",{model_hlp}" + f",{port_hlp}" + f",{route_prefix_hlp}" + f",{templates_dir_hlp}" + ), + ) + run_subparsers.add_parser( + "local-dev", + help=( + "Run the application locally in development mode with full reload." + ), + description=( + "Run the application locally in development mode with full reload." + " The app reloads when templates, CSS, JS, Python files change." + + opt_env_vars_hlp + + live_hlp + + f",{host_hlp}" + f",{model_hlp}" + f",{port_hlp}" + f",{route_prefix_hlp}" + f",{templates_dir_hlp}" + ), + ) + + # Build command + build_parser = subparsers.add_parser("build", help="Run build process") + build_subparsers = build_parser.add_subparsers( + dest="subcommand", required=True, help="Subcommands for build" + ) + + build_subparsers.add_parser( + "css", + help="Build style sheet with Tailwind CSS CLI.", + ) + build_subparsers.add_parser("image", help="Build Docker image.") + + # Pre-commit setup command + subparsers.add_parser( + "pre-commit-setup", help="Install tools needed for pre-commit hooks" + ) + + args = parser.parse_args() + + if args.command == "run": + if args.subcommand == "container": + run_container() + elif args.subcommand == "local": + run_local() + elif args.subcommand == "local-dev": + run_local_dev() + elif args.command == "build": + if args.subcommand == "css": + build_css(watch=False) + elif args.subcommand == "image": + build_image() + elif args.command == "pre-commit-setup": + pre_commit_setup() + + +if __name__ == "__main__": + main() diff --git a/capella_model_explorer/backend/__init__.py b/capella_model_explorer/backend/__init__.py deleted file mode 100644 index 7d6af1a..0000000 --- a/capella_model_explorer/backend/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 -"""The capella_model_explorer package.""" - -from importlib import metadata - -try: - __version__ = metadata.version("capella_model_explorer") -except metadata.PackageNotFoundError: # pragma: no cover - __version__ = "0.0.0+unknown" -del metadata diff --git a/capella_model_explorer/backend/main.py b/capella_model_explorer/backend/main.py deleted file mode 100644 index 9cba147..0000000 --- a/capella_model_explorer/backend/main.py +++ /dev/null @@ -1,325 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -import logging -import os -import pathlib -import time -import traceback -import typing as t -import urllib.parse - -import capellambse -import capellambse.model as m -import fastapi -import fastapi.middleware.cors -import fastapi.responses -import fastapi.staticfiles -import fastapi.templating -import jinja2 -import markupsafe -import prometheus_client -import pydantic - -import capella_model_explorer -from capella_model_explorer.backend import model_diff, state -from capella_model_explorer.backend import templates as tl - -FRONTEND_DIR = pathlib.Path("./frontend/dist") -ROUTE_PREFIX = os.getenv("ROUTE_PREFIX", "") -logger = logging.getLogger(__name__) - - -class CommitRange(pydantic.BaseModel): - head: str - prev: str - - -class ObjectDiffID(pydantic.BaseModel): - uuid: str - - -def _create_diff_lookup(data, lookup=None): - if lookup is None: - lookup = {} - try: - if isinstance(data, dict): - for _, obj in data.items(): - if "uuid" in obj: - lookup[obj["uuid"]] = { - "uuid": obj["uuid"], - "display_name": obj["display_name"], - "change": obj["change"], - "attributes": obj["attributes"], - } - if children := obj.get("children"): - _create_diff_lookup(children, lookup) - except Exception: - logger.exception("Cannot create diff lookup") - return lookup - - -def _finalize(markup: t.Any) -> object: - markup = markupsafe.escape(markup) - return capellambse.helpers.replace_hlinks(markup, state.model, _make_href) - - -def _make_href( - obj: m.ModelElement | m.AbstractDiagram, -) -> str | None: - if state.templates_index is None: - return None - - for idx, template in state.templates_index.flat.items(): - if "type" in dir(template.scope): - clsname = template.scope.type - if obj.xtype.rsplit(":", 1)[-1] == clsname: - return f"{ROUTE_PREFIX}/{idx}/{obj.uuid}" - return f"{ROUTE_PREFIX}/__generic__/{obj.uuid}" - - -def _make_href_filter(obj: object) -> str | None: - if jinja2.is_undefined(obj) or obj is None: - return "#" - - if isinstance(obj, m.ElementList): - raise TypeError("Cannot make an href to a list of elements") - if not isinstance(obj, m.ModelElement | m.AbstractDiagram): - raise TypeError(f"Expected a model object, got {obj!r}") - - try: - state.model.by_uuid(obj.uuid) - except KeyError: - return "#" - - return _make_href(obj) - - -def _render_instance_page(template_text, base, object=None): - try: - # render the template with the object - template = state.jinja_env.from_string(template_text) - rendered = template.render( - object=object, - model=state.model, - diff_data=state.diff, - object_diff=state.object_diff, - ) - return fastapi.responses.HTMLResponse( - content=rendered, status_code=200 - ) - except jinja2.TemplateSyntaxError as e: - error_message = markupsafe.Markup( - "

Template syntax error: {}, line {}

" - ).format(e.message, e.lineno) - base.error = error_message - print(base) - return fastapi.responses.HTMLResponse(content=error_message) - except Exception as e: - logger.exception("Error rendering template") - trace = markupsafe.escape(traceback.format_exc()) - error_message = markupsafe.Markup( - '

' - f"Unexpected error: {type(e).__name__}: {e}" - '

'
-            f"object={object!r}\nmodel={state.model!r}"
-            f"\n\n{trace}"
-            "
" - ) - return fastapi.responses.HTMLResponse(content=error_message) - - -app = fastapi.FastAPI(version=capella_model_explorer.__version__) -app.add_middleware( - fastapi.middleware.cors.CORSMiddleware, - allow_origins=["*"], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) -router = fastapi.APIRouter(prefix=ROUTE_PREFIX) -app.mount( - f"{ROUTE_PREFIX}/assets", - fastapi.staticfiles.StaticFiles(directory=FRONTEND_DIR / "assets"), -) -app.mount( - f"{ROUTE_PREFIX}/static", - fastapi.staticfiles.StaticFiles(directory=FRONTEND_DIR / "static"), -) - -try: - MODEL_INFO = os.environ["MODEL"] -except KeyError as err: - raise SystemExit("MODEL environment variable is not set") from err - -try: - _ = state.model -except AttributeError: - state.model = capellambse.loadcli(MODEL_INFO) - -state.templates = fastapi.templating.Jinja2Templates(directory=FRONTEND_DIR) - -state.templates_loader = tl.TemplateLoader(state.model) -state.jinja_env = jinja2.Environment( - loader=jinja2.FileSystemLoader(state.templates_path) -) -state.jinja_env.finalize = _finalize -state.jinja_env.filters["make_href"] = _make_href_filter -state.templates_index = state.templates_loader.index_path(state.templates_path) - - -@app.middleware("http") -async def update_last_interaction_time(request: fastapi.Request, call_next): - if request.url.path not in ("/metrics", "/favicon.ico"): - state.last_interaction = time.time() - return await call_next(request) - - -@app.get("/metrics") -def metrics(): - idle_time_minutes = (time.time() - state.last_interaction) / 60 - state.idle_time_gauge.set(idle_time_minutes) - return fastapi.Response( - content=prometheus_client.generate_latest(), - media_type="text/plain", - ) - - -@router.get("/api/commits") -async def get_commits(): - try: - return model_diff.populate_commits(state.model) - except Exception as e: - return {"error": str(e)} - - -@router.post("/api/compare") -async def post_compare(commit_range: CommitRange): - try: - state.diff = model_diff.get_diff_data( - state.model, commit_range.head, commit_range.prev - ) - state.diff["lookup"] = _create_diff_lookup(state.diff["objects"]) - if state.diff["lookup"]: - return {"success": True} - return {"success": False, "error": "No model changes to show"} - except Exception as e: - logger.exception("Failed to compare versions") - return {"success": False, "error": str(e)} - - -@router.get("/api/diff") -async def get_diff(): - if state.diff: - return state.diff - return {"error": "No data available. Please compare two commits first."} - - -@router.get("/api/metadata") -async def version(): - return {"version": app.version} - - -@router.get("/api/model-info") -def model_info(): - info = state.model.info - resinfo = info.resources["\x00"] - return { - "title": info.title, - "revision": resinfo.revision, - "hash": resinfo.rev_hash, - "capella_version": info.capella_version, - "branch": resinfo.branch, - "badge": state.model.description_badge, - } - - -@router.post("/api/object-diff") -async def post_object_diff(object_id: ObjectDiffID): - if object_id.uuid not in state.diff["lookup"]: - raise fastapi.HTTPException(status_code=404, detail="Object not found") - - state.object_diff = state.diff["lookup"][object_id.uuid] - return {"success": True} - - -@router.get("/api/objects/{uuid}") -def read_object(uuid: str): - obj = state.model.by_uuid(uuid) - details = tl.simple_object(obj) - return { - "idx": details["idx"], - "name": details["name"], - "type": obj.xtype, - } - - -@router.get("/api/views") -def read_templates(): - state.templates_index = state.templates_loader.index_path( - state.templates_path - ) - return state.templates_index.as_dict - - -@router.get("/api/views/{template_name}") -def read_template(template_name: str): - template_name = urllib.parse.unquote(template_name) - if ( - state.templates_index is None - or template_name not in state.templates_index.flat - ): - return { - "error": ( - f"Template {template_name} not found" - " or templates index not initialized" - ) - } - base = state.templates_index.flat[template_name] - base.compute_instance_list(state.model) - return base - - -@router.get("/api/views/{template_name}/{object_id}") -def render_template(template_name: str, object_id: str): - content = None - object = None - try: - template_name = urllib.parse.unquote(template_name) - if ( - state.templates_index is None - or template_name not in state.templates_index.flat - ): - return {"error": f"Template {template_name} not found"} - base = state.templates_index.flat[template_name] - template_filename = base.template - # load the template file from the templates folder - content = (state.templates_path / template_filename).read_text( - encoding="utf8" - ) - except Exception as e: - error_message = markupsafe.Markup( - "

Template not found: {}

" - ).format(str(e)) - return fastapi.responses.HTMLResponse(content=error_message) - if object_id == "render": - object = None - else: - try: - object = state.model.by_uuid(object_id) - except Exception as e: - error_message = markupsafe.Markup( - "

Requested object not found: {}

" - ).format(str(e)) - return fastapi.responses.HTMLResponse(content=error_message) - return _render_instance_page(content, base, object) - - -# NOTE: Next endpoint (catch-all route) must be located after all other routes! -@router.get("/{rest_of_path:path}") -async def catch_all(request: fastapi.Request, rest_of_path: str): - del rest_of_path - return state.templates.TemplateResponse("index.html", {"request": request}) - - -app.include_router(router) diff --git a/capella_model_explorer/backend/model_diff.py b/capella_model_explorer/backend/model_diff.py deleted file mode 100644 index 490bdd2..0000000 --- a/capella_model_explorer/backend/model_diff.py +++ /dev/null @@ -1,478 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -import datetime -import enum -import logging -import pathlib -import subprocess -import typing as t - -import capellambse -import capellambse.model as m -import diff_match_patch -import typing_extensions as te -from capellambse.filehandler import git, local - -logger = logging.getLogger(__name__) -NUM_COMMITS = "20" - - -class RevisionInfo(te.TypedDict, total=False): - hash: te.Required[str] - """The revision hash.""" - revision: str - """The original revision passed to the diff tool.""" - author: str - """The author of the revision, in "Name " format.""" - date: datetime.datetime - """The time and date of the revision.""" - description: str - """The description of the revision, i.e. the commit message.""" - subject: str - """The subject of the commit.""" - tag: str | None - """The tag of the commit.""" - - -class Metadata(te.TypedDict): - model: dict[str, t.Any] - """The 'modelinfo' used to load the models, sans the revision key.""" - new_revision: RevisionInfo - old_revision: RevisionInfo - - -class BaseObject(te.TypedDict): - uuid: str - display_name: str - """Name for displaying in the frontend. - - This is usually the ``name`` attribute of the "current" version of - the object. - """ - - -class FullObject(BaseObject, te.TypedDict): - attributes: dict[str, t.Any] - """All attributes that the object has (or had).""" - - -class ChangedAttribute(te.TypedDict): - previous: t.Any - """The old value of the attribute.""" - current: t.Any - """The new value of the attribute.""" - - -class ChangedObject(BaseObject, te.TypedDict): - attributes: dict[str, ChangedAttribute] - """The attributes that were changed.""" - - -class ObjectChange(te.TypedDict, total=False): - created: list[FullObject] - """Contains objects that were created.""" - deleted: list[FullObject] - """Contains objects that were deleted.""" - modified: list[ChangedObject] - - -ObjectLayer: te.TypeAlias = "dict[str, ObjectChange]" - - -class ObjectChanges(te.TypedDict, total=False): - oa: ObjectLayer - """Changes to objects from the OperationalAnalysis layer.""" - sa: ObjectLayer - """Changes to objects from the SystemAnalysis layer.""" - la: ObjectLayer - """Changes to objects from the LogicalAnalysis layer.""" - pa: ObjectLayer - """Changes to objects from the PhysicalAnalysis layer.""" - epbs: ObjectLayer - """Changes to objects from the EPBS layer.""" - - -class ChangeSummaryDocument(te.TypedDict): - metadata: Metadata - objects: ObjectChanges - - -def init_model(model: capellambse.MelodyModel) -> str | None: - """Initialize the model and return the path if it's a git repository.""" - file_handler = model.resources["\x00"] - path = file_handler.path - - if isinstance(file_handler, git.GitFileHandler): - path = file_handler.cache_dir - elif ( - isinstance(file_handler, local.LocalFileHandler) - and file_handler.rootdir.joinpath(".git").is_dir() - ): - pass - else: - return None - return str(path) - - -def populate_commits(model: capellambse.MelodyModel): - path = init_model(model) - if not path: - return path - return get_commit_hashes(path) - - -def _serialize_obj(obj: t.Any) -> t.Any: - if isinstance(obj, m.ModelElement): - return {"uuid": obj.uuid, "display_name": _get_name(obj)} - if isinstance(obj, m.ElementList): - return [{"uuid": i.uuid, "display_name": _get_name(i)} for i in obj] - if isinstance(obj, enum.Enum | enum.Flag): - return obj.name - return obj - - -def get_diff_data(model: capellambse.MelodyModel, head: str, prev: str): - path = init_model(model) - if not path: - return None - path = str(pathlib.Path(path).resolve()) - old_model = capellambse.MelodyModel(path=f"git+{path}", revision=prev) - - metadata: Metadata = { - "model": {"path": path, "entrypoint": None}, - "old_revision": _get_revision_info(path, prev), - "new_revision": _get_revision_info(path, head), - } - - objects = compare_models(old_model, model) - diff_data: ChangeSummaryDocument = { - "metadata": metadata, - "objects": objects, - } - return _traverse_and_diff(diff_data) - - -def _get_revision_info( - repo_path: str, - revision: str, -) -> RevisionInfo: - """Return the revision info of the given model.""" - author, date_str, description = ( - subprocess.check_output( - ["git", "log", "-1", "--format=%aN%x00%aI%x00%B", revision], - cwd=repo_path, - encoding="utf-8", - ) - .strip() - .split("\x00") - ) - subject = description.splitlines()[0] if description.splitlines() else "" - try: - tag = subprocess.check_output( - ["git", "tag", "--points-at", revision], - cwd=repo_path, - encoding="utf-8", - stderr=subprocess.DEVNULL, - ).strip() - except subprocess.CalledProcessError: - tag = None - - return { - "hash": revision, - "revision": revision, - "author": author, - "date": datetime.datetime.fromisoformat(date_str), - "description": description.rstrip(), - "subject": subject, - "tag": tag if tag else None, - } - - -def get_commit_hashes(path: str) -> list[RevisionInfo]: - """Return the commit hashes of the given model.""" - commit_hashes = subprocess.check_output( - ["git", "log", "-n", NUM_COMMITS, "--format=%H"], - cwd=path, - encoding="utf-8", - ).splitlines() - return [_get_revision_info(path, c) for c in commit_hashes] - - -def _get_name(obj: m.ModelObject) -> str: - """Return the object's name. - - If the object doesn't own a name, its type is returned instead. - """ - return getattr(obj, "name", None) or f"[{type(obj).__name__}]" - - -def compare_models( - old: capellambse.MelodyModel, - new: capellambse.MelodyModel, -): - """Compare all elements in the given models.""" - changes = {} - for layer in ( - "oa", - "sa", - "la", - "pa", - ): - layer_old = getattr(old, layer) - layer_new = getattr(new, layer) - changes[layer] = compare_objects(layer_old, layer_new, old) - return changes - - -def compare_objects( - old_object: capellambse.ModelObject | None, - new_object: capellambse.ModelObject, - old_model: capellambse.MelodyModel, -): - assert old_object is None or type(old_object) is type(new_object), ( - f"{type(old_object).__name__} != {type(new_object).__name__}" - ) - - attributes: dict[str, ChangedAttribute] = {} - children: dict[str, t.Any] = {} - for attr in dir(type(new_object)): - acc = getattr(type(new_object), attr, None) - if isinstance(acc, m.BasePOD): - _handle_pod(attr, old_object, new_object, attributes) - elif isinstance( - acc, m.AttrProxyAccessor | m.LinkAccessor | m.ParentAccessor - ): - _handle_accessors(attr, old_object, new_object, attributes) - elif ( - # pylint: disable=unidiomatic-typecheck - type(acc) is m.RoleTagAccessor - or (type(acc) is m.DirectProxyAccessor and not acc.rootelem) - ): - _handle_direct_accessors( - attr, old_object, new_object, children, old_model - ) - - if attributes or children or old_object is None: - return { - "display_name": _get_name(new_object), - "uuid": getattr(new_object, "uuid", None), - "change": "created" if old_object is None else "modified", - "attributes": attributes, - "children": children, - } - return {} - - -def _handle_pod(attr, old_object, new_object, attributes): - if attr != "uuid": - try: - old_value = getattr(old_object, attr, None) - new_value = getattr(new_object, attr, None) - if old_value != new_value: - attributes[attr] = { - "previous": _serialize_obj(old_value), - "current": _serialize_obj(new_value), - } - except Exception as e: - print(f"Failed to process attribute '{attr}': {e}") - else: - pass - - -def _handle_accessors(attr, old_object, new_object, attributes): - old_value = getattr(old_object, attr, None) - new_value = getattr(new_object, attr, None) - if isinstance(old_value, m.ModelElement | type(None)) and isinstance( - new_value, m.ModelElement | type(None) - ): - if old_value is new_value is None: - pass - elif old_value is None: - attributes[attr] = { - "previous": None, - "current": _serialize_obj(new_value), - } - elif new_value is None: - attributes[attr] = { - "previous": _serialize_obj(old_value), - "current": None, - } - elif old_value.uuid != new_value.uuid: - attributes[attr] = { - "previous": _serialize_obj(old_value), - "current": _serialize_obj(new_value), - } - elif isinstance(old_value, m.ElementList | type(None)) and isinstance( - new_value, m.ElementList - ): - old_value = old_value or [] - if [i.uuid for i in old_value] != [i.uuid for i in new_value]: - attributes[attr] = { - "previous": _serialize_obj(old_value), - "current": _serialize_obj(new_value), - } - else: - raise RuntimeError( - f"Type mismatched between new value and old value:" - f" {type(old_value)} != {type(new_value)}" - ) - - -def _handle_direct_accessors( - attr, old_object, new_object, children, old_model -): - old_value = getattr(old_object, attr, None) - new_value = getattr(new_object, attr, None) - if isinstance(old_value, m.ModelElement | type(None)) and isinstance( - new_value, m.ModelElement | type(None) - ): - if old_value is new_value is None: - pass - elif old_value is None: - assert new_value is not None - children[new_value.uuid] = compare_objects( - None, new_value, old_model - ) - elif new_value is None: - children[old_value.uuid] = { - "display_name": _get_name(old_value), - "change": "deleted", - } - elif old_value.uuid == new_value.uuid: - result = compare_objects(old_value, new_value, old_model) - if result: - children[new_value.uuid] = result - else: - children[old_value.uuid] = { - "display_name": _get_name(old_value), - "change": "deleted", - } - children[new_value.uuid] = compare_objects( - None, new_value, old_model - ) - elif isinstance(old_value, m.ElementList | type(None)) and isinstance( - new_value, m.ElementList - ): - old_value = old_value or [] - for item in new_value: - try: - old_item = old_model.by_uuid(item.uuid) - except KeyError: - old_item = None - if old_item is None: - children[item.uuid] = compare_objects(None, item, old_model) - else: - result = compare_objects(old_item, item, old_model) - if result: - children[item.uuid] = result - - for item in old_value: - try: - new_object._model.by_uuid(item.uuid) - except KeyError: - children[item.uuid] = { - "display_name": _get_name(item), - "change": "deleted", - } - - -def _traverse_and_diff(data) -> dict[str, t.Any]: - """Traverse the data and perform diff on text fields. - - This function recursively traverses the data and performs an HTML - diff on every "name" and "description" field that has child keys - "previous" and "current". The result is stored in a new child key - "diff". - """ - updates = {} - for key, value in data.items(): - if ( - isinstance(value, dict) - and "previous" in value - and "current" in value - ): - curr_type = type(value["current"]) - if curr_type is str: - diff = _diff_text( - (value["previous"] or "").splitlines(), - value["current"].splitlines(), - ) - updates[key] = {"diff": diff} - elif curr_type is dict: - diff = _diff_objects(value["previous"], value["current"]) - updates[key] = {"diff": diff} - elif curr_type is list: - diff = _diff_lists(value["previous"], value["current"]) - updates[key] = {"diff": diff} - elif key == "description": - prev, curr = _diff_description( - (value["previous"] or "").splitlines(), - value["current"].splitlines(), - ) - if prev is curr is None: - continue - updates[key] = {"diff": ""} - value.update({"previous": prev, "current": curr}) - elif isinstance(value, list): - for item in value: - _traverse_and_diff(item) - elif isinstance(value, dict): - _traverse_and_diff(value) - for key, value in updates.items(): - data[key].update(value) - return data - - -def _diff_text(previous, current) -> str: - dmp = diff_match_patch.diff_match_patch() - diff = dmp.diff_main("\n".join(previous), "\n".join(current)) - dmp.diff_cleanupSemantic(diff) - return dmp.diff_prettyHtml(diff) - - -def _diff_objects(previous, current) -> str: - return ( - f"{previous['display_name']} → " if previous else "" - ) + f"{current['display_name']}" - - -def _diff_lists(previous, current): - out = {} - previous = {item["uuid"]: item for item in previous} - for item in current: - if item["uuid"] not in previous: - out[item["uuid"]] = f"{item['display_name']}" - elif item["uuid"] in previous: - if item["display_name"] != previous[item["uuid"]]["display_name"]: - out[item["uuid"]] = ( - f"{_diff_objects(previous[item['uuid']], item)}" - ) - else: - out[item["uuid"]] = f"{item['display_name']}" - current = {item["uuid"]: item for item in current} - for uuid in previous: - if uuid not in current: - out[uuid] = f"{previous[uuid]['display_name']}" - return out - - -def _diff_description( - previous, current -) -> tuple[str, str] | tuple[None, None]: - if previous is current is None: - return None, None - dmp = diff_match_patch.diff_match_patch() - diff = dmp.diff_main("\n".join(previous), "\n".join(current)) - dmp.diff_cleanupSemantic(diff) - previous_result = "" - current_result = "" - for operation, text in diff: - if operation == 0: - previous_result += text - current_result += text - elif operation == -1: - previous_result += f"{text}" - elif operation == 1: - current_result += f"{text}" - return previous_result, current_result diff --git a/capella_model_explorer/backend/state.py b/capella_model_explorer/backend/state.py deleted file mode 100644 index 4bc2cb4..0000000 --- a/capella_model_explorer/backend/state.py +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -from __future__ import annotations - -import os -import pathlib -import time -import typing as t - -import prometheus_client - -if t.TYPE_CHECKING: - import capellambse - import fastapi.templating - import jinja2 - - import capella_model_explorer.backend.templates - -diff: dict = {} -idle_time_gauge = prometheus_client.Gauge( - "idletime_minutes", - "Time in minutes since the last user interaction", -) -jinja_env: jinja2.Environment -last_interaction = time.time() -model: capellambse.MelodyModel -object_diff: dict = {} -templates: fastapi.templating.Jinja2Templates -templates_loader: capella_model_explorer.backend.templates.TemplateLoader -templates_index: ( - capella_model_explorer.backend.templates.TemplateCategories | None -) -templates_path = pathlib.Path(os.getenv("TEMPLATES_DIR", "templates")) diff --git a/capella_model_explorer/backend/templates.py b/capella_model_explorer/backend/templates.py deleted file mode 100644 index ca8fecd..0000000 --- a/capella_model_explorer/backend/templates.py +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -import operator -import traceback -from pathlib import Path -from typing import Any - -import capellambse -import capellambse.model as m -import yaml -from pydantic import BaseModel, Field - - -def simple_object(obj) -> dict[str, Any]: - if not obj: - return {} - if obj.name: - name = obj.name - else: - name = obj.long_name if hasattr(obj, "long_name") else "undefined" - - return {"idx": obj.uuid, "name": str(name)} - - -def find_objects(model, obj_type=None, below=None, attr=None, filters=None): - if attr: - getter = operator.attrgetter(attr) - objects = getter(model) - if hasattr(objects, "_element"): - objects = [objects] - elif not isinstance(objects, m.ElementList): - raise ValueError( - f"Expected a list of model objects or a single model object" - f" for {attr!r} of the model, got {objects!r}" - ) - elif below and obj_type: - getter = operator.attrgetter(below) - objects = model.search(obj_type, below=getter(model)) - elif obj_type: - objects = model.search(obj_type) - else: - raise ValueError("No search criteria provided") - - if filters: - filtered = [] - for object in objects: - for attr_key, filter in filters.items(): - attr = getattr(object, attr_key) - if filter == "not_empty": - if attr: - filtered.append(object) - elif attr == filter: - filtered.append(object) - objects = filtered - return objects - - -class InstanceDetails(BaseModel): - idx: str = Field(..., title="Instance Identifier") - name: str = Field(..., title="Instance Name") - - -class TemplateScope(BaseModel): - type: str | None = Field(None, title="Model Element Type") - below: str | None = Field( - None, title="Model element to search below, scope limiter" - ) - filters: dict[str, Any] | None = Field( - {}, title="Filters to apply to the search" - ) - - -class Template(BaseModel): - idx: str = Field(..., title="Template Identifier") - name: str = Field(..., title="Template Name") - template: Path = Field(..., title="Template File Path") - description: str = Field(..., title="Template Description") - - scope: TemplateScope | None = Field( - default_factory=dict, title="Template Scope" - ) - single: bool | None = Field(None, title="Single Instance Flag") - isStable: bool | None = Field(None, title="Stable Template Flag") - isDocument: bool | None = Field(None, title="Document Template Flag") - isExperimental: bool | None = Field( - None, title="Experimental Template Flag" - ) - error: str | None = Field(None, title="Broken Template Flag") - traceback: str | None = Field(None, title="Template Error Traceback") - instanceCount: int | None = Field(None, title="Number of Instances") - instanceList: list[dict] | None = Field(None, title="List of Instances") - - def find_instances(self, model: capellambse.MelodyModel): - if self.single: - return [ - None, - ] - try: - if self.scope is not None: - return find_objects( - model, - obj_type=self.scope.type, - below=self.scope.below, - attr=None, - filters=self.scope.filters, - ) - return [] - except Exception as e: - self.error = f"Template scope error: {e}" - self.traceback = traceback.format_exc() - return [] - - def compute_instance_count(self, model: capellambse.MelodyModel): - self.instanceCount = len(self.find_instances(model)) - - def compute_instance_list(self, model: capellambse.MelodyModel): - self.instanceList = [ - simple_object(obj) for obj in self.find_instances(model) - ] - - -class TemplateCategory(BaseModel): - idx: str = Field(..., title="Category Identifier") - templates: list[Template] = Field( - default_factory=list, title="Templates in this category" - ) - - def __add__(self, other): - if not isinstance(other, TemplateCategory): - return NotImplemented - return TemplateCategory( - idx=self.idx, templates=self.templates + other.templates - ) - - -class TemplateCategories(BaseModel): - categories: list[TemplateCategory] = Field( - default_factory=list, title="Template Categories" - ) - - def __getitem__(self, category_id: str): - results = [cat for cat in self.categories if cat.idx == category_id] - return results[0] if results else None - - def __add__(self, other): - if not isinstance(other, TemplateCategories): - return NotImplemented - for category in other.categories: - category_id = category.idx - if category_id in [cat.idx for cat in self.categories]: - for template in other[category_id].templates: - if template.idx not in [ - t.idx for t in self[category_id].templates - ]: - self[category_id].templates.append(template) - else: - self.categories.append( - TemplateCategory( - idx=category_id, templates=category.templates - ) - ) - return self - - def __len__(self): - return len(self.categories) - - @property - def as_dict(self): - return { - category.idx: category.templates for category in self.categories - } - - @property - def flat(self): - return { - template.idx: template - for category in self.categories - for template in category.templates - } - - -class TemplateLoader: - def __init__(self, model: capellambse.MelodyModel) -> None: - self.model = model - self.templates = TemplateCategories() - - def index_path(self, path: Path) -> TemplateCategories: - self.templates = TemplateCategories() # reset templates - for template_file in path.glob("**/*.yaml"): - templates_data = yaml.safe_load( - template_file.read_text(encoding="utf8") - ) - if "categories" in templates_data: - self.templates += TemplateCategories(**templates_data) - for cat in self.templates.categories: - for template in cat.templates: - template.compute_instance_count(self.model) - - return self.templates diff --git a/capella_model_explorer/components.py b/capella_model_explorer/components.py new file mode 100644 index 0000000..9990dcd --- /dev/null +++ b/capella_model_explorer/components.py @@ -0,0 +1,625 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import typing as t + +from fasthtml import common as fh +from fasthtml import ft, svg + +from capella_model_explorer import core, icons, main, state, types + + +def application_shell( + content: ft.Div, + align: t.Literal["left", "center", "right"] = "center", +) -> tuple[ft.Title, ft.Main]: + return ( + ft.Title(f"{state.model.name} - Model Explorer"), + ft.Main( + page_header(), + content, + # placeholder for script injection per outerHTML swap + ft.Script(id="script"), + id="root", + cls=( + "bg-slate-100", + "dark:bg-neutral-900", + "flex", + "flex-col", + "h-screen", + "min-h-screen", + f"place-items-{align}", + ), + ), + ) + + +def breadcrumb(breadcrumb: state.Breadcrumb) -> ft.Li: + return ( + ft.Li( + ft.Div( + svg.Svg( + svg.Path(d="M.293 0l22 22-22 22h1.414l22-22-22-22H.293z"), + viewbox="0 0 24 44", + preserveaspectratio="none", + aria_hidden="true", + cls="h-full w-6 stroke-1 stroke-blue-400 dark:stroke-neutral-700", + ), + ft.A( + breadcrumb.label, + href=breadcrumb.url, + cls=( + "dark:hover:text-neutral-100", + "dark:text-blue-500", + "font-medium", + "hover:text-blue-900", + "ml-4", + "text-neutral-200", + "text-sm", + ), + ), + cls="flex items-center", + ), + cls="flex", + ), + ) + + +def breadcrumbs( + *, + template: types.Template | None = None, + model_element_uuid: str = "", + oob: bool = False, +) -> ft.Nav: + breadcrumbs = [] + if template: + if not template.single: + breadcrumbs = [ + state.Breadcrumb( + label=template.name, + url=main.app.url_path_for( + "template_page", template_id=template.id + ), + ), + ] + if model_element_uuid: + model_element = state.model.by_uuid(model_element_uuid) + if model_element: + breadcrumbs.append( + state.Breadcrumb( + label=model_element.name, + url=main.app.url_path_for( + "template_page", + template_id=template.id, + model_element_uuid=model_element_uuid, + ), + ) + ) + + home_item = ( + ft.Li( + ft.Div( + ft.A( + icons.home(), + ft.Span("Home", cls="sr-only"), + href=main.app.url_path_for("main_home"), + ), + cls="flex items-center", + ), + cls="flex", + ), + ) + breadcrumb_items_ = [home_item] + if breadcrumbs: + breadcrumb_items_.extend([breadcrumb(b) for b in breadcrumbs]) + return ft.Nav( + ft.Ol( + *breadcrumb_items_, + role="list", + cls="flex space-x-4 rounded-md px-6", + ), + id="breadcrumbs", + aria_label="Breadcrumb", + cls="flex", + **({"hx_swap_oob": "true"} if oob else {}), + ) + + +def model_information() -> ft.Div: + """Render the model information including the badge.""" + return ft.Div( + ft.H1(state.model.name, cls="text-xl"), + ft.P( + f"Capella version: {state.model.info.capella_version}", + ), + ft.Div( + fh.NotStr(state.model.description_badge), + ), + cls=( + "bg-white", + "dark:bg-neutral-800", + "dark:shadow-none", + "dark:text-neutral-400", + "flex", + "flex-col", + "max-w-min", + "m-2", + "mt-4", + "p-4", + "place-items-center", + "rounded-lg", + "shadow-blue-300", + "shadow-lg", + "svg-display", + "text-center", + "text-gray-700", + ), + ) + + +def model_object_button( + *, template: types.Template, model_element: dict, selected: bool = False +) -> ft.A: + return ft.A( + ft.Div(model_element["name"]), + ft.Div(model_element["uuid"], cls="text-xs text-sky-700") + if state.show_uuids + else None, + id=f"model-element-{model_element['uuid']}", + aria_selected="true" if selected else "false", + cls=( + "aria-selected:bg-blue-500", + "aria-selected:dark:hover:bg-blue-500", + "aria-selected:dark:text-white", + "aria-selected:hover:bg-blue-500", + "aria-selected:text-white", + "bg-slate-200", + "break-words", + "cursor-pointer", + "dark:bg-neutral-800", + "dark:hover:bg-neutral-700", + "dark:text-neutral-400", + "duration-300", + "flex", + "flex-col", + "hover:bg-slate-100", + "hover:scale-[1.02]", + "model_object_btn", + "p-4", + "place-items-left", + "rounded-md", + "shadow-sm", + "text-left", + "transition", + "w-full", + ), + hx_trigger="click", + hx_get=main.app.url_path_for( + "render_template", + template_id=template.id, + model_element_uuid=model_element["uuid"], + ), + hx_push_url=main.app.url_path_for( + "template_page", + template_id=template.id, + model_element_uuid=model_element["uuid"], + ), + hx_swap="outerHTML", + hx_target="#template_container", + ) + + +def model_elements_list( + *, + template: types.Template, + selected_model_element_uuid: str = "", + search: str = "", +) -> ft.Div: + model_elements = [ + obj + for obj in sorted(template.instances, key=lambda x: x["name"]) + if not search or search.lower() in obj["name"].lower() + ] + return ft.Div( + ft.Div( + *[ + model_object_button( + template=template, + model_element=model_element, + selected=model_element["uuid"] + == selected_model_element_uuid, + ) + for model_element in model_elements + ], + cls="flex flex-col space-y-4 px-2 my-2", + ), + ft.Script(core.jsfromfile("static/js/model_object_list.js")), + id="model_object_list", + cls="overflow-auto max-h-[calc(100vh-20rem)]", + ) + + +def page_header() -> ft.Nav: + return ft.Nav( + breadcrumbs(), + ft.Button( + icons.printer(), + onclick="window.print();", + id="print-button", + cls="hidden", + title="Print report", + ), + id="page-header", + cls=( + "bg-blue-500", + "dark:bg-neutral-800", + "dark:border-b", + "dark:border-neutral-700", + "flex", + "h-12", + "justify-between", + "min-h-12", + "max-h-12", + "px-4", + "py-0", + "print:hidden", + "sticky", + "top-0", + "w-full", + # ensure that SVGs in rendered reports won't overlap in + # dark mode due to CSS filters + "z-50", + ), + ) + + +def reports_page() -> ft.Div: + template_category_views = [ + template_category(t) for t in state.template_categories + ] + return ft.Div( + *template_category_views, + id="index", + cls=( + "bg-white", + "dark:bg-neutral-800", + "dark:shadow-none", + "flex", + "flex-col", + "m-2", + "p-4", + "place-items-center", + "rounded-lg", + "shadow-blue-300", + "shadow-lg", + "space-y-16", + ), + ) + + +def search_field(template: types.Template, search: str) -> ft.Div: + search_field_threshold = 3 + return ft.Div( + ft.Input( + icons.magnifying_glass(), + type="search", + id="instance-search", + name="search", + placeholder="Search", + value=search, + cls=( + "-outline-offset-1", + "bg-white", + "block", + "col-start-1", + "dark:bg-neutral-800", + "dark:focus:outline-white", + "dark:text-neutral-400", + "focus:-outline-offset-2", + "focus:outline-2", + "focus:outline-blue-500", + "grow", + "mx-2", + "outline", + "outline-1", + "outline-gray-300", + "pl-8", + "placeholder:text-gray-400", + "pr-3", + "py-1.5", + "rounded-md", + "row-start-1", + "text-gray-900", + ), + hx_trigger="input changed delay:20ms, search", + # the input has the name "search". This is why a request + hx_get=main.model_object_list.to( + template_id=template.id, + selected_model_element_uuid="", + search=search, + ), + hx_swap="outerHTML", + hx_target="#model_object_list", + autofocus="true", + ), + cls=( + "hidden" + if template.instance_count <= search_field_threshold + else "", + "grid", + "grid-cols-1", + ), + ) + + +def template_card(template: types.Template) -> ft.A: + url = main.app.url_path_for("template_page", template_id=template.id) + return ft.A( + ft.Div( + ft.Div( + template.name, + cls="text-gray-900 dark:text-neutral-400 text-2xl", + ), + ft.Div( + icons.file_stack() + if template.instance_count > 1 + else icons.report(), + ft.Span( + template.instance_count, + cls="hidden" if template.instance_count <= 1 else "block", + ), + cls=( + "dark:text-neutral-400", + "flex", + "flex-row", + "items-top", + "pt-2", + "space-x-2", + ), + ), + cls="flex flex-row justify-between", + ), + ft.P( + template.description, + cls=( + "dark:text-neutral-400", + "py-4", + "text-gray-700", + "text-left", + ), + ), + ft.Div( + ft.Div( + icons.badge_experimental(), + ft.P("Experimental"), + cls="hidden" + if not template.isExperimental + else ( + "bg-yellow-100", + "border", + "border-yellow-800", + "dark:border-yellow-600", + "dark:bg-yellow-900", + "dark:text-yellow-600", + "flex", + "flex-row", + "font-medium", + "me-2", + "px-2.5", + "py-1", + "py-1", + "rounded-full", + "space-x-2", + "text-xs", + "text-yellow-800", + ), + ), + ft.Div( + icons.badge_stable(), + ft.P("Stable"), + cls="hidden" + if not template.isStable + else ( + "bg-green-100", + "border", + "border-green-800", + "dark:bg-green-700", + "dark:border-green-500", + "dark:text-green-500", + "flex", + "flex-row", + "font-medium", + "me-2", + "px-2.5", + "py-1", + "py-1", + "rounded-full", + "space-x-2", + "text-green-800", + "text-xs", + ), + ), + ft.Div( + icons.badge_document(), + ft.P("Document"), + cls="hidden" + if not template.isDocument + else ( + "bg-blue-200", + "border", + "border-blue-800", + "dark:bg-blue-700", + "dark:border-blue-400", + "dark:text-blue-400", + "flex", + "flex-row", + "font-medium", + "me-2", + "px-2.5", + "py-1", + "rounded-full", + "space-x-2", + "text-blue-800", + "text-xs", + ), + ), + cls="hidden" + if not template.isDocument + and not template.isExperimental + and not template.isStable + else "flex flex-row pt-4", + ), + cls=( + "active:border-blue-600", + "bg-slate-200", + "dark:bg-neutral-900", + "dark:hover:bg-neutral-700", + "duration-300", + "flex", + "flex-col", + "hover:bg-slate-100", + "hover:cursor-pointer", + "hover:scale-105", + "m-4", + "p-4", + "rounded-lg", + "shadow-2xl", + "transition", + "w-80", + ), + href=url, + hx_get=url, + hx_swap="outerHTML", + hx_target="#root", + hx_push_url="true", + ) + + +def template_category( + template_category: types.TemplateCategory, +) -> ft.Div: + return ft.Div( + ft.P( + f"{template_category.idx} Reports", + cls=( + "border-b", + "border-gray-900", + "dark:border-neutral-700", + "dark:text-neutral-400", + "font-semibold", + "pb-2", + "text-2xl", + "text-center", + ), + ), + ft.Div( + *[ + template_card(template) + for template in template_category.templates + ], + cls=( + "2xl:grid-cols-4", + "auto-rows-auto", + "content-around", + "grid", + "grid-flow-row", + "pt-4", + ( + " sm:grid-cols-1" + " md:grid-cols-1" + " lg:grid-cols-2" + " xl:grid-cols-3" + ), + ), + ), + id="template-category", + cls="rounded-lg w-full my-2 mx-auto justify-center", + ) + + +def template_container(content: t.Any) -> ft.Div: + return ft.Div( + content, + id="template_container", + cls=( + "bg-white", + "dark:bg-neutral-800", + "dark:border-l", + "dark:border-neutral-700", + "dark:shadow-neutral-700", + "html-content", # copied from v0.2.3 + "items-center", + "justify-center", + "ml-96", + "overflow-x-auto", + "p-4", + "print:bg-white", + "print:m-0", + "print:ml-6", + "print:p-0", + "svg-display", # copied from v0.2.3 + "template-container", + "w-full", + ), + ) + + +def template_placeholder() -> ft.Span: + return ft.Span( + "Select a model element.", + cls="text-slate-600 dark:text-slate-500 p-4 italic", + ) + + +def template_sidebar( + *, + template: types.Template, + selected_model_element_uuid: str = "", + search: str = "", +) -> ft.Div: + sidebar_caption = ( + ft.Div( + ft.H1( + template.name, + cls="text-xl text-gray-700 dark:text-neutral-400", + ), + ft.H2( + template.description, + cls="text-sm text-gray-900 dark:text-neutral-400", + ), + cls="mx-2", + ), + ) + return ft.Div( + sidebar_caption, + search_field(template, search=search), + model_elements_list( + template=template, + selected_model_element_uuid=selected_model_element_uuid, + search=search, + ), + cls=( + "dark:bg-neutral-900", + "flex", + "flex-col", + "rounded-lg", + "space-y-4", + ), + ) + + +def theme_button(theme: t.Literal["dark", "light"]) -> ft.Button: + return ft.Button( + icons.dark_theme() if theme == "dark" else icons.light_theme(), + id="theme-button", + cls=( + "bg-slate-200", + "h-10", + "hover:bg-slate-100", + "place-content-center", + "place-items-center", + "rounded-full", + "w-10", + ), + onclick="toggleTheme()", + ) diff --git a/capella_model_explorer/constants.py b/capella_model_explorer/constants.py new file mode 100644 index 0000000..7f5d020 --- /dev/null +++ b/capella_model_explorer/constants.py @@ -0,0 +1,98 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import dataclasses +import pathlib +import typing as t + +import fasthtml.starlette +from fasthtml import common as fh +from fasthtml import ft + +import capella_model_explorer as cme +from capella_model_explorer import core + +CONFIG = fasthtml.starlette.Config(env_prefix="CME_") + + +@dataclasses.dataclass +class Defaults: + docker_image_name: t.Final[str] = ( + f"capella-model-explorer:{cme.__version__}" + ) + host: t.Final[str] = "0.0.0.0" + live_mode: bool = True + model: t.Final[str] = ( + "git+https://github.com/DSD-DBS/Capella-IFE-sample.git" + ) + port: t.Final[int] = 8000 + route_prefix: t.Final[str] = "" + templates_dir: t.Final[pathlib.Path] = pathlib.Path("templates") + + +DOCKER_IMAGE_NAME: str = CONFIG( + "DOCKER_IMAGE_NAME", default=Defaults.docker_image_name +) +HOST: str = CONFIG("HOST", default=Defaults.host) +MODEL: str = CONFIG("MODEL", default=Defaults.model) +PORT: int = CONFIG("PORT", cast=int, default=Defaults.port) + +LIVE_MODE: t.Final[bool] = CONFIG( + "LIVE_MODE", cast=bool, default=Defaults.live_mode +) + +ROUTE_PREFIX: t.Final[str] = CONFIG( + "ROUTE_PREFIX", default=Defaults.route_prefix +) +TEMPLATES_DIR: t.Final[pathlib.Path] = CONFIG( + "TEMPLATES_DIR", + cast=pathlib.Path, + default=Defaults.templates_dir.resolve(), +).resolve() + +favicon_path = "static/favicon.ico" +favicon_hash = core.compute_file_hash(favicon_path) + +diagramViewer_path = "static/js/diagramViewer.js" +diagramViewer_hash = core.compute_file_hash(diagramViewer_path) + +theme_path = "static/js/theme.js" +theme_hash = core.compute_file_hash(theme_path) + +HEADERS: t.Final[list[fh.Link | ft.Script]] = [ + fh.HighlightJS(langs=["python"]), + fh.Link( + rel="stylesheet", + href=f"{ROUTE_PREFIX}/static/css/main-{cme.__version__}.min.css", + type="text/css", + ), + fh.Link( + rel="icon", + href=f"{ROUTE_PREFIX}/static/favicon.ico?v={favicon_hash}", + type="image/x-icon", + ), + ft.Script( + charset="utf-8", + src=( + f"{ROUTE_PREFIX}/static/js/diagramViewer.js" + f"?v={diagramViewer_hash}", + ), + ), + ft.Script( + charset="utf-8", + src=f"{ROUTE_PREFIX}/static/js/plotly-3.0.0.min.js", + ), + ft.Script( + charset="utf-8", + src=f"{ROUTE_PREFIX}/static/js/theme.js?v={theme_hash}", + ), +] +LOGGING_COLORS = { + "WARNING": "\033[33m", # yellow + "INFO": "\033[32m", # green + "DEBUG": "\033[3;90m", # Italic and dark gray + "CRITICAL": "\033[1;31m", # Bold and red + "ERROR": "\033[31m", # red +} diff --git a/capella_model_explorer/core.py b/capella_model_explorer/core.py new file mode 100644 index 0000000..15fe8f6 --- /dev/null +++ b/capella_model_explorer/core.py @@ -0,0 +1,75 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import hashlib +import logging +import os +import pathlib + +import capellambse.model + +import capella_model_explorer.constants as c + + +def compute_file_hash(file_path: str): + """Compute a hash for the given file.""" + if not pathlib.Path(file_path).exists(): + return "" + hasher = hashlib.md5() + with open(file_path, "rb") as f: + buf = f.read() + hasher.update(buf) + return hasher.hexdigest() + + +def jsfromfile(jsfilepath: os.PathLike | str) -> str: + return pathlib.Path(jsfilepath).read_text(encoding="utf8") + + +def model_id(model: capellambse.model.MelodyModel) -> str: + separator = "~~" + uuid = model.uuid + branch = model.info.resources["\x00"].branch + rev_hash = model.info.resources["\x00"].rev_hash + components = [] + for component in (uuid, branch, rev_hash): + if component: + components.append(component) + return separator.join(components) + + +class ColoredFormatter(logging.Formatter): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def format(self, record): + max_levelname_len = 8 + reset_seq = "\033[0m" + levelname = record.levelname + formatted_level_name = levelname + while len(formatted_level_name) < max_levelname_len: + formatted_level_name += " " + msg = record.msg + + if levelname in c.LOGGING_COLORS: + levelname_color = ( + c.LOGGING_COLORS[levelname] + formatted_level_name + reset_seq + ) + msg_color = c.LOGGING_COLORS[levelname] + msg + reset_seq + else: + levelname_color = levelname + msg_color = msg + + record.levelname = levelname_color + record.msg = msg_color + + return super().format(record) + + +def setup_logging(logger: logging.Logger): + formatter = ColoredFormatter( + "%(asctime)s.%(msecs)03d|%(levelname)-8s | %(message)s", + datefmt="%Y-%m-%d|%H:%M:%S", + ) + for handler in logger.handlers: + handler.setFormatter(formatter) diff --git a/capella_model_explorer/icons.py b/capella_model_explorer/icons.py new file mode 100644 index 0000000..0963fb4 --- /dev/null +++ b/capella_model_explorer/icons.py @@ -0,0 +1,312 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import typing as t + +from fasthtml import svg + + +def github_logo() -> svg.Svg: + return svg.Svg( + svg.Path( + d=( + "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205" + " 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04" + "-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7" + " 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838" + " 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108" + "-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93" + " 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176" + " 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405" + " 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285" + "-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23" + " 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81" + " 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825" + ".57C20.565 22.092 24 17.592 24 12.297c0-6.627" + "-5.373-12-12-12" + ), + ), + width="24", + height="24", + viewBox="0 0 24 24", + fill="currentColor", + cls="hover:animate-spin", + ) + + +def home() -> svg.Svg: + return svg.Svg( + svg.Path(d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"), + svg.Path( + d=( + "M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7" + " 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" + ) + ), + width="24", + height="24", + viewbox="0 0 24 24", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + cls=( + "dark:hover:stroke-neutral-100", + "dark:stroke-blue-500", + "fill-none", + "hover:stroke-blue-900", + "stroke-neutral-200", + ), + ) + + +def badge_document() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + ), + width="16", + height="16", + viewBox="0 0 24 24", + fill="none", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + ) + + +def badge_experimental() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2", + ), + svg.Path( + d="M8.5 2h7", + ), + svg.Path( + d="M7 16h10", + ), + width="16", + height="16", + viewBox="0 0 24 24", + fill="none", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + ) + + +def badge_stable() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + ), + svg.Path( + d="m9 12 2 2 4-4", + ), + width="16", + height="16", + viewBox="0 0 24 24", + fill="none", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + ) + + +def file_stack() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M21 7h-3a2 2 0 0 1-2-2V2", + ), + svg.Path( + d="M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z", + ), + svg.Path( + d="M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15", + ), + svg.Path( + d="M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11", + ), + width="16", + height="16", + viewBox="0 0 24 24", + fill="none", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + ) + + +def lock_icon(state: t.Literal["open", "closed"]) -> svg.Svg: + if state == "open": + d = ( + "M13.5 10.5V6.75a4.5 4.5 0 1 1 9 0v3.75M3.75 21.75h10.5a2.25 2.25" + " 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H3.75a2.25 2.25" + " 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" + ) + else: + d = ( + "M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75" + " 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25" + " 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25" + " 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" + ) + return svg.Svg( + svg.Path( + d=d, + clip_rule="evenodd", + stroke_linecap="round", + stroke_linejoin="round", + ), + viewbox="0 0 24 24", + fill="none", + stroke="currentColor", + cls="size-6 flex-none text-gray-400 stroke-2", + ) + + +def dark_theme() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", + ), + width="24", + height="24", + viewBox="0 0 24 24", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + cls="stroke-blue-500 fill-none", + ) + + +def light_theme() -> svg.Svg: + return svg.Svg( + svg.Circle(cx="12", cy="12", r="4"), + svg.Path(d="M12 2v2"), + svg.Path(d="M12 20v2"), + svg.Path(d="m4.93 4.93 1.41 1.41"), + svg.Path(d="m17.66 17.66 1.41 1.41"), + svg.Path(d="M2 12h2"), + svg.Path(d="M20 12h2"), + svg.Path(d="m6.34 17.66-1.41 1.41"), + svg.Path(d="m19.07 4.93-1.41 1.41"), + width="24", + height="24", + viewBox="0 0 24 24", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + cls="stroke-blue-500 fill-none", + ) + + +def magnifying_glass() -> svg.Svg: + return svg.Svg( + svg.Path( + fill_rule="evenodd", + d=( + "M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7" + " 7 0 1 1 12.452 4.391l3.328 3.329a.75.75 0 1 1-1.06" + " 1.06l-3.329-3.328A7 7 0 0 1 2 9Z" + ), + clip_rule="evenodd", + ), + viewBox="0 0 20 20", + fill="currentColor", + aria_hidden="true", + data_slot="icon", + cls=( + "pointer-events-none col-start-1 row-start-1 ml-3 size-5" + " self-center text-gray-400" + ), + ) + + +def printer() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2", + ), + svg.Path( + d="M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6", + ), + svg.Rect(x="6", y="14", width="12", height="8", rx="1"), + width="24", + height="24", + viewBox="0 0 24 24", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + cls=( + "dark:hover:stroke-neutral-100", + "dark:stroke-blue-500", + "fill-none", + "hover:stroke-blue-900", + "stroke-neutral-200", + ), + ) + + +def report() -> svg.Svg: + return svg.Svg( + svg.Path( + d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", + ), + svg.Path( + d="M14 2v4a2 2 0 0 0 2 2h4", + ), + svg.Path( + d="M10 9H8", + ), + svg.Path( + d="M16 13H8", + ), + svg.Path( + d="M16 17H8", + ), + width="16", + height="16", + viewBox="0 0 24 24", + fill="none", + stroke="currentColor", + stroke_width="2", + stroke_linecap="round", + stroke_linejoin="round", + ) + + +def spinner(scale: float) -> svg.Svg: + size = int(scale * 5) + return svg.Svg( + svg.Circle( + cx="12", + cy="12", + r="10", + stroke_width="4", + cls="opacity-25", + ), + svg.Path( + d=( + "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2" + " 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3" + " 7.938l3-2.647z" + ), + cls=("opacity-75", "fill-blue-500"), + ), + xmlns="http://www.w3.org/2000/svg", + fill="none", + viewbox="0 0 24 24", + cls=( + "mr-3", + "-ml-1", + "animate-spin", + "stroke-blue-500", + f"h-{size} w-{size}", + ), + ) diff --git a/capella_model_explorer/main.py b/capella_model_explorer/main.py new file mode 100644 index 0000000..2cbd3a0 --- /dev/null +++ b/capella_model_explorer/main.py @@ -0,0 +1,316 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import contextlib +import http +import logging +import os +import pathlib +import signal +import tempfile +import threading +import time +import traceback +import typing as t + +import capellambse +import jinja2 +import prometheus_client +import starlette +import starlette.middleware +import starlette.responses +from fasthtml import common as fh +from fasthtml import ft + +import capella_model_explorer.constants as c +from capella_model_explorer import components, core, icons, reports, state + +LOG_LEVEL = "INFO" +ROUTES = [ + fh.Mount(f"{c.ROUTE_PREFIX}/reports", reports.app), +] +logger = logging.getLogger("uvicorn") +logger.setLevel("INFO") +core.setup_logging(logger) + +logger.info("Configuration:") +logger.info("\tRoute prefix: '%s'", c.ROUTE_PREFIX) +logger.info("\tLive mode: %s", c.LIVE_MODE) +logger.info("\tHost: '%s'", c.HOST) +logger.info("\tRoute prefix: '%s'", c.ROUTE_PREFIX) +logger.info("\tCapella model: '%s'", c.MODEL) +logger.info("\tTemplates directory: '%s'", c.TEMPLATES_DIR) + + +def startup() -> None: + logger.info("Waiting for model to load from specification '%s'", c.MODEL) + state.model = capellambse.loadcli(c.MODEL) + state.models = {core.model_id(state.model): state.model} + logger.info("Model load complete.") + logger.info( + "Waiting for templates to load from directory '%s'", c.TEMPLATES_DIR + ) + reports.load_templates() + state.JINJA_ENV = jinja2.Environment( + loader=jinja2.FileSystemLoader(c.TEMPLATES_DIR) + ) + state.JINJA_ENV.finalize = reports._finalize + state.JINJA_ENV.filters["make_href"] = reports._make_href_filter + logger.info("Templates load complete.") + + +@contextlib.asynccontextmanager +async def lifespan(_): + startup() + yield + + +class UpdateLastInteractionTimeMiddleware( + starlette.middleware.base.BaseHTTPMiddleware +): + async def dispatch(self, request, call_next): + if request.url.path not in ("/metrics", "/favicon.ico"): + state.last_interaction = time.time() + return await call_next(request) + + +middleware = [ + starlette.middleware.Middleware(UpdateLastInteractionTimeMiddleware) +] + +if c.LIVE_MODE: + _app_cls = fh.FastHTMLWithLiveReload +else: + _app_cls = fh.FastHTML + + +app = _app_cls( + hdrs=c.HEADERS, + key_fname=pathlib.Path(tempfile.gettempdir()) / ".sesskey", + live=c.LIVE_MODE, + lifespan=lifespan, + middleware=middleware, + pico=False, + routes=ROUTES, +) +ar = fh.APIRouter(prefix=c.ROUTE_PREFIX) +app.static_route_exts(f"{c.ROUTE_PREFIX}/static", "./static") + + +def _delayed_shutdown() -> None: + time.sleep(0.05) + os.kill(os.getpid(), signal.SIGINT) + + +@app.post("/shutdown") +def shutdown() -> t.Any: + if c.LIVE_MODE: + return starlette.responses.Response( + content=( + "Shutdown not supported in live mode." + " Set environment variable CME_LIVE_MODE=0" + " to be able to shut down the server via HTTP request." + ), + status_code=http.HTTPStatus.NOT_IMPLEMENTED, + ) + # delay shutdown to allow response to be sent + thread = threading.Thread(target=_delayed_shutdown) + thread.start() + return starlette.responses.Response( + content="Will shut down server.", + status_code=http.HTTPStatus.ACCEPTED, + ) + + +@app.get("/metrics") +def metrics() -> t.Any: + idle_time_minutes = (time.time() - state.last_interaction) / 60 + state.idle_time_gauge.set(idle_time_minutes) + return fh.Response( + content=prometheus_client.generate_latest(), + media_type="text/plain", + ) + + +@ar.get("/", name="main_home") +def home() -> t.Any: + """Show home/ landing page with all reports in categories.""" + return reports.home() + + +@ar.get("/model-object-list") +def model_object_list( + template_id: str, selected_model_element_uuid: str = "", search: str = "" +) -> t.Any: + """Return (filtered) list of model elements for active template.""" + template = t.cast(reports.Template, reports.template_by_id(template_id)) + return components.model_elements_list( + template=template, + selected_model_element_uuid=selected_model_element_uuid, + search=search, + ) + + +@ar.get("/rendered-report") +def rendered_report(template_id: str, model_element_uuid: str = "") -> t.Any: + """Render and return report. + + Takes the template and model element from the application state and + returns the rendered template. + """ + template = reports.template_by_id(template_id) + model_element = ( + state.model.by_uuid(model_element_uuid) if model_element_uuid else None + ) + template_content = t.cast(reports.Template, template).path.read_text( + encoding="utf8" + ) + jinja_template = state.JINJA_ENV.from_string(template_content) + try: + rendered_template = jinja_template.render( + object=model_element, + model=state.model, + diff_data={}, + object_diff={}, + ) + except Exception: + full_traceback = traceback.format_exc() + print(full_traceback) + return components.template_container( + ft.Div( + ft.Div("Error rendering template:", cls="text-xl"), + fh.Pre( + full_traceback, + cls="text-xs prose dark:prose-invert", + ), + cls="dark:text-neutral-100 grow content-center", + ) + ) + return components.template_container( + ft.Div( + fh.NotStr(rendered_template), + ft.Script( + "document.getElementById('root').classList.remove('h-screen');" + "document.getElementById('print-button').classList.remove('hidden');" + ), + cls="prose svg-display dark:prose-invert", + ) + ) + + +@ar.get("/templates/{template_id}") +@ar.get("/templates/{template_id}/model-elements/{model_element_uuid}") +def template_page(template_id: str, model_element_uuid: str = "") -> t.Any: + template = reports.template_by_id(template_id) + if template is None: + template_path = pathlib.Path(template_id.replace("|", "/")) + return components.application_shell( + ft.Div( + ft.Div("Template not found:", cls="text-xl"), + fh.Code(template_path), + cls="dark:text-neutral-100 grow content-center", + ) + ) + script = "document.getElementById('root').classList.add('h-screen');\n" + if template.single: + # request rendering of template w/o specific model element + ctxt = "{swap:'outerHTML', target:'#template_container'}" + url = render_template.to( + template_id=template.id, model_element_uuid="" + ) + if model_element_uuid: + # request rendering of template with specified model element + url = app.url_path_for( + "render_template", + template_id=template.id, + model_element_uuid=model_element_uuid, + ) + script += f"htmx.ajax('GET', '{url}', {ctxt});" + if ( + not model_element_uuid + and not template.single + and template.instance_count == 1 + ): + # when there is only one element in the model element, select it + model_element_uuid = template.instances[0]["uuid"] + if not template.single: + script += core.jsfromfile( + "static/js/select-model-element-by-uuid.js" + ).replace("{uuid}", model_element_uuid) + page_content = ft.Div( + ft.Div( + components.template_sidebar( + template=template, + selected_model_element_uuid=model_element_uuid, + ), + id="template-sidebar", + cls="fixed min-w-96 w-96 p-4 print:hidden", + ), + ft.Div( + components.template_placeholder(), + id="template_container", + cls=( + "bg-white", + "border", + "border-gray-200", + "dark:bg-neutral-800", + "dark:border-neutral-700", + "dark:shadow-neutral-700", + "dark:shadow-md", + "flex", + "grow", + "m-4", + "ml-96", + "rounded-lg", + "items-center", + "justify-center", + "shadow-blue-300", + "shadow-md", + ), + ), + ft.Script(script), + id="template-page-content", + cls=("flex", "flex-row", "w-full", "h-full", "print:bg-white"), + ) + return components.application_shell(page_content, "left") + + +@ar.get("/template/{template_id}/{model_element_uuid}") +def render_template(template_id: str, model_element_uuid: str = "") -> t.Any: + """Request the rendering of a template. + + Returns a template container with loading spinner that itself (htmx) + requests the rendered template and replaces itself with the rendered + template. + """ + template = t.cast(reports.Template, reports.template_by_id(template_id)) + return components.template_container( + ft.Div( + icons.spinner(2.1), + ft.Script( + "document.getElementById('root').classList.add('h-screen');" + "document.getElementById('print-button').classList.add('hidden');" + ), + cls=( + "h-full", + "justify-center", + "place-content-center", + "place-items-center", + "w-full", + ), + hx_trigger="load", + hx_get=rendered_report.to( + template_id=template_id, + model_element_uuid=model_element_uuid, + ), + hx_swap="outerHTML", + hx_target="#template_container", + ) + ), components.breadcrumbs( + template=template, + model_element_uuid=model_element_uuid, + oob=True, + ) + + +ar.to_app(app) diff --git a/capella_model_explorer/reports.py b/capella_model_explorer/reports.py new file mode 100644 index 0000000..df18455 --- /dev/null +++ b/capella_model_explorer/reports.py @@ -0,0 +1,156 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import pathlib +import re +import typing as t + +import capellambse +import capellambse.model as m +import jinja2 +import markupsafe +import yaml +from fasthtml import common as fh +from fasthtml import ft + +import capella_model_explorer.constants as c +from capella_model_explorer import components, icons, main, state +from capella_model_explorer.types import ( + Template, + TemplateCategory, + TemplateScope, +) + +app: fh.FastHTML +app, rt = fh.fast_app() + + +def home() -> tuple[ft.Title, ft.Main]: + """Show reports home/ landing page with all reports in categories.""" + page_content = ( + ft.Main( + ft.Div( + components.model_information(), + components.reports_page(), + cls="flex flex-col space-y-4 place-items-center mb-4", + ), + ft.Div( + ft.A( + ft.Div("Contribute on GitHub"), + icons.github_logo(), + href="https://github.com/DSD-DBS/capella-model-explorer", + target="_blank", + cls=( + "dark:text-neutral-300", + "flex", + "hover:underline", + "max-w-fit", + "place-items-center", + "space-x-2", + ), + ), + cls="w-full pl-8 h-8 py-2 my-8", + ), + cls="grow w-full overflow-y-auto place-items-center", + ), + ) + return components.application_shell(page_content) + + +def template_by_id(id_: str) -> Template | None: + for template in state.templates: + if template.id == id_: + return template + return None + + +def _register_template_category(category: str) -> None: + state.template_categories.append( + TemplateCategory( + idx=category, + templates=[t for t in state.templates if t.category == category], + ) + ) + + +def _template_from_def( + idx_path: pathlib.Path, category: str, template_def: dict +) -> Template: + template_def["path"] = str(idx_path.parent / template_def["template"]) + id_ = str(idx_path.parent / template_def["template"]).replace("/", "|") + id_ += f"|{template_def.get('id', '')}" + template_def["id"] = id_ + template_def["category"] = category + return Template(**template_def) + + +def _make_href( + obj: m.ModelElement | m.AbstractDiagram, +) -> str | None: + for template in state.templates: + if "type" in dir(template.scope): + clsname = t.cast(TemplateScope, template.scope).type + if obj.xtype.rsplit(":", 1)[-1] == clsname: + return main.app.url_path_for( + "template_page", + template_id=template.id, + model_element_uuid=obj.uuid, + ) + if "__generic__" in template.template.stem: + return main.app.url_path_for( + "template_page", + template_id=template.id, + model_element_uuid=obj.uuid, + ) + return fh.RedirectResponse(main.app.url_path_for("home")) + + +def _finalize(markup: t.Any) -> object: + if isinstance(markup, m.AbstractDiagram): + markup = markup.render(None) + if isinstance(markup, capellambse.diagram.Diagram): + svg = m.diagram.convert_format(None, "svg", markup) + return markupsafe.Markup( + ( + '
' + ) + + svg + + ( + '
' + "Click to enlarge" + "
" + "
" + '' + ) + ) + markup = markupsafe.escape(markup) + return capellambse.helpers.replace_hlinks(markup, state.model, _make_href) + + +def _make_href_filter(obj: object) -> str | None: + if jinja2.is_undefined(obj) or obj is None: + return "#" + + if isinstance(obj, m.ElementList): + raise TypeError("Cannot make an href to a list of elements") + if not isinstance(obj, m.ModelElement | m.AbstractDiagram): + raise TypeError(f"Expected a model object, got {obj!r}") + try: + state.model.by_uuid(obj.uuid) + except KeyError: + return "#" + return _make_href(obj) + + +def load_templates() -> None: + for idx_path in sorted(c.TEMPLATES_DIR.glob("**/*.yaml")): + category = re.sub(r"^[A-Za-z0-9]{2}-", "", idx_path.parent.name) + template_defs = yaml.safe_load(idx_path.read_text(encoding="utf8")) + for template_def in template_defs: + template = _template_from_def(idx_path, category, template_def) + state.templates.append(template) + _register_template_category(category) diff --git a/capella_model_explorer/state.py b/capella_model_explorer/state.py new file mode 100644 index 0000000..9ae9487 --- /dev/null +++ b/capella_model_explorer/state.py @@ -0,0 +1,37 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import time +import typing as t + +import jinja2 +import prometheus_client +import pydantic + +from capella_model_explorer import reports + +if t.TYPE_CHECKING: + import capellambse + +JINJA_ENV: jinja2.Environment + + +class Breadcrumb(pydantic.BaseModel): + label: str + url: str + + +idle_time_gauge = prometheus_client.Gauge( + "idletime_minutes", + "Time in minutes since the last user interaction", +) +last_interaction = time.time() +model: capellambse.MelodyModel +models: dict[str, capellambse.MelodyModel] + +show_uuids: bool = False + +templates: list[reports.Template] = [] +template_categories: list[reports.TemplateCategory] = [] diff --git a/capella_model_explorer/types.py b/capella_model_explorer/types.py new file mode 100644 index 0000000..3510d53 --- /dev/null +++ b/capella_model_explorer/types.py @@ -0,0 +1,121 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import operator +import pathlib +import traceback +import typing as t + +import capellambse.model as m +import pydantic as p + +from capella_model_explorer import state + + +class Template(p.BaseModel): + id: str = p.Field(title="Template identifier") + name: str = p.Field(title="Template name") + category: str = p.Field(title="Template category") + template: pathlib.Path = p.Field(title="Index-relative file path") + description: str = p.Field(title="Template description") + + scope: TemplateScope | None = p.Field(default=None, title="Template scope") + single: bool | None = p.Field(None, title="Single instance flag") + isStable: bool | None = p.Field(None, title="Stable template flag") + isDocument: bool | None = p.Field(None, title="Document template flag") + isExperimental: bool | None = p.Field( + None, title="Experimental template flag" + ) + path: pathlib.Path = p.Field(title="Application-relative file path") + error: str | None = p.Field(None, title="Broken template flag") + traceback: str | None = p.Field(None, title="Template error traceback") + instance_count: int = p.Field(0, title="Number of instances") + instances: list[dict] = p.Field([], title="List of instances") + + def model_post_init(self, _): + self.compute_instances() + + def compute_instances(self) -> None: + if self.single: + self.instance_count = 1 + return + try: + if self.scope is not None: + self.instances = [ + self.simple_object(obj) + for obj in self.find_objects( + obj_type=self.scope.type, + below=self.scope.below, + attr=None, + filters=self.scope.filters, + ) + ] + self.instance_count = len(self.instances) + except Exception as e: + self.error = f"Template scope error: {e}" + self.traceback = traceback.format_exc() + + def find_objects(self, obj_type=None, below=None, attr=None, filters=None): + if attr: + getter = operator.attrgetter(attr) + objects = getter(state.model) + if hasattr(objects, "_element"): + objects = [objects] + elif not isinstance(objects, m.ElementList): + raise ValueError( + f"Expected a list of model objects or a single model object" + f" for {attr!r} of the model, got {objects!r}" + ) + elif below and obj_type: + getter = operator.attrgetter(below) + objects = state.model.search(obj_type, below=getter(state.model)) + elif obj_type: + objects = state.model.search(obj_type) + else: + raise ValueError("No search criteria provided") + + if filters: + filtered = [] + for object in objects: + for attr_key, filter in filters.items(): + attr = getattr(object, attr_key) + if filter == "not_empty": + if attr: + filtered.append(object) + elif attr == filter: + filtered.append(object) + objects = filtered + return objects + + def simple_object(self, obj) -> dict[str, t.Any]: + if not obj: + return {} + if obj.name: + name = obj.name + else: + name = obj.long_name if hasattr(obj, "long_name") else "undefined" + + return {"uuid": obj.uuid, "name": str(name)} + + +class TemplateScope(p.BaseModel): + type: str | None = p.Field(None, title="Model Element Type") + below: str | None = p.Field( + None, title="Model element to search below, scope limiter" + ) + filters: dict[str, t.Any] | None = p.Field( + {}, title="Filters to apply to the search" + ) + + +class TemplateCategory(p.BaseModel): + idx: str = p.Field(..., title="Category Identifier") + templates: list[Template] = p.Field( + default_factory=list, title="Templates in this category" + ) + + +TemplateId = str +TemplateDef = dict[str, bool | str | dict[str, str]] diff --git a/entrypoint.sh b/entrypoint.sh index dd5b719..ca1c5cd 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,10 +3,5 @@ # Copyright DB InfraGO AG and contributors # SPDX-License-Identifier: Apache-2.0 -sed -i "s|__ROUTE_PREFIX__|${ROUTE_PREFIX}|g" ./frontend/dist/static/env.js -sed -i "s|href=\"/|href=\"${ROUTE_PREFIX}/|g" ./frontend/dist/index.html -sed -i "s|src=\"/|src=\"${ROUTE_PREFIX}/|g" ./frontend/dist/index.html - -export MODEL="${MODEL_ENTRYPOINT}" -export TEMPLATES_DIR="/views" -exec uvicorn --host=0.0.0.0 --port=8000 capella_model_explorer.backend.main:app +export CME_TEMPLATES_DIR="/app/templates" +uv run -m capella_model_explorer run local diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index 939ccbb..0000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: CC0-1.0 - -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/frontend/.prettierrc.cjs b/frontend/.prettierrc.cjs deleted file mode 100644 index 2947e97..0000000 --- a/frontend/.prettierrc.cjs +++ /dev/null @@ -1,21 +0,0 @@ -/* - * SPDX-FileCopyrightText: Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: CC0-1.0 - */ - -module.exports = { - plugins: [ - require.resolve('prettier-plugin-tailwindcss'), - require.resolve('prettier-plugin-classnames'), - require.resolve('prettier-plugin-merge') - ], - semi: true, - tabWidth: 2, - printWidth: 79, - singleQuote: true, - trailingComma: 'none', - bracketSameLine: true, - endOfLine: 'lf', - useTabs: false, - endingPosition: 'absolute-with-indent' -}; diff --git a/frontend/.storybook/main.js b/frontend/.storybook/main.js deleted file mode 100644 index 194934d..0000000 --- a/frontend/.storybook/main.js +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -/** @type { import('@storybook/react-vite').StorybookConfig } */ -const config = { - stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], - addons: [ - '@storybook/addon-links', - '@storybook/addon-essentials', - '@storybook/addon-onboarding', - '@storybook/addon-interactions' - ], - framework: { - name: '@storybook/react-vite', - options: {} - }, - docs: { - autodocs: 'tag' - } -}; -export default config; diff --git a/frontend/.storybook/preview.js b/frontend/.storybook/preview.js deleted file mode 100644 index 8c248a6..0000000 --- a/frontend/.storybook/preview.js +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import '../src/index.css'; - -/** @type { import('@storybook/react').Preview } */ -const preview = { - parameters: { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i - } - } - } -}; - -export default preview; diff --git a/frontend/README.md b/frontend/README.md deleted file mode 100644 index 8030b1a..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# React + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js deleted file mode 100644 index 0777f00..0000000 --- a/frontend/eslint.config.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -import globals from 'globals'; -import pluginJs from '@eslint/js'; -import pluginReact from 'eslint-plugin-react'; -import reactHooks from 'eslint-plugin-react-hooks'; -import reactRefresh from 'eslint-plugin-react-refresh'; -import eslintConfigPrettier from 'eslint-config-prettier'; - -/** @type {import('eslint').Linter.Config[]} */ -export default [ - { files: ['**/*.{js,mjs,cjs,jsx}'] }, - { languageOptions: { globals: globals.browser } }, - pluginJs.configs.recommended, - pluginReact.configs.flat.recommended, - pluginReact.configs.flat['jsx-runtime'], - { - rules: { - 'react/jsx-no-target-blank': 'off', - 'react/prop-types': 'off', - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true } - ], - 'max-len': [ - 'error', - { code: 100, ignoreUrls: true, ignoreStrings: true } - ] - } - }, - reactRefresh.configs.recommended, - // TODO: Simplify when https://github.com/facebook/react/issues/28313 is released - { - plugins: { - 'react-hooks': reactHooks - }, - rules: { ...reactHooks.configs.recommended.rules } - }, - eslintConfigPrettier -]; diff --git a/frontend/fetch-version.py b/frontend/fetch-version.py deleted file mode 100644 index c839100..0000000 --- a/frontend/fetch-version.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -import json -import os -import pathlib -import subprocess - - -def run_git_command(cmd: list[str]): - try: - return subprocess.run( - ["git", *cmd], - check=True, - capture_output=True, - cwd=pathlib.Path(__file__).parent, - ).stdout.decode() - except subprocess.CalledProcessError: - return "No tags found" - - -if os.getenv("MODE") == "production": - path = pathlib.Path(__file__).parent / "dist" / "static" / "version.json" -else: - path = pathlib.Path(__file__).parent / "public" / "static" / "version.json" - -path.write_text( - json.dumps( - { - "git": { - "version": run_git_command(["describe", "--tags"]).strip(), - "tag": run_git_command( - ["describe", "--tags", "--abbrev=0"] - ).strip(), - } - } - ) -) diff --git a/frontend/index.html b/frontend/index.html deleted file mode 100644 index 769244a..0000000 --- a/frontend/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - Model Explorer - - -
- - - - diff --git a/frontend/package-lock.json b/frontend/package-lock.json deleted file mode 100644 index f0226d2..0000000 --- a/frontend/package-lock.json +++ /dev/null @@ -1,7873 +0,0 @@ -{ - "name": "frontend", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "frontend", - "version": "0.0.0", - "dependencies": { - "@icons-pack/react-simple-icons": "^11.1.0", - "lucide-react": "^0.473.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-responsive": "^10.0.0", - "react-router": "^7.1.3", - "react-zoom-pan-pinch": "^3.6.1" - }, - "devDependencies": { - "@eslint/js": "^9.18.0", - "@storybook/addon-essentials": "^8.5.0", - "@storybook/addon-interactions": "^8.5.0", - "@storybook/addon-links": "^8.5.0", - "@storybook/addon-onboarding": "^8.5.0", - "@storybook/react-vite": "^8.5.0", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.4", - "autoprefixer": "^10.4.20", - "eslint": "^9.18.0", - "eslint-config-prettier": "^10.0.1", - "eslint-plugin-react": "^7.37.4", - "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-react-refresh": "^0.4.18", - "eslint-plugin-storybook": "^0.11.2", - "globals": "^15.14.0", - "postcss": "^8.5.1", - "prettier": "3.4.2", - "prettier-plugin-classnames": "^0.7.5", - "prettier-plugin-merge": "^0.7.2", - "prettier-plugin-tailwindcss": "^0.6.10", - "storybook": "^8.5.0", - "tailwind-scrollbar": "^3.1.0", - "tailwindcss": "^3.4.17", - "vite": "^6.0.11" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz", - "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", - "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", - "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.5", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.5", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.5", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", - "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.10.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@icons-pack/react-simple-icons": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@icons-pack/react-simple-icons/-/react-simple-icons-11.1.0.tgz", - "integrity": "sha512-y85zq6i16cgKEEcxI/lNNKOlhxnCpNm0PCn4PY6aYNUsEZtrK/uxS6Kize4ZqzGCD+/HXiC58K1TcrDJOi54LA==", - "license": "MIT", - "peerDependencies": { - "react": "^16.13 || ^17 || ^18 || ^19" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.4.2.tgz", - "integrity": "sha512-feQ+ntr+8hbVudnsTUapiMN9q8T90XA1d5jn9QzY09sNoj4iD9wi0PY1vsBFTda4ZjEaxRK9S81oarR2nj7TFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "magic-string": "^0.27.0", - "react-docgen-typescript": "^2.2.2" - }, - "peerDependencies": { - "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", - "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", - "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", - "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", - "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", - "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", - "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", - "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", - "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", - "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", - "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", - "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", - "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", - "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", - "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", - "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", - "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", - "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", - "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", - "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", - "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@storybook/addon-actions": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.5.0.tgz", - "integrity": "sha512-6CW9+17rk5eNx6I8EKqCxRKtsJFTR/lHL+xiJ6/iBWApIm8sg63vhXvUTJ58UixmIkT5oLh0+ESNPh+x10D8fw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@types/uuid": "^9.0.1", - "dequal": "^2.0.2", - "polished": "^4.2.2", - "uuid": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-backgrounds": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.5.0.tgz", - "integrity": "sha512-lzyFLs7niNsqlhH5kdUrp7htLiMIcjY50VLWe0PaeJ6T6GZ7X9qhQzROAUV6cGqzyd8A6y/LzIUntDPMVEm/6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-controls": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.5.0.tgz", - "integrity": "sha512-1fivx77A/ahObrPl0L66o9i9MUNfqXxsrpekne5gjMNXw9XJFIRNUe/ddL4CMmwu7SgVbj2QV+q5E5mlnZNTJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "dequal": "^2.0.2", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-docs": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.5.0.tgz", - "integrity": "sha512-REwLSr1VgOVNJZwP3y3mldhOjBHlM5fqTvq/tC8NaYpAzx9O4rZdoUSZxW3tYtoNoYrHpB8kzRTeZl8WSdKllw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.5.0", - "@storybook/csf-plugin": "8.5.0", - "@storybook/react-dom-shim": "8.5.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-essentials": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.5.0.tgz", - "integrity": "sha512-RrHRdaw2j3ugZiYQ6OHt3Ff08ID4hwAvipqULEsbEnEw3VlXOaW/MT5e2M7kW3MHskQ3iJ6XAD1Y1rNm432Pzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/addon-actions": "8.5.0", - "@storybook/addon-backgrounds": "8.5.0", - "@storybook/addon-controls": "8.5.0", - "@storybook/addon-docs": "8.5.0", - "@storybook/addon-highlight": "8.5.0", - "@storybook/addon-measure": "8.5.0", - "@storybook/addon-outline": "8.5.0", - "@storybook/addon-toolbars": "8.5.0", - "@storybook/addon-viewport": "8.5.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-highlight": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.5.0.tgz", - "integrity": "sha512-/JxYzMK5aJSYs0K/0eAEFyER2dMoxqwM891MdnkNwLFdyrM58lzHee00F9oEX6zeQoRUNQPRepq0ui2PvbTMGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-interactions": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.5.0.tgz", - "integrity": "sha512-vX1a8qS7o/W3kEzfL/CqOj/Rr6UlGLT/n0KXMpfIhx63tzxe1a1qGpFLL0h0zqAVPHZIOu9humWMKri5Iny6oA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.5.0", - "@storybook/test": "8.5.0", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-links": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.5.0.tgz", - "integrity": "sha512-Y11GIByAYqn0TibI/xsy0vCe+ZxJS9PVAAoHngLxkf9J4WodAXcJABr8ZPlWDNdaEhSS/FF7UQUmNag0UC2/pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "0.1.12", - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.5.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-measure": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.5.0.tgz", - "integrity": "sha512-e8pJy2sICyj0Ff0W1PFc6HPE6PqcjnnHtfuDaO3M9uSKJLYkpTWJ8i1VSP178f8seq44r5/PdQCHqs5q5l3zgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-onboarding": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-8.5.0.tgz", - "integrity": "sha512-77ebcHkKR744ciPbT4ZgqW4W7KrLv1uAdSb3mX3gWukSl4oxP9D/HjmNiX5fBDYWUC4wsf6q5barOs4Hqn8ivw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-outline": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.5.0.tgz", - "integrity": "sha512-r12sk1b38Ph6NroWAOTfjbJ/V+gDobm7tKQQlbSDf6fgX7cqyPHmKjfNDCOCQpXouZm/Jm+41zd758PW+Yt4ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-toolbars": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.5.0.tgz", - "integrity": "sha512-q3yYYO2WX8K2DYNM++FzixGDjzYaeREincgsl2WXYXrcuGb5hkOoOgRiAQL8Nz9NQ1Eo+B/yZxrhG/5VoVhUUQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/addon-viewport": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.5.0.tgz", - "integrity": "sha512-MlhVELImk9YzjEgGR2ciLC8d5tUSGcO7my4kWIClN0VyTRcvG4ZfwrsEC+jN3/l52nrgjLmKrDX5UAGZm6w5mQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/blocks": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.5.0.tgz", - "integrity": "sha512-2sTOgjH/JFOgWnpqkKjpKVvKAgUaC9ZBjH1gnCoA5dne/SDafYaCAYfv6yZn7g2Xm1sTxWCAmMIUkYSALeWr+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "0.1.12", - "@storybook/icons": "^1.2.12", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.5.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/builder-vite": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.5.0.tgz", - "integrity": "sha512-GVJFjAxX/mL3bmXX6N619ShuYprkh6Ix08JU6QGNf/tTkG92BxjgCqQdfovBrviDhFyO2bhkdlEp6ujMo5CbZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf-plugin": "8.5.0", - "browser-assert": "^1.2.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0", - "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@storybook/components": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.5.0.tgz", - "integrity": "sha512-DhaHtwfEcfWYj3ih/5RBSDHe3Idxyf+oHw2/DmaLKJX6MluhdK3ZqigjRcTmA9Gj/SbR4CkHEEtDzAvBlW0BYw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/core": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.5.0.tgz", - "integrity": "sha512-apborO6ynns7SeydBSqE9o0zT6JSU+VY4gLFPJROGcconvSW4bS5xtJCsgjlulceyWVxepFHGXl4jEZw+SktXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "0.1.12", - "better-opn": "^3.0.2", - "browser-assert": "^1.2.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", - "esbuild-register": "^3.5.0", - "jsdoc-type-pratt-parser": "^4.0.0", - "process": "^0.11.10", - "recast": "^0.23.5", - "semver": "^7.6.2", - "util": "^0.12.5", - "ws": "^8.2.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, - "node_modules/@storybook/core/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/csf": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.12.tgz", - "integrity": "sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^2.19.0" - } - }, - "node_modules/@storybook/csf-plugin": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.5.0.tgz", - "integrity": "sha512-cs6ogviNyLG1h9J8Sb47U3DqIrQmn2EHm4ta3fpCeV3ABbrMgbzYyxtmybz4g/AwlDgjAZAt6PPcXkfCJ6p2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", - "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/icons": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.3.0.tgz", - "integrity": "sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" - } - }, - "node_modules/@storybook/instrumenter": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.5.0.tgz", - "integrity": "sha512-eZ/UY6w4U2vay+wX7QVwKiRoyMzZscuv6v4k4r8BlmHPFWbhiZDO9S2GsG16UkyKnrQrYk432he70n7hn1Xvmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@vitest/utils": "^2.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/manager-api": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.5.0.tgz", - "integrity": "sha512-Ildriueo3eif4M+gMlMxu/mrBIbAnz8+oesmQJKdzZfe/U9eQTI9OUqJsxx/IVBmdzQ3ySsgNmzj5VweRkse4A==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/preview-api": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.5.0.tgz", - "integrity": "sha512-g0XbD54zMUkl6bpuA7qEBCE9rW1QV6KKmwkO4bkxMOJcMke3x9l00JTaYn7Un8wItjXiS3BIG15B6mnfBG7fng==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/react": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.5.0.tgz", - "integrity": "sha512-/jbkmGGc95N7KduIennL/k8grNTP5ye/YBnkcS4TbF7uDWBtKy3/Wqvx5BIlFXq3qeUnZJ8YtZc0lPIYeCY8XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/components": "8.5.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "8.5.0", - "@storybook/preview-api": "8.5.0", - "@storybook/react-dom-shim": "8.5.0", - "@storybook/theming": "8.5.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@storybook/test": "8.5.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.5.0", - "typescript": ">= 4.2.x" - }, - "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/@storybook/react-dom-shim": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.5.0.tgz", - "integrity": "sha512-7P8xg4FiuFpM6kQOzZynno+0zyLVs8NgsmRK58t3JRZXbda1tzlxTXzvqx4hUevvbPJGjmrB0F3xTFH+8Otnvw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/react-vite": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.5.0.tgz", - "integrity": "sha512-4f5AM8aPs2aTBeiycotinaDIPJg/YRtPb0F1dDquS097eUOeImS73+NSSCwrIjmSiapG/KWVkPgFnadEumFkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "0.4.2", - "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "8.5.0", - "@storybook/react": "8.5.0", - "find-up": "^5.0.0", - "magic-string": "^0.30.0", - "react-docgen": "^7.0.0", - "resolve": "^1.22.8", - "tsconfig-paths": "^4.2.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@storybook/test": "8.5.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.5.0", - "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - } - } - }, - "node_modules/@storybook/test": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.5.0.tgz", - "integrity": "sha512-M/DdPlI6gwL7NGkK5o7GYjdEBp95AsFEUtW29zQfnVIAngYugzi3nIuM/XkQHunidVdAZCYjw2s2Yhhsx/m9sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "0.1.12", - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.5.0", - "@testing-library/dom": "10.4.0", - "@testing-library/jest-dom": "6.5.0", - "@testing-library/user-event": "14.5.2", - "@vitest/expect": "2.0.5", - "@vitest/spy": "2.0.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.5.0" - } - }, - "node_modules/@storybook/theming": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.5.0.tgz", - "integrity": "sha512-591LbOj/HMmHYUfLgrMerxhF1A9mY61HWKxcRpB6xxalc1Xw1kRtQ49DcwuTXnUu9ktBB3nuOzPNPQPFSh/7PQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", - "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/user-event": { - "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "license": "MIT" - }, - "node_modules/@types/doctrine": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", - "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.14", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", - "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@types/resolve": { - "version": "1.20.6", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", - "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", - "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", - "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", - "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", - "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/typescript-estree": "8.20.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", - "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.20.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/@vitest/pretty-format": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.8.tgz", - "integrity": "sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.8.tgz", - "integrity": "sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "2.1.8", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001695", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", - "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-mediaquery": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==", - "license": "BSD" - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.83", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz", - "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" - } - }, - "node_modules/esbuild-register": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", - "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.18.0", - "@eslint/plugin-kit": "^0.2.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", - "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "build/bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", - "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.8", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", - "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", - "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-storybook": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.11.2.tgz", - "integrity": "sha512-0Z4DUklJrC+GHjCRXa7PYfPzWC15DaVnwaOYenpgXiCEijXPZkLKCms+rHhtoRcWccP7Z8DpOOaP1gc3P9oOwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "^0.1.11", - "@typescript-eslint/utils": "^8.8.1", - "ts-dedent": "^2.2.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "eslint": ">=8" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hyphenate-style-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", - "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", - "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", - "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", - "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", - "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lucide-react": { - "version": "0.473.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.473.0.tgz", - "integrity": "sha512-KW6u5AKeIjkvrxXZ6WuCu9zHE/gEYSXCay+Gre2ZoInD0Je/e3RBtP4OHpJVJ40nDklSvjVKjgH7VU8/e2dzRw==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", - "dev": true, - "license": "MIT" - }, - "node_modules/matchmediaquery": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.4.2.tgz", - "integrity": "sha512-wrZpoT50ehYOudhDjt/YvUJc6eUzcdFPdmbizfgvswCKNHD1/OBOHYJpHie+HXpu6bSkEGieFMYk6VuutaiRfA==", - "license": "MIT", - "dependencies": { - "css-mediaquery": "^0.1.2" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/polished": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", - "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-classnames": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/prettier-plugin-classnames/-/prettier-plugin-classnames-0.7.5.tgz", - "integrity": "sha512-HQ2631Tbey4aK4CX8oUnDKj5mlWy20TfWa3CrPOf/IqLyOmIrDeV7aeDjOSwVgsNbfsqO8zxPwiu/PRKihiv0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "prettier": "^2 || ^3", - "prettier-plugin-astro": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/prettier-plugin-merge": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-merge/-/prettier-plugin-merge-0.7.2.tgz", - "integrity": "sha512-o/twjBSVjKttfBBz7KWdJxyPjEAoSh1WwkEv02XKWoyifPXVPSifgB597nntEzTo5hN63XnoZQkAdDVnt6WRLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "diff": "5.1.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.10.tgz", - "integrity": "sha512-ndj2WLDaMzACnr1gAYZiZZLs5ZdOeBYgOsbBmHj3nvW/6q8h8PymsXiEnKvj/9qgCCAoHyvLOisoQdIcsDvIgw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-import-sort": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-style-order": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-import-sort": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-style-order": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-docgen": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.0.tgz", - "integrity": "sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.9", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9", - "@types/babel__core": "^7.18.0", - "@types/babel__traverse": "^7.18.0", - "@types/doctrine": "^0.0.9", - "@types/resolve": "^1.20.2", - "doctrine": "^3.0.0", - "resolve": "^1.22.1", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=16.14.0" - } - }, - "node_modules/react-docgen-typescript": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz", - "integrity": "sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">= 4.3.x" - } - }, - "node_modules/react-docgen/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-responsive": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-10.0.0.tgz", - "integrity": "sha512-N6/UiRLGQyGUqrarhBZmrSmHi2FXSD++N5VbSKsBBvWfG0ZV7asvUBluSv5lSzdMyEVjzZ6Y8DL4OHABiztDOg==", - "license": "MIT", - "dependencies": { - "hyphenate-style-name": "^1.0.0", - "matchmediaquery": "^0.4.2", - "prop-types": "^15.6.1", - "shallow-equal": "^3.1.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/react-router": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.3.tgz", - "integrity": "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA==", - "license": "MIT", - "dependencies": { - "@types/cookie": "^0.6.0", - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0", - "turbo-stream": "2.4.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-zoom-pan-pinch": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.6.1.tgz", - "integrity": "sha512-SdPqdk7QDSV7u/WulkFOi+cnza8rEZ0XX4ZpeH7vx3UZEg7DoyuAy3MCmm+BWv/idPQL2Oe73VoC0EhfCN+sZQ==", - "license": "MIT", - "engines": { - "node": ">=8", - "npm": ">=5" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/redent/node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", - "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.31.0", - "@rollup/rollup-android-arm64": "4.31.0", - "@rollup/rollup-darwin-arm64": "4.31.0", - "@rollup/rollup-darwin-x64": "4.31.0", - "@rollup/rollup-freebsd-arm64": "4.31.0", - "@rollup/rollup-freebsd-x64": "4.31.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", - "@rollup/rollup-linux-arm-musleabihf": "4.31.0", - "@rollup/rollup-linux-arm64-gnu": "4.31.0", - "@rollup/rollup-linux-arm64-musl": "4.31.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", - "@rollup/rollup-linux-riscv64-gnu": "4.31.0", - "@rollup/rollup-linux-s390x-gnu": "4.31.0", - "@rollup/rollup-linux-x64-gnu": "4.31.0", - "@rollup/rollup-linux-x64-musl": "4.31.0", - "@rollup/rollup-win32-arm64-msvc": "4.31.0", - "@rollup/rollup-win32-ia32-msvc": "4.31.0", - "@rollup/rollup-win32-x64-msvc": "4.31.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shallow-equal": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-3.1.0.tgz", - "integrity": "sha512-pfVOw8QZIXpMbhBWvzBISicvToTiM5WBF1EeAUZDDSb5Dt29yl4AYbyywbJFSEsRUMr7gJaxqCdr4L3tQf9wVg==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/storybook": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.5.0.tgz", - "integrity": "sha512-cEx42OlCetManF+cONVJVYP7SYsnI2K922DfWKmZhebP0it0n6TUof4y5/XzJ8YUruwPgyclGLdX8TvdRuNSfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/core": "8.5.0" - }, - "bin": { - "getstorybook": "bin/index.cjs", - "sb": "bin/index.cjs", - "storybook": "bin/index.cjs" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwind-scrollbar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz", - "integrity": "sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "tailwindcss": "3.x" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.17", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", - "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.6", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/turbo-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", - "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unplugin": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", - "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/webpack-virtual-modules": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/frontend/package.json b/frontend/package.json deleted file mode 100644 index e1b864b..0000000 --- a/frontend/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "frontend", - "private": true, - "version": "0.0.0", - "scripts": { - "dev": "vite --host=0.0.0.0", - "build": "vite build", - "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview", - "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build", - "lint:fix": "eslint . --fix", - "format": "prettier --write ./**/*.{js,jsx,ts,tsx,css,md,json} --config .prettierrc.cjs" - }, - "type": "module", - "dependencies": { - "@icons-pack/react-simple-icons": "^11.1.0", - "lucide-react": "^0.473.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-responsive": "^10.0.0", - "react-router": "^7.1.3", - "react-zoom-pan-pinch": "^3.6.1" - }, - "devDependencies": { - "@eslint/js": "^9.18.0", - "@storybook/addon-essentials": "^8.5.0", - "@storybook/addon-interactions": "^8.5.0", - "@storybook/addon-links": "^8.5.0", - "@storybook/addon-onboarding": "^8.5.0", - "@storybook/react-vite": "^8.5.0", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.4", - "autoprefixer": "^10.4.20", - "eslint": "^9.18.0", - "eslint-config-prettier": "^10.0.1", - "eslint-plugin-react": "^7.37.4", - "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-react-refresh": "^0.4.18", - "eslint-plugin-storybook": "^0.11.2", - "globals": "^15.14.0", - "postcss": "^8.5.1", - "prettier": "3.4.2", - "prettier-plugin-classnames": "^0.7.5", - "prettier-plugin-merge": "^0.7.2", - "prettier-plugin-tailwindcss": "^0.6.10", - "storybook": "^8.5.0", - "tailwind-scrollbar": "^3.1.0", - "tailwindcss": "^3.4.17", - "vite": "^6.0.11" - } -} diff --git a/frontend/postcss.config.cjs b/frontend/postcss.config.cjs deleted file mode 100644 index 61dd434..0000000 --- a/frontend/postcss.config.cjs +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -}; diff --git a/frontend/public/static/env.js b/frontend/public/static/env.js deleted file mode 100644 index 1f83af3..0000000 --- a/frontend/public/static/env.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -window.env = { - ROUTE_PREFIX: '__ROUTE_PREFIX__', - API_BASE_URL: '__ROUTE_PREFIX__/api' -}; diff --git a/frontend/src/APIConfig.js b/frontend/src/APIConfig.js deleted file mode 100644 index 01a0889..0000000 --- a/frontend/src/APIConfig.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -export const ROUTE_PREFIX = window.env?.ROUTE_PREFIX ?? ''; -export const API_BASE_URL = - window.env?.API_BASE_URL ?? `http://localhost:8000${ROUTE_PREFIX}/api`; diff --git a/frontend/src/App.css b/frontend/src/App.css deleted file mode 100644 index 071727e..0000000 --- a/frontend/src/App.css +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -#root { - max-width: 1280px; - margin: auto; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cff); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} - -html.dark .svg-display svg { - filter: hue-rotate(180deg) invert(80%) saturate(200%); -} - -html.dark .icon svg { - filter: none; -} diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx deleted file mode 100644 index ea70470..0000000 --- a/frontend/src/App.jsx +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { Route, BrowserRouter as Router, Routes } from 'react-router'; -import { API_BASE_URL, ROUTE_PREFIX } from './APIConfig'; -import './App.css'; -import { HomeView } from './views/HomeView'; -import { TemplateView } from './views/TemplateView'; -import { ModelComparisonView } from './views/ModelComparisonView'; - -function App() { - return ( - - - } /> - } - /> - } - /> - } - /> - - - ); -} - -export default App; diff --git a/frontend/src/components/AppInfo.jsx b/frontend/src/components/AppInfo.jsx deleted file mode 100644 index 8b69f11..0000000 --- a/frontend/src/components/AppInfo.jsx +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState, useEffect } from 'react'; -import { ROUTE_PREFIX } from '../APIConfig'; -import { SiGithub } from '@icons-pack/react-simple-icons'; - -export const AppInfo = () => { - const [currentVersion, setCurrentVersion] = useState(null); - - useEffect(() => { - fetch(`${ROUTE_PREFIX}/static/version.json`) - .then((response) => response.json()) - .then((data) => setCurrentVersion(data.git)) - .catch((error) => { - console.error(error); - setCurrentVersion({ version: 'Fetch failed' }); - }); - }, []); - - return ( -
- {currentVersion &&

Version: {currentVersion.version}

} - - Contribute on GitHub -
- -
-
-
- ); -}; diff --git a/frontend/src/components/Badge.jsx b/frontend/src/components/Badge.jsx deleted file mode 100644 index dd6b12c..0000000 --- a/frontend/src/components/Badge.jsx +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -const color_classes = { - default: 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300', - danger: 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300', - success: 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300', - warning: - 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300' -}; -/* - * provides a badge that may have different colors - */ -export const Badge = ({ children, color = 'default' }) => ( -
- {children} -
-); diff --git a/frontend/src/components/Breadcrumbs.jsx b/frontend/src/components/Breadcrumbs.jsx deleted file mode 100644 index f94719c..0000000 --- a/frontend/src/components/Breadcrumbs.jsx +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useEffect, useState } from 'react'; -import { Link, useLocation } from 'react-router'; -import { API_BASE_URL } from '../APIConfig'; - -export const Breadcrumbs = () => { - const location = useLocation(); - const [breadcrumbLabels, setBreadcrumbLabels] = useState({}); - - const fetchModelInfo = async () => { - const response = await fetch(API_BASE_URL + `/model-info`); - const modelInfo = await response.json(); - return modelInfo.title; - }; - - // Function to fetch view names - const fetchViewName = async (idx) => { - const response = await fetch(API_BASE_URL + `/views`); - - const viewsDict = await response.json(); - const allViews = Object.values(viewsDict).flat(); - const view = allViews.find((v) => v.idx.toString() === idx); - return view ? view.name : idx; - }; - - // Function to fetch object names - const fetchObjectName = async (uuid) => { - const response = await fetch(API_BASE_URL + `/objects/${uuid}`); - const object = await response.json(); - return object.name; - }; - - useEffect(() => { - const updateLabels = async () => { - const title = await fetchModelInfo(); - const labels = { '/': title }; - const pathnames = location.pathname.split('/').filter((x) => x); - - for (let i = 0; i < pathnames.length; i++) { - const to = `/${pathnames.slice(0, i + 1).join('/')}`; - - if (i === 0) { - labels[to] = await fetchViewName(pathnames[i]); - } else if (i === 1) { - labels[to] = await fetchObjectName(pathnames[i]); - } else { - labels[to] = pathnames[i]; - } - } - - setBreadcrumbLabels(labels); - const modelName = Object.values(labels)[0]; - const instanceName = Object.values(labels).pop(); - document.title = `${instanceName} - ${modelName} - Model Explorer`; - }; - updateLabels(); - }, [location]); - - const visible_pathnames = [ - breadcrumbLabels['/'], - ...location.pathname.split('/').filter((x) => x) - ]; - const slicedPathnames = visible_pathnames.slice(1); - - return ( - - ); -}; diff --git a/frontend/src/components/Button.jsx b/frontend/src/components/Button.jsx deleted file mode 100644 index 6f13a9b..0000000 --- a/frontend/src/components/Button.jsx +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -export const Button = ({ children, ...props }) => { - return ( - - {children} - - ); -}; diff --git a/frontend/src/components/Card.jsx b/frontend/src/components/Card.jsx deleted file mode 100644 index 4cf20b2..0000000 --- a/frontend/src/components/Card.jsx +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -export const Card = ({ children, onClick }) => ( -
- {children} -
-); diff --git a/frontend/src/components/CommitInformation.jsx b/frontend/src/components/CommitInformation.jsx deleted file mode 100644 index ebad513..0000000 --- a/frontend/src/components/CommitInformation.jsx +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -const CommitInformation = ({ - commitDetails, - isExpanded, - toggleExpand, - section -}) => { - return ( -
-

- Hash: {commitDetails.hash} -

- {commitDetails.tag && ( -

- Tag: {commitDetails.tag} -

- )} -

- Author: {commitDetails.author} -

-

- Description:{' '} - {isExpanded - ? commitDetails.description - : `${commitDetails.description.split('\n')[0]}${ - commitDetails.description.includes('\n') ? '' : '' - }`} -

- {commitDetails.description.includes('\n') && ( - - )} -

- Date: {commitDetails.date} -

-
- ); -}; - -export default CommitInformation; diff --git a/frontend/src/components/DiffExplorer.jsx b/frontend/src/components/DiffExplorer.jsx deleted file mode 100644 index e6fa30a..0000000 --- a/frontend/src/components/DiffExplorer.jsx +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState } from 'react'; -import { - CirclePlus, - CircleX, - SquareAsterisk, - FolderOpen, - SquareChevronDown, - SquareChevronRightIcon, - FolderClosed, - Dot, - File -} from 'lucide-react'; - -export const DiffExplorer = ({ - node, - setObjectID, - searchTerm, - filterStatus -}) => { - const [expandedNodes, setExpandedNodes] = useState({}); - - const getNodeClass = (changed, attributes) => { - const hasNonEmptyAttributes = - attributes && Object.keys(attributes).length > 0; - switch (changed) { - case 'created': - return 'text-green-500'; - case 'deleted': - return 'text-red-500 line-through cursor-not-allowed dark:text-custom-dark-error'; - case 'modified': - return hasNonEmptyAttributes - ? 'text-orange-600' - : 'text-gray-500 dark:text-gray-200'; - default: - return 'text-gray-900 dark:text-gray-100'; - } - }; - - const getIcon = (changed, attributes) => { - const hasNonEmptyAttributes = - attributes && Object.keys(attributes).length > 0; - switch (changed) { - case 'created': - return ; - case 'deleted': - return ( - - ); - case 'modified': - return hasNonEmptyAttributes ? ( - - ) : ( - - ); - default: - return null; - } - }; - - const handleToggle = (uuid) => { - setExpandedNodes((prev) => ({ - ...prev, - [uuid]: !prev[uuid] - })); - }; - - const handleLeafClick = (node) => { - setObjectID(node.uuid); - }; - - const flattenNodes = (node) => { - let nodes = []; - if (node.children) { - Object.values(node.children).forEach((child) => { - nodes = nodes.concat(flattenNodes(child)); - }); - } - nodes.push(node); - return nodes; - }; - - const filterNodes = (node) => { - const allNodes = flattenNodes(node); - return allNodes.filter((n) => { - if (filterStatus !== 'all' && n.change !== filterStatus) { - return false; - } - if (!searchTerm) return true; - return n.display_name.toLowerCase().includes(searchTerm.toLowerCase()); - }); - }; - - const renderNode = (node) => { - const hasChildren = node.children && Object.keys(node.children).length > 0; - const isExpanded = expandedNodes[node.uuid] || false; - return ( -
-
-
- {hasChildren ? ( - - ) : ( - - )} - handleLeafClick(node)} - className={`flex-1 cursor-pointer truncate - ${node.change === 'deleted' ? 'pointer-events-none' : ''}`} - title={node.display_name}> - {node.display_name} - -
- - {getIcon(node.change, node.attributes)} - -
- {isExpanded && hasChildren && ( -
- {Object.keys(node.children).map((childId) => ( - - ))} -
- )} -
- ); - }; - - const filteredNodes = filterNodes(node); - return ( -
- {searchTerm || filterStatus !== 'all' - ? filteredNodes.map((filteredNode) => renderNode(filteredNode)) - : renderNode(node)} -
- ); -}; diff --git a/frontend/src/components/DiffView.jsx b/frontend/src/components/DiffView.jsx deleted file mode 100644 index 05bdf79..0000000 --- a/frontend/src/components/DiffView.jsx +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 -import { useEffect, useState } from 'react'; -import { SVGDisplay } from './SVGDisplay'; -import { API_BASE_URL } from '../APIConfig'; -import { Spinner } from './Spinner'; - -export const DiffView = ({ objectID, endpoint }) => { - const [details, setDetails] = useState([]); - const [isLoading, setIsLoading] = useState(false); - - useEffect(() => { - const fetchTemplate = async () => { - setIsLoading(true); - - try { - const postResponse = await fetch(`${API_BASE_URL}/object-diff`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ uuid: objectID }) - }); - - if (!postResponse.ok) { - throw new Error( - `Failed to post diff data: ${postResponse.statusText}` - ); - } - - let url; - if (objectID) { - url = `${endpoint}object_comparison/${objectID}`; - } else { - throw new Error('Object ID is missing or invalid'); - } - - const getResponse = await fetch(url, { - method: 'GET', - headers: { - 'Content-Type': 'text/html' - } - }); - - if (!getResponse.ok) { - throw new Error( - `Failed to fetch object comparison: ${getResponse.statusText}` - ); - } - - const data = await getResponse.text(); - - const parser = new DOMParser(); - const doc = parser.parseFromString(data, 'text/html'); - const contentItems = []; - - doc.body.childNodes.forEach((node) => { - if (node.nodeType === Node.ELEMENT_NODE) { - if (node.tagName === 'svg') { - contentItems.push({ - type: 'SVGDisplay', - content: node.outerHTML - }); - } else { - contentItems.push({ - type: 'HTML', - content: node.outerHTML - }); - } - } - }); - - setDetails(contentItems); - } catch (error) { - console.error('Error fetching template:', error); - setDetails([ - { type: 'Error', content: `Error fetching data: ${error.message}` } - ]); - } finally { - setIsLoading(false); - } - }; - - if (objectID) { - fetchTemplate(); - } - }, [objectID, endpoint]); - - return ( -
- {isLoading ? ( - - ) : ( -
- {details.map((item, idx) => { - if (item.type === 'SVGDisplay') { - return ; - } else { - return ( -
- ); - } - })} -
- )} -
- ); -}; diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx deleted file mode 100644 index 750f92d..0000000 --- a/frontend/src/components/Header.jsx +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { Breadcrumbs } from './Breadcrumbs'; -import { ThemeSwitcher } from './ThemeSwitcher'; -import { SettingsMenu } from './SettingsMenu'; -import { HomeIcon } from './HomeIcon'; - -export const Header = () => { - return ( -
- {' '} -
-
- -
-
- - - -
-
-
- ); -}; diff --git a/frontend/src/components/HomeIcon.jsx b/frontend/src/components/HomeIcon.jsx deleted file mode 100644 index baf13f6..0000000 --- a/frontend/src/components/HomeIcon.jsx +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { Home } from 'lucide-react'; -import { Link } from 'react-router'; - -export const HomeIcon = () => { - return ( - -
- -
- - ); -}; diff --git a/frontend/src/components/InstanceView.jsx b/frontend/src/components/InstanceView.jsx deleted file mode 100644 index 14bfd16..0000000 --- a/frontend/src/components/InstanceView.jsx +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { Printer } from 'lucide-react'; -import { useEffect, useRef, useState } from 'react'; -import { AppInfo } from './AppInfo'; -import { SVGDisplay } from './SVGDisplay'; -import { Spinner } from './Spinner'; - -export const InstanceView = ({ templateName, objectID, endpoint }) => { - const [details, setDetails] = useState([]); - const [loading, setLoading] = useState(true); - const contentRef = useRef(null); - const [isHovering, setIsHovering] = useState(false); - - useEffect(() => { - setLoading(true); - const url = endpoint + `${templateName}/${objectID}`; - fetch(url, { - method: 'GET', - headers: { - 'Content-Type': 'text/html' - } - }) - .then((response) => response.text()) - .then((data) => { - const parser = new DOMParser(); - const doc = parser.parseFromString(data, 'text/html'); - const contentItems = []; - doc.body.childNodes.forEach((node) => { - if (node.nodeType === Node.ELEMENT_NODE) { - if (node.tagName === 'svg') { - contentItems.push({ - type: 'SVGDisplay', - content: node.outerHTML - }); - } else { - contentItems.push({ - type: 'HTML', - content: node.outerHTML - }); - } - } - }); - setDetails(contentItems); - setLoading(false); - }) - .catch((error) => { - setLoading(false); - setDetails('Error fetching data ', error); - }); - }, [endpoint, objectID, templateName]); - - useEffect(() => { - document.body.style.height = 'auto'; - document.body.style.minHeight = '100vh'; - if (!contentRef.current) return; - const currentHeight = contentRef.current.scrollHeight; - document.body.style.height = `${currentHeight + 150}px`; - }, [details]); - - if (loading) - return ( -
- -
- ); - - return ( - <> -
setIsHovering(true)} - onMouseLeave={() => setIsHovering(false)}> - {isHovering && ( -
-
window.print()} - className="icon flex cursor-pointer items-center justify-center - rounded-full bg-custom-blue p-2 text-white transition-colors - duration-700 ease-in-out hover:bg-custom-blue-hover"> - -
-
- )} - {details.map((item, idx) => { - if (item.type === 'SVGDisplay') { - return ; - } else { - return ( -
- ); - } - })} -
-
- -
- - ); -}; diff --git a/frontend/src/components/Lightbox.jsx b/frontend/src/components/Lightbox.jsx deleted file mode 100644 index 97293e5..0000000 --- a/frontend/src/components/Lightbox.jsx +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { Printer, XIcon } from 'lucide-react'; -import { useEffect, useState } from 'react'; -import { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch'; -import { LightboxButton } from './LightboxButton'; - -export const Lightbox = ({ onClose, imageSource }) => { - const [isClicked, setIsClicked] = useState(false); - - useEffect(() => { - const revertCursor = () => { - setIsClicked(false); - window.removeEventListener('mouseup', revertCursor); - }; - if (isClicked) { - window.addEventListener('mouseup', revertCursor); - } - return () => { - window.removeEventListener('mouseup', revertCursor); - }; - }, [isClicked]); - - useEffect(() => { - const handleEscape = (event) => { - if (event.key === 'Escape') { - onClose(); - } - }; - - const handleClick = (event) => { - if (event.target.tagName === 'text') { - navigator.clipboard.writeText(event.target.textContent); - } - }; - document.addEventListener('keydown', handleEscape); - document.addEventListener('click', handleClick); - - return () => { - document.removeEventListener('keydown', handleEscape); - document.removeEventListener('click', handleClick); - }; - }, [onClose]); - - function setHeightAndWeightOfSVG(imageSource) { - const doc = new DOMParser().parseFromString(imageSource, 'image/svg+xml'); - const svg = doc.querySelector('svg'); - svg.setAttribute('height', 'calc(100vh - 72px)'); - svg.setAttribute('width', '100%'); - return new XMLSerializer().serializeToString(doc); - } - - return ( -
-
-
-
- window.print()} className="mr-4"> - - - - - -
-
- {imageSource && ( - - -
setIsClicked(true)}>
-
-
- )} -
-
-
- ); -}; diff --git a/frontend/src/components/LightboxButton.jsx b/frontend/src/components/LightboxButton.jsx deleted file mode 100644 index 097db6b..0000000 --- a/frontend/src/components/LightboxButton.jsx +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -export const LightboxButton = ({ onClick, children, className = '' }) => { - return ( -
- {children} -
- ); -}; diff --git a/frontend/src/components/ModelDiff.jsx b/frontend/src/components/ModelDiff.jsx deleted file mode 100644 index c62ee41..0000000 --- a/frontend/src/components/ModelDiff.jsx +++ /dev/null @@ -1,280 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { API_BASE_URL, ROUTE_PREFIX } from '../APIConfig'; -import { useState } from 'react'; -import { Spinner } from './Spinner'; -import CommitInformation from './CommitInformation'; - -export const ModelDiff = ({ onRefetch, hasDiffed }) => { - const [loadingState, setLoadingState] = useState('idle'); - const [commitDetails, setCommitDetails] = useState([]); - const [selectionOptions, setSelectionOptions] = useState([]); - const [isPopupVisible, setIsPopupVisible] = useState(false); - const [selectedDetails, setSelectedDetails] = useState(null); - const [error, setError] = useState(''); - const [selectedOption, setSelectedOption] = useState(''); - const [isExpanded, setIsExpanded] = useState({ - head: false, - details: false - }); - const [diffSuccess, setDiffSuccess] = useState(null); - - const handleSelectChange = (e) => { - const option = JSON.parse(e.target.value); - setSelectedOption(e.target.value); - setSelectedDetails(option); - setIsExpanded((prev) => ({ ...prev, details: false })); - }; - - const handleGenerateDiff = async () => { - const headCommit = commitDetails[0]?.hash; - const selectedCommit = selectedDetails?.hash; - - if (!headCommit || !selectedCommit) { - alert('Please select a version.'); - return; - } - - setLoadingState('loading'); - setError(''); - - try { - const response = await postData(`${API_BASE_URL}/compare`, { - head: headCommit, - prev: selectedCommit - }); - const data = await response.json(); - - if (data.error) { - throw new Error(data.error); - } - - setDiffSuccess(true); - setLoadingState('complete'); - } catch (error) { - setDiffSuccess(false); - setError(error.message); - setLoadingState('error'); - } finally { - onRefetch(); - } - }; - - const postData = async (url, data) => { - try { - const response = await fetch(url, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(data) - }); - - if (!response.ok) throw new Error('Network response was not ok'); - return response; - } catch (error) { - console.error('Error in postData:', error); - throw error; - } - }; - - const openModelCompareDialog = async () => { - try { - setError(''); - setSelectedOption(''); - setSelectedDetails(null); - setDiffSuccess(null); - setLoadingState('idle'); - - const response = await fetch(`${API_BASE_URL}/commits`); - - if (!response.ok) { - const err = await response.json(); - throw new Error(err.error || 'Internal server error.'); - } - - const data = await response.json(); - if (data === null) { - throw new Error('Not a git repo'); - } else if (data.length < 2) { - throw new Error('Not enough commits to compare.'); - } else if (data.error) { - throw new Error('Internal server error: ' + data.error); - } - - setCommitDetails(data); - - const options = data.map((commit) => ({ - value: JSON.stringify(commit), - label: `${commit.hash.substring(0, 7)} ${ - commit.tag ? `(${commit.tag})` : '' - } - ${commit.subject} - Created on ${commit.date.substring(0, 10)}` - })); - - setSelectionOptions(options); - setIsPopupVisible(true); - } catch (err) { - alert(err.message || 'An error occurred while fetching commits.'); - } - }; - - const closeModelCompareDialog = () => { - setIsPopupVisible(false); - setLoadingState('idle'); - setSelectedOption(''); - setSelectedDetails(null); - }; - - const toggleExpand = (section) => { - setIsExpanded((prev) => ({ - ...prev, - [section]: !prev[section] - })); - }; - - return ( -
- - {isPopupVisible && ( -
-
-
e.stopPropagation()}> -
-
- - - - - - - {selectedDetails && ( - - )} -
- {loadingState === 'loading' && } -
-
- {loadingState === 'loading' && ( -
- Comparing versions... -
- )} - {loadingState === 'complete' && diffSuccess && ( - <> -
- Successfully compared versions ✓ -
- - - - )} - {loadingState === 'error' && ( - <> -
- {error !== 'No model changes to show' && ( - Error: - )}{' '} - {error} -
- - - )} - {loadingState === 'idle' && ( - - )} -
-
-
-
-
- )} -
- ); -}; diff --git a/frontend/src/components/ObjectList.jsx b/frontend/src/components/ObjectList.jsx deleted file mode 100644 index d5edc73..0000000 --- a/frontend/src/components/ObjectList.jsx +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -export const ObjectList = ({ objects }) => ( -
-

Object List

- {objects.length === 0 &&

No objects found

} - {objects.length > 0 && ( -
    - {objects.map((object) => ( -
  • {object.name}
  • - ))} -
- )} -
-); diff --git a/frontend/src/components/SVGDisplay.jsx b/frontend/src/components/SVGDisplay.jsx deleted file mode 100644 index b10a431..0000000 --- a/frontend/src/components/SVGDisplay.jsx +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState, useEffect } from 'react'; -import { Lightbox } from './Lightbox'; - -export const SVGDisplay = ({ content }) => { - const [showLightbox, setShowLightbox] = useState(false); - - useEffect(() => { - if (showLightbox) { - document.body.classList.add('svg-visible'); - document.body.classList.remove('svg-hidden'); - } else { - document.body.classList.add('svg-hidden'); - document.body.classList.remove('svg-visible'); - } - }, [showLightbox]); - - const handleSvgClick = () => { - setShowLightbox(true); - }; - - return ( - <> -
-
-
- Click to enlarge -
-
- {content &&
} -
- {showLightbox && ( - setShowLightbox(false)} - imageSource={content} - /> - )} - - ); -}; diff --git a/frontend/src/components/SettingsMenu.jsx b/frontend/src/components/SettingsMenu.jsx deleted file mode 100644 index 415b90c..0000000 --- a/frontend/src/components/SettingsMenu.jsx +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState, useEffect, useRef } from 'react'; -import { Settings } from 'lucide-react'; - -export const SettingsMenu = () => { - const [isOpen, setIsOpen] = useState(false); - const toggleMenu = () => setIsOpen(!isOpen); - const menuRef = useRef(null); - - useEffect(() => { - const handleClickOutside = (event) => { - if (menuRef.current && !menuRef.current.contains(event.target)) { - setIsOpen(false); - } - }; - - document.addEventListener('mousedown', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - }; - }, []); - - const handlePrint = () => { - window.print(); - }; - - return ( -
-
- -
- {isOpen && ( -
- -
- )} -
- ); -}; diff --git a/frontend/src/components/Spinner.jsx b/frontend/src/components/Spinner.jsx deleted file mode 100644 index 0da4645..0000000 --- a/frontend/src/components/Spinner.jsx +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -export const Spinner = () => ( -
-
-
-); diff --git a/frontend/src/components/TemplateCard.jsx b/frontend/src/components/TemplateCard.jsx deleted file mode 100644 index bcbe4f1..0000000 --- a/frontend/src/components/TemplateCard.jsx +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { - FlaskConical, - TriangleAlert, - Book, - FileStack, - FileText, - ShieldCheck -} from 'lucide-react'; -import { Badge } from './Badge'; - -/** - * TemplateCard shall introduce the template to the user and provide some basic insights: - * - is this a template of a model element or a document - * - is it a stable template or an experimental thing / not for production - * - how many object / document instances this template applies to - * - indicate if the template is broken / cant enumerate objects / other issues - * - maybe indicate modeling rules compliance score - */ -export const TemplateCard = ({ - name, - description, - idx, - onClickCallback, - isDocument = false, - isExperimental = false, - isStable = true, - instanceCount = 0, - error = false -}) => { - return ( -
onClickCallback(idx)} - className="m-2 mt-6 max-w-sm cursor-pointer rounded-lg bg-gray-200 - shadow-md hover:bg-custom-light dark:bg-custom-dark-2 dark:shadow-dark - dark:hover:bg-custom-dark-4"> -
-
-
- {name} -
- {instanceCount === 1 && ( - - - - )} - {instanceCount > 1 && ( - - {' '} - {instanceCount} - - )} -
-

- {description} -

-
- {error && ( - - {' '} - {error} - - )} - {isStable && ( - - {' '} - Stable - - )} - {isExperimental && ( - - {' '} - Experimental - - )} - {isDocument && ( - - Document - - )} -
-
-
- ); -}; diff --git a/frontend/src/components/TemplateDetails.jsx b/frontend/src/components/TemplateDetails.jsx deleted file mode 100644 index b6f754a..0000000 --- a/frontend/src/components/TemplateDetails.jsx +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useEffect, useState } from 'react'; -import { useNavigate, useParams } from 'react-router'; - -export const TemplateDetails = ({ endpoint, onSingleInstance }) => { - let { templateName, objectID } = useParams(); - const [error, setError] = useState(null); - const [details, setDetails] = useState([]); - const navigate = useNavigate(); - const [filterText, setFilterText] = useState(''); - - useEffect(() => { - const fetchDetails = async () => { - try { - const response = await fetch(endpoint + templateName, { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }); - const data = await response.json(); - setDetails(data); - if (data.single) { - onSingleInstance('render'); - } - } catch (error) { - setError(error.message); - } - }; - fetchDetails(); - }, [endpoint, templateName, objectID, onSingleInstance]); - if (error) { - return ( -
- {error} -
- ); - } - return ( -
-
- {details.name} -
-

- {details.description} -

- {details.error ? ( -
-

- We failed to find matching template instances due to the following - error:{' '} -

-
- {details.error} -
-
- ) : ( - <> - {details && !details.single ? ( - setFilterText(e.target.value)} - placeholder="Filter objects" - className="mx-auto mb-3 mr-6 w-full rounded bg-custom-light p-2 - text-gray-700 shadow-sm dark:border-gray-500 - dark:bg-custom-dark-3 dark:text-gray-100" - /> - ) : ( - <> - )} -
- {details.instanceList && - details.single === false && - details.instanceList.length === 0 ? ( -

- No objects found -

- ) : ( - details.instanceList && - details.instanceList - .filter( - (object) => - object.name && - object.name - .toLowerCase() - .includes(filterText.toLowerCase()) - ) - .sort((a, b) => a.name.localeCompare(b.name)) - .map((object) => ( -
{ - navigate(`/${templateName}/${object.idx}`); - }} - className={`${ - objectID && object.idx === objectID - ? `w-full bg-custom-blue text-white - dark:bg-custom-blue ` + 'dark:text-gray-100' - : 'w-full bg-gray-200 text-gray-900 ' + - 'dark:bg-custom-dark-4' - } dark:bg-dark-quaternary m-2 min-w-0 cursor-pointer - rounded-lg shadow-md hover:bg-custom-blue - hover:text-white dark:border-gray-700 dark:shadow-dark - dark:hover:bg-blue-500`}> -
-
- {object.name} -
-
-
- )) - )} -
- - )} -
- ); -}; diff --git a/frontend/src/components/ThemeSwitcher.jsx b/frontend/src/components/ThemeSwitcher.jsx deleted file mode 100644 index b225e6e..0000000 --- a/frontend/src/components/ThemeSwitcher.jsx +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 -import { useState, useEffect } from 'react'; -import { Sun, Moon } from 'lucide-react'; - -export const ThemeSwitcher = () => { - const systemTheme = - window.matchMedia && - window.matchMedia('(prefers-color-scheme: dark)').matches - ? 'dark' - : 'light'; - - const savedTheme = localStorage.getItem('theme') || systemTheme; - const [theme, setTheme] = useState(savedTheme); - - useEffect(() => { - if (theme === 'dark') { - document.documentElement.classList.add('dark'); - document.documentElement.classList.remove('light'); - } else { - document.documentElement.classList.add('light'); - document.documentElement.classList.remove('dark'); - } - localStorage.setItem('theme', theme); - }, [theme]); - - const toggleTheme = () => { - setTheme(theme === 'dark' ? 'light' : 'dark'); - }; - - return ( -
- {theme === 'dark' ? ( - - ) : ( - - )} -
- ); -}; diff --git a/frontend/src/components/ViewsList.jsx b/frontend/src/components/ViewsList.jsx deleted file mode 100644 index 12cf870..0000000 --- a/frontend/src/components/ViewsList.jsx +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { TemplateCard } from './TemplateCard'; - -export const ViewsList = ({ templates, cardClickCallback }) => { - let categories = { - oa: 'Operational Analysis Reports', - sa: 'System Analysis Reports', - la: 'Logical Architecture Reports', - pa: 'Physical Architecture Reports', - xc: 'Cross-cutting Reports', - other: 'Other reports' - }; - - return ( -
- {Object.keys(categories).map((cat) => { - if (cat in templates && templates[cat].length > 0) { - return ( -
-

- - {categories[cat]} - -

-
- {templates[cat].map((template) => ( - - ))} -
-
- ); - } - return null; - })} -
- ); -}; diff --git a/frontend/src/components/WiredTemplatesList.jsx b/frontend/src/components/WiredTemplatesList.jsx deleted file mode 100644 index c065722..0000000 --- a/frontend/src/components/WiredTemplatesList.jsx +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState, useEffect } from 'react'; -import { useNavigate } from 'react-router'; -import { ViewsList } from './ViewsList'; -import { API_BASE_URL } from '../APIConfig'; - -export const WiredTemplatesList = () => { - const [templates, setTemplates] = useState([]); - const [error, setError] = useState(null); - const navigate = useNavigate(); - - useEffect(() => { - const fetchTemplates = async () => { - try { - const response = await fetch(API_BASE_URL + '/views', { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }); - const data = await response.json(); - setTemplates(data); - } catch (error) { - setError(error.message); - } - }; - fetchTemplates(); - }, []); - - if (error) { - return ( -
- {error === 'Failed to fetch' - ? `Can't connect to the server. Maybe your session was inactive for - too long? If that's the case, request a new session / restart the app.` - : error} -
- ); - } - return ( - navigate(`/${idx}`, { state: { idx: idx } })} - /> - ); -}; diff --git a/frontend/src/index.css b/frontend/src/index.css deleted file mode 100644 index 49aac99..0000000 --- a/frontend/src/index.css +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - --custom-light: #dee4e7; - --custom-dark-1: #24273a; - --custom-dark-2: #363a4f; - --custom-dark-3: #6e738d; - --custom-dark-4: #5b6078; - --custom-dark-error: #ed8796; - --custom-blue: #2196f3; - --custom-blue-hover: #1976d2; -} - -html, -body, -#root { - min-height: 100%; - height: 100%; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - @apply bg-gray-200 bg-auto dark:bg-custom-dark-1; -} - -.react-transform-wrapper { - overflow: visible !important; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } -} - -.collapsed { - width: 50px; -} - -.html-content { - text-align: left; -} - -.html-content h1, -.html-content h2, -.html-content h3, -.html-content h4, -.html-content h5, -.html-content h6 { - word-break: break-word; -} - -.html-content svg { - display: block; - @apply h-auto max-w-full; - text-align: center; -} - -.html-content h1 { - @apply mb-4 mt-5 text-4xl; -} - -.html-content h2 { - @apply mb-3 mt-5 text-3xl; -} - -.html-content h3 { - @apply mb-3 mt-5 text-2xl; -} - -.html-content h4 { - @apply mb-3 mt-5 text-xl; -} - -.html-content table { - @apply min-w-full divide-y divide-gray-400; -} -.html-content table tr { - border-bottom: 1px solid #ddd; -} -.html-content table tr:last-of-type { - border-bottom: none; -} -.html-content table tr td, -.html-content table tr th { - vertical-align: top; - padding: 0 0.4em; - word-break: break-word; -} -.html-content table tr td:first-of-type, -.html-content table tr th:first-of-type { - vertical-align: top; - padding: 0 0.4em; - word-break: normal; -} -.html-content table tr td p { - padding-top: 0; - margin-top: 0; -} - -.html-content table tr td p:last-of-type { - margin-bottom: 0.2em; -} - -.html-content table tr td ul { - padding-bottom: 0.6em; -} - -.html-content p { - margin-top: 0.75em; - margin-bottom: 0.75em; - line-height: 1.5em; -} -.html-content p a, -.html-content li a { - @apply italic text-gray-500 hover:underline; -} - -ul { - @apply list-disc pl-5; -} - -@media print { - body.svg-hidden, - .html-wrapper, - .flex-1, - .html-content { - overflow: hidden !important; - height: auto !important; - } - body.svg-hidden .print\\:hidden { - display: none !important; - } - body.svg-hidden .html-content { - border: none !important; - box-shadow: none !important; - margin: auto !important; - width: 100% !important; - } - body.svg-visible { - overflow: hidden !important; - height: 100vh !important; - } - body.svg-visible .html-content { - border: none !important; - box-shadow: none !important; - margin: auto !important; - width: 100% !important; - } - @page { - margin: 15mm; - } -} - -.switch { - position: relative; - display: inline-block; - width: 60px; - height: 34px; -} - -.switch input { - opacity: 0; - width: 0; - height: 0; -} - -.slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #ccc; - transition: 0.4s; -} - -.slider:before { - position: absolute; - content: ''; - height: 26px; - width: 26px; - left: 4px; - bottom: 4px; - background-color: white; - transition: 0.4s; -} - -input:checked + .slider { - background-color: #2196f3; -} - -input:focus + .slider { - box-shadow: 0 0 1px #2196f3; -} - -input:checked + .slider:before { - transform: translateX(26px); -} - -.slider.round { - border-radius: 34px; -} - -.slider.round:before { - border-radius: 50%; -} - -.header-button { - display: flex; - cursor: pointer; - align-items: center; - justify-content: center; - border-radius: 9999px; - border: 2px solid transparent; - background-color: var(--custom-blue); - padding: 0.5rem; - transition: all 0.5s ease-in-out; -} - -.header-button:hover { - background-color: var(--custom-blue-hover); -} - -.deleted, -del { - color: red; -} - -.created, -ins { - color: #00aa00; -} - -.text-removed, -del > p { - background: #ffe6e6; - display: inline; - text-decoration: none; -} - -.text-added, -ins > p { - background: #e6ffe6; - text-decoration: none; - display: inline; -} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx deleted file mode 100644 index bf84b57..0000000 --- a/frontend/src/main.jsx +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import App from './App.jsx'; -import './index.css'; - -ReactDOM.createRoot(document.getElementById('root')).render( - - - -); diff --git a/frontend/src/stories/ObjectList.stories.js b/frontend/src/stories/ObjectList.stories.js deleted file mode 100644 index f2e13cc..0000000 --- a/frontend/src/stories/ObjectList.stories.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -import { ObjectList } from '../components/ObjectList'; - -export default { - title: 'Example/ObjectList', - component: ObjectList, - // This component will have an automatically generated Autodocs entry: - // https://storybook.js.org/docs/writing-docs/autodocs - tags: ['autodocs'], - parameters: { - // More on how to position stories at: - // https://storybook.js.org/docs/configure/story-layout - layout: 'fullscreen' - } -}; - -export const Capabilities = { - args: { - objects: [ - { name: 'Brew Coffee', uuid: '9876' }, - { name: 'Steam Milk', uuid: '5432' }, - { name: 'Grind Beans', uuid: 'efgh' }, - { name: 'Clean Machine', uuid: 'mnop' }, - { name: 'Adjust Settings', uuid: 'qrst' } - ] - } -}; diff --git a/frontend/src/stories/Spinner.stories.js b/frontend/src/stories/Spinner.stories.js deleted file mode 100644 index 5f3eff3..0000000 --- a/frontend/src/stories/Spinner.stories.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -// Spinner.stories.js -import { Spinner } from '../components/Spinner'; - -export default { - title: 'Components/Spinner', - component: Spinner -}; -export const Demo = { - args: { - template: { - name: 'Spinner', - description: 'Spins and looks cool.' - } - } -}; diff --git a/frontend/src/stories/TemplateCard.stories.js b/frontend/src/stories/TemplateCard.stories.js deleted file mode 100644 index 452ca23..0000000 --- a/frontend/src/stories/TemplateCard.stories.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -import { TemplateCard } from '../components/TemplateCard'; - -export default { - title: 'Example/TemplateCard', - component: TemplateCard, - tags: ['autodocs'], - // This component will have an automatically generated Autodocs entry: - // https://storybook.js.org/docs/writing-docs/autodocs - parameters: { - // More on how to position stories at: - // https://storybook.js.org/docs/configure/story-layout - layout: 'fullscreen' - } -}; - -export const ExperimentalDocument = { - args: { - name: 'System Capability', - description: `Specifies what the system should be capable of - and how it needs to interact with external actors.`, - idx: 'THE IDENTIFIER', - isDocument: true, - isExperimental: true, - instances: 0, - isBroken: false, - onClickCallback: (idx) => alert(idx) - } -}; - -export const Draft = { - args: { - name: 'System Capability', - description: `Specifies what the system should be capable of - and how it needs to interact with external actors.`, - idx: 'THE IDENTIFIER', - instances: 42, - isExperimental: true, - onClickCallback: (idx) => alert(idx) - } -}; - -export const Broken = { - args: { - name: 'System Capability', - description: `Specifies what the system should be capable of - and how it needs to interact with external actors.`, - idx: 'THE IDENTIFIER', - isBroken: true, - onClickCallback: (idx) => alert(idx) - } -}; diff --git a/frontend/src/stories/ViewsList.stories.js b/frontend/src/stories/ViewsList.stories.js deleted file mode 100644 index 7852af2..0000000 --- a/frontend/src/stories/ViewsList.stories.js +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -import { ViewsList } from '../components/ViewsList'; - -export default { - title: 'Example/ViewsList', - component: ViewsList, - // This component will have an automatically generated Autodocs - // entry: https://storybook.js.org/docs/writing-docs/autodocs - tags: ['autodocs'], - parameters: { - // More on how to position stories at: - // https://storybook.js.org/docs/configure/story-layout - layout: 'fullscreen' - } -}; - -export const Demo = { - args: { - templates: { - xc: [ - { - idx: 'class', - name: 'Data Class', - template: 'cross-cutting/classes.html.j2', - description: - 'Specifies structure of a data class. A class may be used to describe anything from a simple object relationship to a message on a bus.', - scope: { - type: 'Class', - below: null, - filters: {} - }, - single: null, - isStable: null, - isDocument: null, - isExperimental: null, - error: null, - traceback: null, - instanceCount: 34, - instanceList: null - }, - { - idx: 'diagram', - name: 'Diagrams', - template: 'cross-cutting/diagrams.html.j2', - description: - 'Provides access to all human-made diagrams inside the model', - scope: { - type: 'DRepresentationDescriptor', - below: null, - filters: {} - }, - single: null, - isStable: null, - isDocument: null, - isExperimental: null, - error: null, - traceback: null, - instanceCount: 112, - instanceList: null - } - ], - la: [ - { - idx: 'logical-component', - name: 'Logical Components', - template: 'logical-architecture/logical-component.html.j2', - description: - 'Specifies a logical component. This is a ported template from a prototype project.', - scope: { - type: 'LogicalComponent', - below: 'la', - filters: {} - }, - single: null, - isStable: null, - isDocument: null, - isExperimental: true, - error: null, - traceback: null, - instanceCount: 23, - instanceList: null - } - ] - }, - cardClickCallback: (idx) => alert(idx) - } -}; diff --git a/frontend/src/views/HomeView.jsx b/frontend/src/views/HomeView.jsx deleted file mode 100644 index 7bee649..0000000 --- a/frontend/src/views/HomeView.jsx +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useState, useEffect } from 'react'; -import { WiredTemplatesList } from '../components/WiredTemplatesList'; -import { API_BASE_URL } from '../APIConfig'; -import { AppInfo } from '../components/AppInfo'; -import { ModelDiff } from '../components/ModelDiff'; - -export const HomeView = () => { - const [modelInfo, setModelInfo] = useState(null); - const [error, setError] = useState(null); - const [headDate, setHeadDate] = useState(null); - const [headTag, setHeadTag] = useState(null); - const [comparedVersionInfo, setComparedVersionInfo] = useState(null); - const [hasDiffed, setHasDiffed] = useState(false); - - useEffect(() => { - const fetchModelInfo = async () => { - try { - const response = await fetch(API_BASE_URL + '/model-info'); - const data = await response.json(); - setModelInfo(data); - document.title = `${data.title} - Model Explorer`; - } catch (err) { - setError('Failed to fetch model info: ' + err.message); - } - document.body.style.height = 'auto'; - }; - - fetchModelInfo(); - }, []); - - const fetchDiffInfo = async () => { - try { - const response = await fetch(API_BASE_URL + '/diff'); - const data = await response.json(); - if (data.error) { - console.log('Error fetching model diff:', data.error); - setComparedVersionInfo(null); - } else { - setComparedVersionInfo(data); - setHasDiffed(true); - } - } catch (err) { - console.log('Failed to fetch model diff: ' + err.message); - setComparedVersionInfo(null); - } - }; - - useEffect(() => { - fetchDiffInfo(); - }, []); - - useEffect(() => { - const fetchHeadDate = async () => { - try { - const response = await fetch(API_BASE_URL + '/commits'); - const data = await response.json(); - if (data && data.length > 0) { - setHeadDate(data[0].date.substring(0, 10)); - setHeadTag(data[0].tag); - } else { - console.log('No commits found'); - setHeadDate(''); - setHeadTag(''); - } - } catch (err) { - console.log('Failed to fetch head date: ' + err.message); - setHeadDate(''); - setHeadTag(''); - } - }; - fetchHeadDate(); - }, []); - - if (error) { - return ( -
- {error} -
- ); - } - - return ( -
-
- {modelInfo && ( - <> -
-

{modelInfo.title}

- {modelInfo.capella_version && ( -

Capella Version: {modelInfo.capella_version}

- )} - {modelInfo.revision &&

Revision: {modelInfo.revision}

} - {modelInfo.branch &&

Branch: {modelInfo.branch}

} - {modelInfo.hash &&

Current Commit Hash: {modelInfo.hash}

} - {headDate &&

Date Created: {headDate}

} - {headTag &&

Tag: {headTag}

} - - {comparedVersionInfo && ( -
-

Compared to Version:

- {comparedVersionInfo.metadata.old_revision.tag && ( -

Tag: {comparedVersionInfo.metadata.old_revision.tag}

- )} -

- Commit Hash:{' '} - {comparedVersionInfo.metadata.old_revision.hash} -

-

- Date Created:{' '} - {comparedVersionInfo.metadata.old_revision.date.substring( - 0, - 10 - )} -

-
- )} -
-
- - )} -
-
- -
-
- -
-
- ); -}; diff --git a/frontend/src/views/ModelComparisonView.jsx b/frontend/src/views/ModelComparisonView.jsx deleted file mode 100644 index 135155b..0000000 --- a/frontend/src/views/ModelComparisonView.jsx +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -import { useEffect, useState } from 'react'; -import { Header } from '../components/Header'; -import { DiffExplorer } from '../components/DiffExplorer'; -import { DiffView } from '../components/DiffView'; -import { API_BASE_URL } from '../APIConfig'; -import { useMediaQuery } from 'react-responsive'; - -export const ModelComparisonView = ({ endpoint }) => { - const [modelDiff, setModelDiff] = useState(null); - const [objectID, setObjectID] = useState(null); - const [searchTerm, setSearchTerm] = useState(''); - const [filterStatus, setFilterStatus] = useState('all'); - const isSmallScreen = useMediaQuery({ query: '(max-width: 1080px)' }); - const [isSidebarVisible, setIsSidebarVisible] = useState(!isSmallScreen); - - const handleSearchChange = (event) => { - setSearchTerm(event.target.value); - }; - const handleStatusChange = (event) => { - setFilterStatus(event.target.value); - }; - - useEffect(() => { - const fetchModelDiff = async () => { - try { - const response = await fetch(API_BASE_URL + '/diff'); - const data = await response.json(); - setModelDiff(data); - } catch { - setModelDiff({}); - } - document.body.style.height = 'auto'; - }; - - fetchModelDiff(); - }, []); - - useEffect(() => {}, [objectID]); - useEffect(() => { - setIsSidebarVisible(!isSmallScreen); - }, [isSmallScreen]); - - const toggleSidebar = () => { - setIsSidebarVisible(!isSidebarVisible); - }; - - return ( -
-
- {isSmallScreen && ( - - )} -
-
-
- - -
- {modelDiff && - modelDiff.objects && - Object.keys(modelDiff.objects).map( - (layer) => - Object.keys(modelDiff.objects[layer]).length > 0 && ( - - ) - )} -
-
-
- {objectID && } -
-
-
-
- ); -}; diff --git a/frontend/src/views/TemplateView.jsx b/frontend/src/views/TemplateView.jsx deleted file mode 100644 index d367e18..0000000 --- a/frontend/src/views/TemplateView.jsx +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright DB InfraGO AG and contributors -// SPDX-License-Identifier: Apache-2.0 - -/* - -In this component we show list of template instances, and when we click on a -template, we show the rendered instance next to the list. If no imnstance is -selected we show a hint to select one. - -*/ - -import { useEffect, useState } from 'react'; -import { useParams } from 'react-router'; -import { useMediaQuery } from 'react-responsive'; -import { Header } from '../components/Header'; -import { InstanceView } from '../components/InstanceView'; -import { TemplateDetails } from '../components/TemplateDetails'; -import { AppInfo } from '../components/AppInfo'; - -export const TemplateView = ({ endpoint }) => { - let { templateName, objectID } = useParams(); - const [singleObjectID, setObjectID] = useState(null); - const isSmallScreen = useMediaQuery({ query: '(max-width: 1080px)' }); - const [isSidebarVisible, setIsSidebarVisible] = useState(!isSmallScreen); - - useEffect(() => { - document.body.style.overflow = 'hidden'; - document.documentElement.style.overflow = 'hidden'; - - return () => { - document.body.style.overflow = ''; - document.documentElement.style.overflow = ''; - }; - }, []); - useEffect(() => { - setIsSidebarVisible(!isSmallScreen); - }, [isSmallScreen]); - - const toggleSidebar = () => { - setIsSidebarVisible(!isSidebarVisible); - }; - - useEffect(() => { - if (!objectID && !singleObjectID) { - setIsSidebarVisible(true); - } - if (isSmallScreen && objectID) { - setIsSidebarVisible(false); - } - }, [objectID, singleObjectID, isSmallScreen]); - return ( -
-
- {isSmallScreen && ( - - )} -
-
- -
- -
-
- {!objectID && !singleObjectID && ( -

- Select an Instance -

- )} -
-
- {(objectID || singleObjectID) && ( -
- -
- )} -
-
-
-
-
- {!objectID && !singleObjectID ? ( -
- -
- ) : ( -
- -
- )} -
- ); -}; diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js deleted file mode 100644 index bd0d753..0000000 --- a/frontend/tailwind.config.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ -import tailwindScrollbar from 'tailwind-scrollbar'; - -/** @type {import('tailwindcss').Config} */ -export default { - darkMode: 'class', - content: ['./src/**/*.{html,js,jsx}'], - theme: { - extend: { - screens: { - 'custom-phone-width': '512px', - '3xl': '1800px' - }, - boxShadow: { - white: '0 0 15px rgba(255, 255, 255, 0.1)', - dark: '0 4px 6px 0 rgba(0, 0, 0, 0.2)' - }, - animation: { - 'spin-slow': 'spin 1.6s linear infinite' - }, - opacity: { - 54: '.54' - }, - colors: { - 'custom-light': '#dee4e7', - 'custom-dark-1': '#121212', - 'custom-dark-2': '#282828', - 'custom-dark-3': '#3f3f3f', - 'custom-dark-4': '#575757', - 'custom-dark-error': '#ed8796', - 'custom-blue': '#2196f3', - 'custom-blue-hover': '#0b5ea1' - } - } - }, - plugins: [tailwindScrollbar()] -}; diff --git a/frontend/vite.config.js b/frontend/vite.config.js deleted file mode 100644 index 5e23774..0000000 --- a/frontend/vite.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright DB InfraGO AG and contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react()] -}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9451941 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1821 @@ +{ + "name": "capella-model-explorer", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@tailwindcss/cli": "^4.0.0", + "@tailwindcss/typography": "^0.5.16", + "prettier": "^3.4.2", + "prettier-plugin-jinja-template": "^2.0.0", + "remark-parse": "^11.0.0", + "tailwindcss": "^4.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/cli": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.0.4.tgz", + "integrity": "sha512-GhdVjJUrzpjN8aGbtoq5te4G/Xh6XKiIjnDEZT6cefL+bX+CiXiOdrRs+Rjxi9A3oObXRsqa93mPYLhTTfc62w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/watcher": "^2.5.1", + "@tailwindcss/node": "^4.0.4", + "@tailwindcss/oxide": "^4.0.4", + "enhanced-resolve": "^5.18.0", + "lightningcss": "^1.29.1", + "mri": "^1.2.0", + "picocolors": "^1.1.1", + "tailwindcss": "4.0.4" + }, + "bin": { + "tailwindcss": "dist/index.mjs" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.0.4.tgz", + "integrity": "sha512-VLFq80IyoV1hsHPcCm1mmlyPyUT6NlovQLoO2y7PGm84mW94ZrNJ7ax5H6K4M7Aj/fdMfem5IX7Ka+LXWZpDGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "enhanced-resolve": "^5.18.0", + "jiti": "^2.4.2", + "tailwindcss": "4.0.4" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.4.tgz", + "integrity": "sha512-vPpu30KFLiGyPOoElkYt8WRvzGKVrrOz49KpfiGGtnQGmyUpL8VCbJzzEEcpKT5BpaaQidhFok+OXscf6hHjOQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.0.4", + "@tailwindcss/oxide-darwin-arm64": "4.0.4", + "@tailwindcss/oxide-darwin-x64": "4.0.4", + "@tailwindcss/oxide-freebsd-x64": "4.0.4", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.4", + "@tailwindcss/oxide-linux-arm64-gnu": "4.0.4", + "@tailwindcss/oxide-linux-arm64-musl": "4.0.4", + "@tailwindcss/oxide-linux-x64-gnu": "4.0.4", + "@tailwindcss/oxide-linux-x64-musl": "4.0.4", + "@tailwindcss/oxide-win32-arm64-msvc": "4.0.4", + "@tailwindcss/oxide-win32-x64-msvc": "4.0.4" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.4.tgz", + "integrity": "sha512-hiGUA8d15ynH/LdurQNObnuTjri7i4ApAzhesusNxoz4br7vhZ6QO5CFgniYAYNZvf8Q8wCTBg0nj61RalBeVQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.4.tgz", + "integrity": "sha512-vTca+ysNl8BYmYJTni9pLC+L3S4bvrj0ai1eUV3yYXYa5Cpugr5Fni6ylV0gcTZOyETm2RCCJ/0azU6MgqE6HA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.4.tgz", + "integrity": "sha512-rxPWb5AQJ/aAM/5UDCjaQaMYIcrZHe/Dr9xZu9+P9nJf3WAweNsGi+e+SW9EYGRiF3hkBtP2dvxVNAkTiEbNQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.4.tgz", + "integrity": "sha512-UOnRHzlS5V5cxaMgBo6rk1E92tTDUtO/falc9vOpNiRdWhNcofYNN9zvZP63Wuo5FC6/XCyAnJo6OXUm18TwrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.4.tgz", + "integrity": "sha512-0Ry9Qfnf22rmJwHxsCFmHQIl5RZw+yOUUGHaqNT42REL8r308cU/bi4UqdrjqVRfAlu51gOGxTRf2NRueczuIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.4.tgz", + "integrity": "sha512-5a7WD30nVdI7Rl1ohZ0Ojj9t5yRnZkJBizvh3uIW52h9UeNpon8TfoknF6rU/TwD32dQ0Cjo5CcCHtQ2wW9PCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.4.tgz", + "integrity": "sha512-m6s5jKSqos07l6NtHFd49Ljcaw4jIWHE7jq6eNPNz9SCzQqRzs4esP1t7jH8UljQ7JffKOl7yZPwK5Nf+irliw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.4.tgz", + "integrity": "sha512-K5dBjGHzby9eyUBwy9YHFhKY+5i8fzIBZM1NBWp6L2xpM7OzW9WJDgNcgESkZami9g+EozkQLt3ZmMZHAieXkw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.4.tgz", + "integrity": "sha512-J8sskt+fA5ooq+kxy0Tf4E2TRWZD9Y8j3K+pnBwp9zdilLmSd8OHrB3e0/rO78KveZ6BE9ae75cKOWrT6wONmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.4.tgz", + "integrity": "sha512-flFaaMc77NQbz0Fq73wBs9EH2lX1Oc2Z/3JuxoewpnGHpAGJ/j05tvBNMyTaGrKcHvf/+dk+mCDxb6+PmzGgnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.4.tgz", + "integrity": "sha512-WzMA0aL/24/JyNrv2Yhr/Og24QGRPWJMjRyCJ4HRoGMs6/8svOQKrnnZ/9LUFwn56irAndFBjWWnlaqykH+g5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", + "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.1.tgz", + "integrity": "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.1", + "lightningcss-darwin-x64": "1.29.1", + "lightningcss-freebsd-x64": "1.29.1", + "lightningcss-linux-arm-gnueabihf": "1.29.1", + "lightningcss-linux-arm64-gnu": "1.29.1", + "lightningcss-linux-arm64-musl": "1.29.1", + "lightningcss-linux-x64-gnu": "1.29.1", + "lightningcss-linux-x64-musl": "1.29.1", + "lightningcss-win32-arm64-msvc": "1.29.1", + "lightningcss-win32-x64-msvc": "1.29.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz", + "integrity": "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz", + "integrity": "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz", + "integrity": "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz", + "integrity": "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz", + "integrity": "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz", + "integrity": "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz", + "integrity": "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz", + "integrity": "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz", + "integrity": "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz", + "integrity": "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", + "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-jinja-template": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-jinja-template/-/prettier-plugin-jinja-template-2.0.0.tgz", + "integrity": "sha512-REZDAcZuOUvMDaPS47/GNRLKvbxh9DO9euXhWA7gJGqTLGzHPK2Z841F8I4bxsR7e2lqnHezkQ8GcWaKekKBVQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": "^3.0.0" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/tailwindcss": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.4.tgz", + "integrity": "sha512-/ezDLEkOLf1lXkr9F2iI5BHJbexJpty5zkV2B8bGHCqAdbc9vk85Jgdkq+ZOvNkNPa3yAaqJ8DjRt584Bc84kw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + } + } +} diff --git a/frontend/package.json.license b/package-lock.json.license similarity index 100% rename from frontend/package.json.license rename to package-lock.json.license diff --git a/package.json b/package.json new file mode 100644 index 0000000..b6a85a4 --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "devDependencies": { + "@tailwindcss/cli": "^4.0.0", + "@tailwindcss/typography": "^0.5.16", + "prettier": "^3.4.2", + "prettier-plugin-jinja-template": "^2.0.0", + "remark-parse": "^11.0.0", + "tailwindcss": "^4.0.0" + } +} diff --git a/package.json.license b/package.json.license new file mode 100644 index 0000000..02c8c23 --- /dev/null +++ b/package.json.license @@ -0,0 +1,2 @@ +Copyright DB InfraGO AG and contributors +SPDX-License-Identifier: Apache-2.0 diff --git a/pyproject.toml b/pyproject.toml index 5e31b4d..45421ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,23 +16,22 @@ license = { text = "Apache-2.0" } authors = [{ name = "DB InfraGO AG" }] keywords = [] classifiers = [ - "Development Status :: 1 - Planning", - "License :: OSI Approved :: Apache Software License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", + "Development Status :: 1 - Planning", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ - "capellambse>=0.6.6,<0.7", - "capellambse-context-diagrams>=0.4.1", - "diff-match-patch", + "capellambse-context-diagrams>=0.7.3,<0.8", + "capellambse>=0.6.12,<0.7", "jinja2", - "fastapi", - "uvicorn", "prometheus-client", + "python-fasthtml", + "uvicorn", ] [project.urls] @@ -40,9 +39,21 @@ Homepage = "https://github.com/DSD-DBS/capella-model-explorer" Documentation = "https://dsd-dbs.github.io/capella-model-explorer" [project.optional-dependencies] +dev = ["pre-commit", "python-dotenv"] docs = ["furo", "sphinx", "sphinx-copybutton"] +test = [ + "coverage", + "psutil", + "pytest", + "pytest-cov", + "pytest-xdist", # to be able to run soecific tests sequentially + "requests", + "types-psutil", + "types-requests", +] -test = ["pytest", "pytest-cov"] +[project.scripts] +cme = "capella_model_explorer.__main__:main" [tool.coverage.run] branch = true @@ -51,10 +62,10 @@ source = ["capella_model_explorer"] [tool.coverage.report] exclude_also = [ - 'if t\.TYPE_CHECKING:', - 'class .*\bt\.Protocol\):', - '@abc\.abstractmethod', - '@t\.overload', + 'if t\.TYPE_CHECKING:', + 'class .*\bt\.Protocol\):', + '@abc\.abstractmethod', + '@t\.overload', ] skip_covered = true @@ -75,7 +86,7 @@ python_version = "3.11" [[tool.mypy.overrides]] # Untyped third party libraries -module = ["diff_match_patch"] +module = ["diff_match_patch", "fasthtml.*", "requests.*"] ignore_missing_imports = true [tool.pytest.ini_options] @@ -92,69 +103,69 @@ line-length = 79 [tool.ruff.lint] extend-select = [ - "ARG", # flake8-unused-arguments - "B", # flake8-bugbear - "C4", # flake8-comprehensions - "C90", # mccabe - "D", # pydocstyle - "D212", # "Multi-line docstring summary should start at the first line" - "D402", # "First line should not be the function’s 'signature'" - "D417", # "Missing argument descriptions in the docstring" - "DTZ", # flake8-datetimez - "ERA", # eradicate - "FA", # flake8-future-annotations - "FBT", # flake8-boolean-trap - "FIX", # flake8-fixme - "FURB", # refurb - "G", # flake8-logging-format - "I", # isort - "ICN", # flake8-import-conventions - "ISC001", # "Implicitly concatenated string literals on one line" - "ISC003", # "Explicitly concatenated string should be implicitly concatenated" - "LOG", # flake8-logging - "PIE", # flake8-pie - "PL", # pylint - "PT", # flake8-pytest-style - "RET", # flake8-return - "RUF", # ruff - "SIM", # flake8-simplify - "TC005", # "Found empty type-checking block" - "T1", # flake8-debugger - "UP", # pyupgrade - "YTT", # flake8-2020 + "ARG", # flake8-unused-arguments + "B", # flake8-bugbear + "C4", # flake8-comprehensions + "C90", # mccabe + "D", # pydocstyle + "D212", # "Multi-line docstring summary should start at the first line" + "D402", # "First line should not be the function’s 'signature'" + "D417", # "Missing argument descriptions in the docstring" + "DTZ", # flake8-datetimez + "ERA", # eradicate + "FA", # flake8-future-annotations + "FBT", # flake8-boolean-trap + "FIX", # flake8-fixme + "FURB", # refurb + "G", # flake8-logging-format + "I", # isort + "ICN", # flake8-import-conventions + "ISC001", # "Implicitly concatenated string literals on one line" + "ISC003", # "Explicitly concatenated string should be implicitly concatenated" + "LOG", # flake8-logging + "PIE", # flake8-pie + "PL", # pylint + "PT", # flake8-pytest-style + "RET", # flake8-return + "RUF", # ruff + "SIM", # flake8-simplify + "TC005", # "Found empty type-checking block" + "T1", # flake8-debugger + "UP", # pyupgrade + "YTT", # flake8-2020 ] extend-ignore = [ - "D1", # Missing docstring in _ - "D201", # No blank lines allowed before function docstring # auto-formatting - "D202", # No blank lines allowed after function docstring # auto-formatting - "D203", # 1 blank line required before class docstring # auto-formatting - "D204", # 1 blank line required after class docstring # auto-formatting - "D211", # No blank lines allowed before class docstring # auto-formatting - "D213", # Multi-line docstring summary should start at the second line - "DTZ001", # `tzinfo=None` passed to `datetime.datetime()` - "DTZ005", # `tz=None` passed to `datetime.datetime.now()` - "E402", # Module level import not at top of file - "F403", # `from _ import *` used; unable to detect undefined names - "F405", # `_` may be undefined, or defined from star imports - "PLC0414", # Import alias does not rename original package # used for explicit reexports - "PLR0904", # Too many public methods - "PLR0911", # Too many return statements - "PLR0912", # Too many branches - "PLR0913", # Too many arguments in function definition - "PLR0914", # Too many local variables - "PLR0915", # Too many statements - "PLR0916", # Too many Boolean expressions - "PLR0917", # Too many positional arguments - "SIM108", # Use ternary operator instead of `if`-`else`-block + "D1", # Missing docstring in _ + "D201", # No blank lines allowed before function docstring # auto-formatting + "D202", # No blank lines allowed after function docstring # auto-formatting + "D203", # 1 blank line required before class docstring # auto-formatting + "D204", # 1 blank line required after class docstring # auto-formatting + "D211", # No blank lines allowed before class docstring # auto-formatting + "D213", # Multi-line docstring summary should start at the second line + "DTZ001", # `tzinfo=None` passed to `datetime.datetime()` + "DTZ005", # `tz=None` passed to `datetime.datetime.now()` + "E402", # Module level import not at top of file + "F403", # `from _ import *` used; unable to detect undefined names + "F405", # `_` may be undefined, or defined from star imports + "PLC0414", # Import alias does not rename original package # used for explicit reexports + "PLR0904", # Too many public methods + "PLR0911", # Too many return statements + "PLR0912", # Too many branches + "PLR0913", # Too many arguments in function definition + "PLR0914", # Too many local variables + "PLR0915", # Too many statements + "PLR0916", # Too many Boolean expressions + "PLR0917", # Too many positional arguments + "SIM108", # Use ternary operator instead of `if`-`else`-block ] [tool.ruff.lint.extend-per-file-ignores] "__init__.py" = [ - "PLE0604", # Invalid object in `__all__`, must contain only strings # false-positive when unpacking imported submodule __all__ + "PLE0604", # Invalid object in `__all__`, must contain only strings # false-positive when unpacking imported submodule __all__ ] "tests/test_*.py" = [ - "F811", # Redefinition of unused `_` from line _ - "PLR2004", # Magic value used in comparison, consider replacing `_` with a constant variable + "F811", # Redefinition of unused `_` from line _ + "PLR2004", # Magic value used in comparison, consider replacing `_` with a constant variable ] [tool.ruff.lint.pydocstyle] diff --git a/static/README.md b/static/README.md new file mode 100644 index 0000000..a6e250a --- /dev/null +++ b/static/README.md @@ -0,0 +1,11 @@ + + +# Directory `static` + +This directory contains the `favicon.ico` and Javascript files for the website. + +The `favicon.ico` has been converted from the SVG in `dev/favicon.svg` via the +ImageMagick command `magick convert -background none favicon.svg favicon.ico`. diff --git a/static/css/input.css b/static/css/input.css new file mode 100644 index 0000000..0185e63 --- /dev/null +++ b/static/css/input.css @@ -0,0 +1,112 @@ +/* + * Copyright DB InfraGO AG and contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* from: https://www.seancdaly.com/posts/fasthtml_tailwind/#custom_css */ +@import "tailwindcss"; + +@plugin '@tailwindcss/typography'; + +@source './*.css'; + +.template-container ul > li > a > img, +.template-container a > img { + margin: 0 !important; +} +.js-plotly-plot .plotly .modebar svg { + display: inline; +} +html.dark .layer-above, +html.dark .svg-display svg:not(.main-svg):not(.icon) { + filter: hue-rotate(180deg) invert(80%) saturate(200%); +} + +div.dark\:prose-invert th { + color: black !important; +} +div.dark\:prose-invert tr:hover { + color: black !important; +} + +.html-content { + text-align: left; +} +.html-content a { + @apply no-underline; + @apply font-normal; +} +.html-content h1, +.html-content h2, +.html-content h3, +.html-content h4, +.html-content h5, +.html-content h6 { + word-break: break-word; +} + +.html-content svg { + display: block; + @apply h-auto max-w-full; + text-align: center; +} + +.html-content h1 { + @apply mb-4 mt-5 text-4xl; +} + +.html-content h2 { + @apply mb-3 mt-5 text-3xl; +} + +.html-content h3 { + @apply mb-3 mt-5 text-2xl; +} + +.html-content h4 { + @apply mb-3 mt-5 text-xl; +} + +.html-content table { + @apply min-w-full divide-y divide-gray-400; +} +.html-content table tr { + border-bottom: 1px solid #ddd; +} +.html-content table tr:last-of-type { + border-bottom: none; +} +.html-content table tr td, +.html-content table tr th { + vertical-align: top; + padding: 0 0.4em; + word-break: break-word; +} +.html-content table tr td:first-of-type, +.html-content table tr th:first-of-type { + vertical-align: top; + padding: 0 0.4em; + word-break: normal; +} +.html-content table tr td p { + padding-top: 0; + margin-top: 0; +} + +.html-content table tr td p:last-of-type { + margin-bottom: 0.2em; +} + +.html-content table tr td ul { + padding-bottom: 0.6em; +} + +.html-content p { + margin-top: 0.75em; + margin-bottom: 0.75em; + line-height: 1.5em; +} +.html-content p a, +.html-content li a { + @apply italic text-gray-500 hover:underline; +} diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..7ce1dbc Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/favicon.ico.license b/static/favicon.ico.license new file mode 100644 index 0000000..02c8c23 --- /dev/null +++ b/static/favicon.ico.license @@ -0,0 +1,2 @@ +Copyright DB InfraGO AG and contributors +SPDX-License-Identifier: Apache-2.0 diff --git a/static/js/diagramViewer.js b/static/js/diagramViewer.js new file mode 100644 index 0000000..a19e40e --- /dev/null +++ b/static/js/diagramViewer.js @@ -0,0 +1,141 @@ +/* + * Copyright DB InfraGO AG and contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +function showDiagramInPlotly(svgContainer) { + let plotlyChart = svgContainer.nextElementSibling; + while (plotlyChart && !plotlyChart.classList.contains("plotly-chart")) { + plotlyChart = plotlyChart.nextElementSibling; + } + const svgElement = svgContainer.firstElementChild; + const svg_width = parseFloat(svgElement.getAttribute("width")) + 2; + const svg_height = parseFloat(svgElement.getAttribute("height")) + 2; + const svgData = svgElement.outerHTML; + const svgDataUrl = + "data:image/svg+xml;charset=utf-8," + encodeURIComponent(svgData); + const data = []; + const layout = { + images: [ + { + source: svgDataUrl, + x: -svg_width / 2, + y: -svg_height / 2, + sizex: svg_width, + sizey: svg_height, + xref: "x", + yref: "y", + xanchor: "left", + yanchor: "bottom", + sizing: "stretch", + }, + ], + autosize: true, + margin: { l: 0, r: 0, b: 0, t: 0 }, + width: parseInt(plotlyChart.getAttribute("width")), + xaxis: { + range: [-svg_width / 2, svg_width / 2], + autorange: false, + visible: false, + }, + yaxis: { + range: [-svg_height / 2, svg_height / 2], + autorange: false, + scaleanchor: "x", + scaleratio: 1, + visible: false, + }, + plot_bgcolor: "transparent", + paper_bgcolor: "transparent", + dragmode: "pan", + }; + var printIcon = { + width: 500, + height: 500, + name: "Print", + path: "M128 0C92.7 0 64 28.7 64 64l0 96 64 0 0-96 226.7 0L384 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0L128 0zM384 352l0 32 0 64-256 0 0-64 0-16 0-16 256 0zm64 32l32 0c17.7 0 32-14.3 32-32l0-96c0-35.3-28.7-64-64-64L64 192c-35.3 0-64 28.7-64 64l0 96c0 17.7 14.3 32 32 32l32 0 0 64c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-64zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z", + }; + var closeIcon = { + width: 500, + height: 500, + path: "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z", + }; + + var config = { + toImageButtonOptions: { + format: "svg", // one of png, svg, jpeg, webp + }, + modeBarButtonsToRemove: ["autoScale2d"], + modeBarButtonsToAdd: [ + { + name: "Print", + icon: printIcon, + click: function () { + Plotly.toImage(plotlyChart, { format: "svg" }) + .then(function (dataUrl) { + var windowContent = ""; + windowContent += ""; + windowContent += "Diagram"; + windowContent += ""; + if (svg_width >= svg_height) { + windowContent += + ''; + } else { + windowContent += + ''; + } + windowContent += ""; + windowContent += ""; + var printWindow = window.open("", "", "width=800,height=600"); + printWindow.document.open(); + printWindow.document.write(windowContent); + printWindow.document.close(); + printWindow.focus(); + printWindow.onload = function () { + printWindow.print(); + printWindow.close(); + }; + }) + .catch(function (error) { + console.error("Error generating image for print:", error); + }); + }, + }, + { + name: "Close", + icon: closeIcon, + click: function () { + const charts = document.querySelectorAll(".plotly-chart"); + for (var chart of charts) { + chart.style.display = "none"; + } + }, + }, + ], + scrollZoom: true, + displayModeBar: true, + displaylogo: false, + responsive: true, + }; + + Plotly.newPlot(plotlyChart, data, layout, config); +} + +function openDiagramViewer(svgContainer) { + let plotlyChart = svgContainer.nextElementSibling; + while (plotlyChart && !plotlyChart.classList.contains("plotly-chart")) { + plotlyChart = plotlyChart.nextElementSibling; + } + plotlyChart.style.display = "block"; + showDiagramInPlotly(svgContainer); +} +document.addEventListener("keydown", function (event) { + if (event.key === "Escape") { + const charts = document.querySelectorAll(".plotly-chart"); + for (chart of charts) { + chart.style.display = "none"; + } + } +}); diff --git a/static/js/model_object_list.js b/static/js/model_object_list.js new file mode 100644 index 0000000..eee5c19 --- /dev/null +++ b/static/js/model_object_list.js @@ -0,0 +1,11 @@ +/* + * Copyright DB InfraGO AG and contributors + * SPDX-License-Identifier: Apache-2.0 + */ +document.querySelectorAll(".model_object_btn").forEach((item) => { + item.addEventListener("click", function () { + document.querySelectorAll(".model_object_btn").forEach((element) => { + element.setAttribute("aria-selected", element == this); + }); + }); +}); diff --git a/static/js/plotly-3.0.0.min.js b/static/js/plotly-3.0.0.min.js new file mode 100644 index 0000000..dc83321 --- /dev/null +++ b/static/js/plotly-3.0.0.min.js @@ -0,0 +1,3879 @@ +/** +* plotly.js v3.0.0 +* Copyright 2012-2025, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +( + function(root, factory) { + if (typeof module === "object" && module.exports) { + module.exports = factory(); + } else { + root.moduleName = factory(); + } +} (typeof self !== "undefined" ? self : this, () => { +"use strict";var Plotly=(()=>{var $C=Object.defineProperty,DQe=Object.defineProperties,zQe=Object.getOwnPropertyDescriptor,FQe=Object.getOwnPropertyDescriptors,qQe=Object.getOwnPropertyNames,WQ=Object.getOwnPropertySymbols;var XQ=Object.prototype.hasOwnProperty,OQe=Object.prototype.propertyIsEnumerable;var ZQ=(e,t,r)=>t in e?$C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,YQ=(e,t)=>{for(var r in t||(t={}))XQ.call(t,r)&&ZQ(e,r,t[r]);if(WQ)for(var r of WQ(t))OQe.call(t,r)&&ZQ(e,r,t[r]);return e},KQ=(e,t)=>DQe(e,FQe(t));var su=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),BQe=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},NQe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of qQe(t))!XQ.call(e,i)&&i!==r&&$C(e,i,{get:()=>t[i],enumerable:!(n=zQe(t,i))||n.enumerable});return e};var ab=e=>NQe($C({},"__esModule",{value:!0}),e);var QC=ye(JQ=>{"use strict";JQ.version="3.0.0"});var QQ=ye(($Q,e6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof e6!="undefined"&&e6.exports?e6.exports=r[t]:typeof define=="function"&&define.amd&&define(function(){return r[t]})})("Promise",typeof window!="undefined"?window:$Q,function(){"use strict";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!="undefined"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(g){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(g,E){n.add(g,E),r||(r=a(n.drain))}function s(g){var E,k=typeof g;return g!=null&&(k=="object"||k=="function")&&(E=g.then),typeof E=="function"?E:!1}function l(){for(var g=0;g0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(g){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=g,E.state=2,E.chain.length>0&&o(l,E))}function h(g,E,k,A){for(var L=0;L{(function(){var e={version:"3.8.2"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+"")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+"")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+"",Be)}}e.ascending=f;function f(Z,oe){return Zoe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oeZ?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var g=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error("infinite range");var Be=[],Ue=E(g(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We=0&&(we=Z.slice(0,oe))!=="xmlns"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z=="string"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe=="function"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\s+/g," ")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z=="string"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp("^__on([^.]+)"+e.requote(Z)+"$"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&Ht.forEach(function(Z){"on"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=".dragsuppress-"+ ++Br,we="click"+oe,Be=e.select(a(Z)).on("touchmove"+oe,_e).on("dragstart"+oe,_e).on("selectstart"+oe,_e);if(_r==null&&(_r="onselectstart"in Z?!1:G(Z.style,"userSelect")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]="none"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:"zoomstart"})}function so(pn){ga(),pn({type:"zoom",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:"zoomend"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=".zoom-"+e.event.changedTouches[0].identifier,fu="touchmove"+xl,dl="touchend"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(""+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+""}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)==="%"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z=="function"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we=="function"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch("beforesend","progress","load","error"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!("withCredentials"in tt)&&/^(http(s)?:)?\/\//.test(Z)&&(tt=new XDomainRequest),"onload"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+"").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+"",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+"",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},["get","post"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr=="function"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!("accept"in wt)&&(wt.accept=oe+",*/*"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on("error",Ir).on("load",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,"on"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!=="text"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('["'+Z+` +]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++ZYe)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Il(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Il(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Wl(Z){this.site=Z,this.edges=[]}Wl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Zl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;IrYe||g(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,g(tt-oe)Ye?{x:oe,y:g(We-oe)Ye?{x:g(wt-Ue)Ye?{x:we,y:g(We-we)Ye?{x:g(wt-Be)=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=$l._;ci;)if(ii.y0)){if(qr/=oi,oi<0){if(qr0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr0)){if(qr/=ui,ui<0){if(qr0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||g(Ue.a.x-Ue.b.x)=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Zl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++uici&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qrci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(g(Fo-Ss)+g(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Ul()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Ul();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qrWe||Ir>wt||oi=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;gawe&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we==="string"?Hr.has(oe.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we==="object"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):"in";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(we){if(we!=null){oe.setAttribute("transform",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+"rotate(",null,")")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+"rotate("+oe+")")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+"skewX(",null,")")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+"skewX("+oe+")")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+"scale(",null,",",null,")");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+"scale("+oe+")")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:"end",alpha:We=0})):Jr>0&&(oe.start({type:"start",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,"sort","children","value"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++UeUe&&(Ue=tt),Be.push(tt)}for(wt=0;wtBe&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir0)for(Ir=-1;++Ir=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We=="number"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be=="function"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We=="function"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Rl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;orKr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function ru(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=ru,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt="squarify",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!=="squarify"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++unci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ciii.dx)&&(En=ii.dx);++ci1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,"range","rangeRound","interpolate","clamp")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(g(oe[0]),g(oe[1]))))+ +(Z!=="e"):we-(Z==="%")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:"range",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t==="range"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt0?we[We-1]:Z[0],WeIr?0:1;if(lr=Le)return zt(lr,ui)+(or?zt(or,1-ui):"")+"Z";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push("M",Ue(Z(lr),wt))}for(;++Dr1?Z.join("L"):Z+"Z"}function le(Z){return Z.join("L")+"Z"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],",",Be[1]];++oe1&&Ue.push("H",Be[0]),Ue.join("")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],",",Be[1]];++oe1){tt=oe[1],We=Z[zt],zt++,Be+="C"+(Ue[0]+wt[0])+","+(Ue[1]+wt[1])+","+(We[0]-tt[0])+","+(We[1]-tt[1])+","+We[0]+","+We[1];for(var or=2;or9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++weXe)+",1 "+Dr}function or(lr,Dr,Ir,oi){return"Q 0,0 "+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),"M"+or[0]+"C"+or[1]+" "+or[2]+" "+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return"circle"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return"M0,"+oe+"A"+oe+","+oe+" 0 1,1 0,"+-oe+"A"+oe+","+oe+" 0 1,1 0,"+oe+"Z"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return"M"+-3*oe+","+-oe+"H"+-oe+"V"+-3*oe+"H"+oe+"V"+-oe+"H"+3*oe+"V"+oe+"H"+oe+"V"+3*oe+"H"+-oe+"V"+oe+"H"+-3*oe+"Z"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return"M0,"+-oe+"L"+we+",0 0,"+oe+" "+-we+",0Z"},square:function(Z){var oe=Math.sqrt(Z)/2;return"M"+-oe+","+-oe+"L"+oe+","+-oe+" "+oe+","+oe+" "+-oe+","+oe+"Z"},"triangle-down":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return"M0,"+we+"L"+oe+","+-we+" "+-oe+","+-we+"Z"},"triangle-up":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return"M0,"+-we+"L"+oe+","+we+" "+-oe+","+we+"Z"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Vl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(".tick").data(oi,Ir),Kr=qr.enter().insert("g",".domain").attr("class","tick").style("opacity",Ye),ii=e.transition(qr.exit()).style("opacity",Ye).remove(),vi=e.transition(qr.order()).style("opacity",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(".domain").data([0]),En=(dn.enter().append("path").attr("class","domain"),e.transition(dn));Kr.append("line"),Kr.append("text");var Nn=Kr.select("line"),ga=vi.select("line"),ya=qr.select("text").text(ui),so=Kr.select("text"),wa=vi.select("text"),io=oe==="top"||oe==="left"?-1:1,Ss,_s,Ns,pn;if(oe==="bottom"||oe==="top"?(Jr=cu,Ss="x",Ns="y",_s="x2",pn="y2",ya.attr("dy",io<0?"0em":".71em").style("text-anchor","middle"),En.attr("d","M"+un[0]+","+io*Be+"V0H"+un[1]+"V"+io*Be)):(Jr=el,Ss="y",Ns="x",_s="y2",pn="x2",ya.attr("dy",".32em").style("text-anchor",io<0?"end":"start"),En.attr("d","M"+io*Be+","+un[0]+"H0V"+un[1]+"H"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+"":Vl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Vl="bottom",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr("transform",function(Be){var Ue=oe(Be);return"translate("+(isFinite(Ue)?Ue:we(Be))+",0)"})}function el(Z,oe,we){Z.attr("transform",function(Be){var Ue=oe(Be);return"translate(0,"+(isFinite(Ue)?Ue:we(Be))+")"})}e.svg.brush=function(){var Z=ke(lr,"brushstart","brush","brushend"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",ui).on("touchstart.brush",ui),ii=Kr.selectAll(".background").data([0]);ii.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Kr.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var vi=Kr.selectAll(".resize").data(or,H);vi.exit().remove(),vi.enter().append("g").attr("class",function(dn){return"resize "+dn}).style("cursor",function(dn){return nu[dn]}).append("rect").attr("x",function(dn){return/[ew]$/.test(dn)?-3:null}).attr("y",function(dn){return/^[ns]/.test(dn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),vi.style("display",lr.empty()?"none":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr("x",un[0]).attr("width",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr("y",un[0]).attr("height",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each("start.brush",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:"brushstart"})}).tween("brush:brush",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:"brush",mode:"resize"})}}).each("end.brush",function(){We=ii.i,wt=ii.j,Kr({type:"brush",mode:"resize"}),Kr({type:"brushend"})}):(Kr({type:"brushstart"}),Kr({type:"brush",mode:"resize"}),Kr({type:"brushend"}))})};function Dr(qr){qr.selectAll(".resize").attr("transform",function(Kr){return"translate("+Be[+/e$/.test(Kr)]+","+Ue[+/^s/.test(Kr)]+")"})}function Ir(qr){qr.select(".extent").attr("x",Be[0]),qr.selectAll(".extent,.n>rect,.s>rect").attr("width",Be[1]-Be[0])}function oi(qr){qr.select(".extent").attr("y",Ue[0]),qr.selectAll(".extent,.e>rect,.w>rect").attr("height",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed("extent"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on("keydown.brush",Ss).on("keyup.brush",_s);if(e.event.changedTouches?so.on("touchmove.brush",Ns).on("touchend.brush",za):so.on("mousemove.brush",Ns).on("mouseup.brush",za),vi.interrupt().selectAll("*").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",Kr.style("cursor")),ii({type:"brushstart"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]{(function(e,t){typeof r6=="object"&&typeof eee!="undefined"?t(r6):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(r6,function(e){"use strict";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,g=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=g.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),p=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=p.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=g,e.timeDays=E,e.timeFriday=p,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,"__esModule",{value:!0})})});var e3=ye((i6,tee)=>{(function(e,t){typeof i6=="object"&&typeof tee!="undefined"?t(i6,hq()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(i6,function(e,t){"use strict";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,"%":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,"%":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:p,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:g,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,"%":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t53)return null;"w"in xn||(xn.w=1),"Z"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else("W"in xn||"U"in xn)&&("w"in xn||(xn.w="u"in xn?xn.u%7:"W"in xn?1:0),Hr="Z"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d="W"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return"Z"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+="",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+="",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+="",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+="",!0);return Ha.toString=function(){return Sn},Ha}}}var o={"-":"",_:" ",0:"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?"-":"",ht=(Xe?-Ne:Ne)+"",Le=ht.length;return Xe+(Le68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||"00")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+"000"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?"-":(Ye*=-1,"+"))+c(Ye/60|0,"0",2)+c(Ye%60,"0",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+"000"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return"+0000"}function Et(){return"%"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r="%Y-%m-%dT%H:%M:%S.%LZ";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date("2000-01-01T00:00:00.000Z")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})})});var dq=ye((n6,ree)=>{(function(e,t){typeof n6=="object"&&typeof ree!="undefined"?t(n6):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(n6,function(e){"use strict";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString("en").replace(/,/g,""):C.toString(10)}function r(C,M){if((p=(C=M?C.toExponential(M-1):C.toExponential()).indexOf("e"))<0)return null;var p,P=C.slice(0,p);return[P.length>1?P[0]+P.slice(2):P,+C.slice(p+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(p,P){for(var T=p.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(p.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(p){return C[+p]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error("invalid format: "+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?" ":C.fill+"",this.align=C.align===void 0?">":C.align+"",this.sign=C.sign===void 0?"-":C.sign+"",this.symbol=C.symbol===void 0?"":C.symbol+"",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?"":C.type+""}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function u(C){e:for(var M=C.length,p=1,P=-1,T;p0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var p=r(C,M);if(!p)return C+"";var P=p[0],T=p[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join("0"):F>0?P.slice(0,F)+"."+P.slice(F):"0."+new Array(1-F).join("0")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var p=r(C,M);if(!p)return C+"";var P=p[0],T=p[1];return T<0?"0."+new Array(-T).join("0")+P:P.length>T+1?P.slice(0,T+1)+"."+P.slice(T+1):P+new Array(T-P.length+2).join("0")}var d={"%":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+""},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function g(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+""),p=C.currency===void 0?"":C.currency[0]+"",P=C.currency===void 0?"":C.currency[1]+"",T=C.decimal===void 0?".":C.decimal+"",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?"%":C.percent+"",V=C.minus===void 0?"-":C.minus+"",H=C.nan===void 0?"NaN":C.nan+"";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee==="n"?(ge=!0,Ee="g"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee="g"),(Me||W==="0"&&re==="=")&&(Me=!0,W="0",re="=");var Ae=_e==="$"?p:_e==="#"&&/[boxX]/.test(Ee)?"0"+Ee.toLowerCase():"",ze=_e==="$"?P:/[%p]/.test(Ee)?q:"",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee==="c")nt=Ce(ce)+nt,ce="";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!=="+"&&(ot=!1),Ge=(ot?ae==="("?ae:V:ae==="-"||ae==="("?"":ae)+Ge,nt=(Ee==="s"?b[8+c/3]:"")+nt+(ot&&ae==="("?")":""),me){for(ct=-1,qt=ce.length;++ctrt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+""},Re}function G(N,W){var re=X((N=s(N),N.type="f",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function k(C){return E=g(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=g,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,"__esModule",{value:!0})})});var nee=ye((CQt,iee)=>{"use strict";iee.exports=function(e){for(var t=e.length,r,n=0;n13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((LQt,aee)=>{"use strict";var UQe=nee();aee.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&UQe(r))return!1}else if(t!=="number")return!1;return e-e<1}});var es=ye((PQt,oee)=>{"use strict";oee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}});var vq=ye((a6,see)=>{(function(e,t){typeof a6=="object"&&typeof see!="undefined"?t(a6):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["base64-arraybuffer"]={}))})(a6,function(e){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),n=0;n>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+"=":u%3===1&&(c=c.substring(0,c.length-2)+"=="),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,"__esModule",{value:!0})})});var gy=ye((IQt,lee)=>{"use strict";lee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var vv=ye(mg=>{"use strict";var VQe=vq().decode,HQe=gy(),pq=Array.isArray,GQe=ArrayBuffer,jQe=DataView;function uee(e){return GQe.isView(e)&&!(e instanceof jQe)}mg.isTypedArray=uee;function o6(e){return pq(e)||uee(e)}mg.isArrayOrTypedArray=o6;function WQe(e){return!o6(e[0])}mg.isArray1D=WQe;mg.ensureArray=function(e,t){return pq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray=="undefined"?void 0:Uint8ClampedArray,i1:typeof Int8Array=="undefined"?void 0:Int8Array,u1:typeof Uint8Array=="undefined"?void 0:Uint8Array,i2:typeof Int16Array=="undefined"?void 0:Int16Array,u2:typeof Uint16Array=="undefined"?void 0:Uint16Array,i4:typeof Int32Array=="undefined"?void 0:Int32Array,u4:typeof Uint32Array=="undefined"?void 0:Uint32Array,f4:typeof Float32Array=="undefined"?void 0:Float32Array,f8:typeof Float64Array=="undefined"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function gq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=gq;mg.decodeTypedArraySpec=function(e){var t=[],r=ZQe(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: "'+n+'"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;gq(o)||(o=VQe(o));var s=r.shape===void 0?[o.byteLength/a]:(""+r.shape).split(",");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c{"use strict";var fee=uo(),yq=vv().isArrayOrTypedArray;pee.exports=function(t,r){if(fee(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";var n=r.split("."),i,a,o,s;for(s=0;s{"use strict";var t3=ES(),$Qe=/^\w*$/,QQe=0,gee=1,s6=2,mee=3,ob=4;yee.exports=function(t,r,n,i){n=n||"name",i=i||"value";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(a=0;a2)return l[d]=l[d]|s6,f.set(h,null);if(c){for(a=d;a{"use strict";var eet=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,tet=/^[^\.\[\]]+$/;xee.exports=function(e,t){for(;t;){var r=e.match(eet);if(r)e=r[1];else if(e.match(tet))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var l6=ye((qQt,wee)=>{"use strict";var ret=uo();wee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return ret(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var See=ye((OQt,Aee)=>{"use strict";var Tee=vv().isArrayOrTypedArray,kS=gy();Aee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)==="_"||typeof i=="function"){if(n in t)continue;t[n]=i}else if(Tee(i)&&Tee(a)&&kS(i[0])){if(n==="customdata"||n==="ids")continue;for(var o=Math.min(i.length,a.length),s=0;s{"use strict";function iet(e,t){var r=e%t;return r<0?r+t:r}function net(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Mee.exports={mod:iet,modHalf:net}});var id=ye((NQt,u6)=>{(function(e){var t=/^\s+/,r=/\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||"",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?"hsv("+Re+", "+ce+"%, "+Ge+"%)":"hsva("+Re+", "+ce+"%, "+Ge+"%, "+this._roundA+")"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?"hsl("+Re+", "+ce+"%, "+Ge+"%)":"hsla("+Re+", "+ce+"%, "+Ge+"%, "+this._roundA+")"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return"#"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return"#"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+"%",g:i(W(this._g,255)*100)+"%",b:i(W(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(W(this._r,255)*100)+"%, "+i(W(this._g,255)*100)+"%, "+i(W(this._b,255)*100)+"%)":"rgba("+i(W(this._r,255)*100)+"%, "+i(W(this._g,255)*100)+"%, "+i(W(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re="#"+g(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?"GradientType = 1, ":"";if(me){var nt=l(me);ce="#"+g(nt._r,nt._g,nt._b,nt._a)}return"progid:DXImageTransform.Microsoft.gradient("+Ge+"startColorstr="+Re+",endColorstr="+ce+")"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me==="hex"||me==="hex6"||me==="hex3"||me==="hex4"||me==="hex8"||me==="name");return nt?me==="name"&&this._a===0?this.toName():this.toRgbString():(me==="rgb"&&(ce=this.toRgbString()),me==="prgb"&&(ce=this.toPercentageRgbString()),(me==="hex"||me==="hex6")&&(ce=this.toHexString()),me==="hex3"&&(ce=this.toHexString(!0)),me==="hex4"&&(ce=this.toHex8String(!0)),me==="hex8"&&(ce=this.toHex8String()),me==="name"&&(ce=this.toName()),me==="hsl"&&(ce=this.toHslString()),me==="hsv"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me=="object"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge==="a"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me=="string"&&(me=ze(me)),typeof me=="object"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)==="%"?"prgb":"rgb"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt="hsv"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt="hsl"),me.hasOwnProperty("a")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case"AAsmall":case"AAAlarge":ct=Ge>=4.5;break;case"AAlarge":ct=Ge>=3;break;case"AAAsmall":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rtnt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,["#fff","#000"],ce))};var H=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me="100%");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me=="string"&&me.indexOf(".")!=-1&&parseFloat(me)===1}function Me(me){return typeof me=="string"&&me.indexOf("%")!=-1}function ke(me){return me.length==1?"0"+me:""+me}function ge(me){return me<=1&&(me=me*100+"%"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me="[-\\+]?\\d+%?",Re="[-\\+]?\\d*\\.\\d+%?",ce="(?:"+Re+")|(?:"+me+")",Ge="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?",nt="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp("rgb"+Ge),rgba:new RegExp("rgba"+nt),hsl:new RegExp("hsl"+Ge),hsla:new RegExp("hsla"+nt),hsv:new RegExp("hsv"+Ge),hsva:new RegExp("hsva"+nt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,"").replace(r,"").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?"name":"hex8"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?"name":"hex"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),a:Te(ce[4]+""+ce[4]),format:Re?"name":"hex8"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),format:Re?"name":"hex"}:!1}function Ce(me){var Re,ce;return me=me||{level:"AA",size:"small"},Re=(me.level||"AA").toUpperCase(),ce=(me.size||"small").toLowerCase(),Re!=="AA"&&Re!=="AAA"&&(Re="AA"),ce!=="small"&&ce!=="large"&&(ce="small"),{level:Re,size:ce}}typeof u6!="undefined"&&u6.exports?u6.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var no=ye(PS=>{"use strict";var Eee=gy(),CS=Array.isArray;function aet(e,t){var r,n;for(r=0;r{"use strict";kee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:"integer",min:1,max:1e3,extras:["normal","bold"],dflt:"normal"};e.noNumericWeightValues&&(i.valType="enumerated",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:r},size:{valType:"number",min:1,editType:r},color:{valType:"color",editType:n},weight:i,style:{editType:r,valType:"enumerated",values:["normal","italic"],dflt:"normal"},variant:e.noFontVariant?void 0:{editType:r,valType:"enumerated",values:t||["normal","small-caps","all-small-caps","all-petite-caps","petite-caps","unicase"],dflt:"normal"},textcase:e.noFontTextcase?void 0:{editType:r,valType:"enumerated",values:["normal","word caps","upper","lower"],dflt:"normal"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:"flaglist",flags:["under","over","through"],extras:["none"],dflt:"none"},shadow:e.noFontShadow?void 0:{editType:r,valType:"string",dflt:e.autoShadowDflt?"auto":"none"},editType:r};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye((HQt,Cee)=>{"use strict";Cee.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var B1=ye((GQt,Iee)=>{"use strict";var Lee=IS(),Pee=Su(),_q=Pee({editType:"none"});_q.family.dflt=Lee.HOVERFONT;_q.size.dflt=Lee.HOVERFONTSIZE;Iee.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:_q,grouptitlefont:Pee({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}});var i3=ye((jQt,Ree)=>{"use strict";var oet=Su(),c6=B1().hoverlabel,f6=no().extendFlat;Ree.exports={hoverlabel:{bgcolor:f6({},c6.bgcolor,{arrayOk:!0}),bordercolor:f6({},c6.bordercolor,{arrayOk:!0}),font:oet({arrayOk:!0,editType:"none"}),align:f6({},c6.align,{arrayOk:!0}),namelength:f6({},c6.namelength,{arrayOk:!0}),editType:"none"}}});var vl=ye((WQt,Dee)=>{"use strict";var set=Su(),uet=i3();Dee.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legend:{valType:"subplotid",dflt:"legend",editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:set({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},legendwidth:{valType:"number",min:0,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:uet.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},uirevision:{valType:"any",editType:"none"}}});var sb=ye((ZQt,qee)=>{"use strict";var cet=id(),h6={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},zee=h6.RdBu;function fet(e,t){if(t||(t=zee),!e)return t;function r(){try{e=h6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),Fee(e)?e:t}function Fee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";lb.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];lb.defaultLine="#444";lb.lightLine="#eee";lb.background="#fff";lb.borderLine="#BEC8D9";lb.lightFraction=100*10/11});var va=ye((YQt,Oee)=>{"use strict";var xp=id(),det=uo(),vet=vv().isTypedArray,nd=Oee.exports={},d6=dh();nd.defaults=d6.defaults;var pet=nd.defaultLine=d6.defaultLine;nd.lightLine=d6.lightLine;var bq=nd.background=d6.background;nd.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||bq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,bq)));var i=n.isDark()?t?n.lighten(t):bq:r?n.darken(r):pet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),"stroke-opacity":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),"fill-opacity":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,n,i,a;for(r=0;r=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+", "+Math.round(n[1]*255)+", "+Math.round(n[2]*255);return i?"rgba("+o+", "+n[3]+")":"rgb("+o+")"}});var N1=ye((KQt,Bee)=>{"use strict";Bee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Nee=>{"use strict";Nee.counter=function(e,t,r,n){var i=(t||"")+(r?"":"$"),a=n===!1?"":"^";return e==="xy"?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+e+"([2-9]|[1-9][0-9]+)?"+i)}});var Gee=ye(bp=>{"use strict";var wq=uo(),Uee=id(),Vee=no().extendFlat,get=vl(),met=sb(),yet=va(),_et=N1().DESELECTDIM,a3=ES(),Hee=n3().counter,xet=r3().modHalf,dm=vv().isArrayOrTypedArray,U1=vv().isTypedArraySpec,V1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:U1(e)?V1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;nn.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}U1(e)&&(e=V1(e)),e%1||!wq(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!="string"){var i=typeof e=="number";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){U1(e)&&(e=V1(e)),Uee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return Uee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(met.get(e,r))}},angle:{coerceFunction:function(e,t,r){U1(e)&&(e=V1(e)),e==="auto"?t.set("auto"):wq(e)?t.set(xet(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Hee(r);if(typeof e=="string"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!Hee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var i=e.split("+"),a=0;a{"use strict";var jee={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},Wee={};function Zee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Zee(n,t[r]))}}Zee(jee,Wee);Xee.exports={configAttributes:jee,dfltConfig:Wee}});var Aq=ye((eer,Yee)=>{"use strict";var Tq=xa(),bet=uo(),RS=[];Yee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;bet(t)?r=t:t==="long"&&(r=3e3);var n=Tq.select("body").selectAll(".plotly-notifier").data([0]);n.enter().append("div").classed("plotly-notifier",!0);var i=n.selectAll(".notifier-note").data(RS);function a(o){o.duration(700).style("opacity",0).each("end",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Tq.select(this).remove()})}i.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=Tq.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(a)});for(var l=s.append("p"),u=o.split(//g),c=0;c{"use strict";var o3=ub().dfltConfig,Sq=Aq(),Mq=Kee.exports={};Mq.log=function(){var e;if(o3.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};Mq.warn=function(){var e;if(o3.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};Mq.error=function(){var e;if(o3.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var p6=ye((rer,Jee)=>{"use strict";Jee.exports=function(){}});var Eq=ye((ier,$ee)=>{"use strict";$ee.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i{Qee.exports=wet;function wet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var rte=ye((aer,tte)=>{tte.exports=Tet;function Tet(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var nte=ye((oer,ite)=>{ite.exports=Aet;function Aet(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var kq=ye((ser,ate)=>{ate.exports=Met;function Met(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ste=ye((ler,ote)=>{ote.exports=Eet;function Eet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var ute=ye((uer,lte)=>{lte.exports=ket;function ket(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],g=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,p=c*b-h*v,P=c*g-d*v,T=f*b-h*x,F=f*g-d*x,q=h*g-d*b,V=E*q-k*F+A*T+L*P-_*p+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+g*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*p)*V,e[5]=(r*q-i*P+a*p)*V,e[6]=(b*A-v*C-g*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+g*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*p-o*T-l*M)*V,e[13]=(r*T-n*p+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var fte=ye((cer,cte)=>{cte.exports=Cet;function Cet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],g=t[15];return e[0]=s*(h*g-d*b)-f*(l*g-u*b)+x*(l*d-u*h),e[1]=-(n*(h*g-d*b)-f*(i*g-a*b)+x*(i*d-a*h)),e[2]=n*(l*g-u*b)-s*(i*g-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*g-d*b)-c*(l*g-u*b)+v*(l*d-u*h)),e[5]=r*(h*g-d*b)-c*(i*g-a*b)+v*(i*d-a*h),e[6]=-(r*(l*g-u*b)-o*(i*g-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*g-d*x)-c*(s*g-u*x)+v*(s*d-u*f),e[9]=-(r*(f*g-d*x)-c*(n*g-a*x)+v*(n*d-a*f)),e[10]=r*(s*g-u*x)-o*(n*g-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var dte=ye((fer,hte)=>{hte.exports=Let;function Let(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],g=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,p=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return g*F-E*T+k*P+A*p-L*M+_*C}});var pte=ye((her,vte)=>{vte.exports=Pet;function Pet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],g=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*g,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*g,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*g,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*g,e[15]=k*o+A*c+L*v+_*E,e}});var mte=ye((der,gte)=>{gte.exports=Iet;function Iet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,g;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],g=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=g,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+g*a+t[15]),e}});var _te=ye((ver,yte)=>{yte.exports=Ret;function Ret(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var bte=ye((per,xte)=>{xte.exports=Det;function Det(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,g,E,k,A,L,_,C,M,p,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],g=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,p=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*p,e[1]=h*C+b*M+A*p,e[2]=d*C+g*M+L*p,e[3]=v*C+E*M+_*p,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+g*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+g*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Tte=ye((ger,wte)=>{wte.exports=zet;function zet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Ste=ye((mer,Ate)=>{Ate.exports=Fet;function Fet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Ete=ye((yer,Mte)=>{Mte.exports=qet;function qet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Cte=ye((_er,kte)=>{kte.exports=Oet;function Oet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var Pte=ye((xer,Lte)=>{Lte.exports=Bet;function Bet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,g=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-g,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+g,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var Rte=ye((ber,Ite)=>{Ite.exports=Net;function Net(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var zte=ye((wer,Dte)=>{Dte.exports=Uet;function Uet(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var qte=ye((Ter,Fte)=>{Fte.exports=Vet;function Vet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Aer,Ote)=>{Ote.exports=Het;function Het(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Ute=ye((Ser,Nte)=>{Nte.exports=Get;function Get(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Cq=ye((Mer,Vte)=>{Vte.exports=jet;function jet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,g=a*l;return e[0]=1-f-v,e[1]=c+g,e[2]=h-b,e[3]=0,e[4]=c-g,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Gte=ye((Eer,Hte)=>{Hte.exports=Wet;function Wet(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Wte=ye((ker,jte)=>{jte.exports=Zet;function Zet(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var Xte=ye((Cer,Zte)=>{Zte.exports=Xet;function Xet(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var Kte=ye((Ler,Yte)=>{Yte.exports=Yet;function Yet(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var $te=ye((Per,Jte)=>{var Ket=kq();Jte.exports=Jet;function Jet(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],g=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?Ket(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-g*h,o=g*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var ere=ye((Ier,Qte)=>{Qte.exports=$et;function $et(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var Lq=ye((Rer,tre)=>{tre.exports={create:ete(),clone:rte(),copy:nte(),identity:kq(),transpose:ste(),invert:ute(),adjoint:fte(),determinant:dte(),multiply:pte(),translate:mte(),scale:_te(),rotate:bte(),rotateX:Tte(),rotateY:Ste(),rotateZ:Ete(),fromRotation:Cte(),fromRotationTranslation:Pte(),fromScaling:Rte(),fromTranslation:zte(),fromXRotation:qte(),fromYRotation:Bte(),fromZRotation:Ute(),fromQuat:Cq(),frustum:Gte(),perspective:Wte(),perspectiveFromFieldOfView:Xte(),ortho:Kte(),lookAt:$te(),str:ere()}});var g6=ye(Xf=>{"use strict";var Qet=Lq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n{"use strict";var ett=xa(),rre=H1(),ttt=g6(),rtt=Lq();function itt(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function ntt(e){var t=ett.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function ire(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function att(e,t){nre("global",e,t)}function nre(e,t,r){var n="plotly.js-style-"+e,i=document.getElementById(n);if(!(i&&i.matches(".no-inline-styles"))){i||(i=document.createElement("style"),i.setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+"{"+r+"}",0):a.addRule?a.addRule(t,r,0):rre.warn("addStyleRule failed"):rre.warn("Cannot addRelatedStyleRule, probably due to strict CSP...")}}function ott(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&ire(r)}function stt(e,t,r,n,i,a){var o=n.split(":"),s=i.split(":"),l="data-btn-style-event-added";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener("mouseenter",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener("mouseleave",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function ltt(e){var t=ore(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=are(n);if(i){var a=ttt.convertCssMatrix(i);r=rtt.multiply(r,r,a)}}),r}function are(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(n){return+n})}function ore(e){for(var t=[];utt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot=="function"&&e instanceof ShadowRoot&&(e=e.host);return t}function utt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function ctt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}sre.exports={getGraphDiv:itt,isPlotDiv:ntt,removeElement:ire,addStyleRule:att,addRelatedStyleRule:nre,deleteRelatedStyleRule:ott,setStyleOnHover:stt,getFullTransformMatrix:ltt,getElementTransformMatrix:are,getElementAndAncestors:ore,equalDomRects:ctt}});var zS=ye((Fer,lre)=>{"use strict";lre.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}});var Bu=ye((qer,pre)=>{"use strict";var cre=no().extendFlat,ftt=gy(),fre={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},hre={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},htt=fre.flags.slice().concat(["fullReplot"]),dtt=hre.flags.slice().concat("layoutReplot");pre.exports={traces:fre,layout:hre,traceFlags:function(){return ure(htt)},layoutFlags:function(){return ure(dtt)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var n=r.split("+"),i=0;i{"use strict";Pq.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"};Pq.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}});var Iq=ye((Ber,gre)=>{"use strict";gre.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var Wo=ye(m6=>{"use strict";var mre=Iq(),Ner=mre.FORMAT_LINK,Uer=mre.DATE_FORMAT_LINK;function Rq(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i{"use strict";function G1(e,t){return t?t.d2l(e):e}function yre(e,t){return t?t.l2d(e):e}function vtt(e){return e.x0}function ptt(e){return e.x1}function gtt(e){return e.y0}function mtt(e){return e.y1}function _re(e){return e.x0shift||0}function xre(e){return e.x1shift||0}function bre(e){return e.y0shift||0}function wre(e){return e.y1shift||0}function y6(e,t){return G1(e.x1,t)+xre(e)-G1(e.x0,t)-_re(e)}function _6(e,t,r){return G1(e.y1,r)+wre(e)-G1(e.y0,r)-bre(e)}function ytt(e,t){return Math.abs(y6(e,t))}function _tt(e,t,r){return Math.abs(_6(e,t,r))}function xtt(e,t,r){return e.type!=="line"?void 0:Math.sqrt(Math.pow(y6(e,t),2)+Math.pow(_6(e,t,r),2))}function btt(e,t){return yre((G1(e.x1,t)+xre(e)+G1(e.x0,t)+_re(e))/2,t)}function wtt(e,t,r){return yre((G1(e.y1,r)+wre(e)+G1(e.y0,r)+bre(e))/2,r)}function Ttt(e,t,r){return e.type!=="line"?void 0:_6(e,t,r)/y6(e,t)}Tre.exports={x0:vtt,x1:ptt,y0:gtt,y1:mtt,slope:Ttt,dx:y6,dy:_6,width:ytt,height:_tt,length:xtt,xcenter:btt,ycenter:wtt}});var Mre=ye((Ger,Sre)=>{"use strict";var Att=Bu().overrideAll,cb=vl(),Are=Su(),Stt=Ed().dash,j1=no().extendFlat,Mtt=Wo().shapeTexttemplateAttrs,Ett=x6();Sre.exports=Att({newshape:{visible:j1({},cb.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:j1({},cb.legend,{}),legendgroup:j1({},cb.legendgroup,{}),legendgrouptitle:{text:j1({},cb.legendgrouptitle.text,{}),font:Are({})},legendrank:j1({},cb.legendrank,{}),legendwidth:j1({},cb.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:j1({},Stt,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd"},opacity:{valType:"number",min:0,max:1,dflt:1},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal"},name:j1({},cb.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:Mtt({newshape:!0},{keys:Object.keys(Ett)}),font:Are({}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},textangle:{valType:"angle",dflt:"auto"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},padding:{valType:"number",dflt:3,min:0}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)"},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")});var kre=ye((jer,Ere)=>{"use strict";var ktt=Ed().dash,Ctt=no().extendFlat;Ere.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:Ctt({},ktt,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}});var b6=ye((Wer,Cre)=>{"use strict";Cre.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}});var s3=ye((Zer,Rre)=>{"use strict";var Dq=Su(),Ltt=zS(),w6=dh(),Lre=Mre(),Pre=kre(),Ptt=b6(),Ire=no().extendFlat,T6=Dq({editType:"calc"});T6.family.dflt='"Open Sans", verdana, arial, sans-serif';T6.size.dflt=12;T6.color.dflt=w6.defaultLine;Rre.exports={font:T6,title:{text:{valType:"string",editType:"layoutstyle"},font:Dq({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:Dq({editType:"layoutstyle"}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:Ire(Ptt({editType:"layoutstyle"}),{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:w6.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:w6.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:w6.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:Lre.newshape,activeshape:Lre.activeshape,newselection:Pre.newselection,activeselection:Pre.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:Ire({},Ltt.transition,{editType:"none"})}});var Dre=su(()=>{});var Itt={};var zre=su(()=>{Dre()});var ba=ye(qs=>{"use strict";var l3=H1(),Fre=p6(),qre=Eq(),Rtt=gy(),Dtt=DS().addStyleRule,Ore=no(),ztt=vl(),Ftt=s3(),qtt=Ore.extendFlat,zq=Ore.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var Htt=e3().timeFormat,Yre=uo(),Fq=H1(),Z1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,W1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Hre=e3().utcFormat,Gtt=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,jtt=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,Gre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}Yf.dateTick0=function(e,t){var r=Wtt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function Wtt(e,t){return yy(e)?t?my.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:my.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};Yf.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var S6,M6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*W1,n=(e.getUTCMinutes()-e.getMinutes())*W1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*W1;r=r-i/2+Z1(n-r+i/2,i)}return e=Number(e)-r,e>=S6&&e<=M6?e:_0}if(typeof e!="string"&&typeof e!="number")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=a&&t.substr(0,7)==="chinese",l=e.match(s?jtt:Gtt);if(!l)return _0;var u=l[1],c=l[3]||"1",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod("calendars","getCal")(t);if(s){var g=c.charAt(c.length-1)==="i";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,g),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*W1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Gre)%100+Gre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};S6=Yf.MIN_MS=Yf.dateTime2ms("-9999");M6=Yf.MAX_MS=Yf.dateTime2ms("9999-12-31 23:59:59.9999");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var A6=90*wp,jre=3*FS,Wre=5*W1;Yf.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=S6&&e<=M6))return _0;t||(t=0);var n=Math.floor(Z1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(Z1(e,wp));try{a=my.getComponentMethod("calendars","getCal")(r).fromJD(f).formatDate("yyyy-mm-dd")}catch(d){a=Hre("G%Y-%m-%d")(new Date(i))}if(a.charAt(0)==="-")for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=t=S6+wp&&e<=M6-wp))return _0;var t=Math.floor(Z1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=Htt("%Y-%m-%d")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return Kre(n,i,a,o,s)};function Kre(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+u3(t,2)+":"+u3(r,2),(n||i)&&(e+=":"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+="."+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(yy(r))return Fq.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return Fq.error("unrecognized date",e),t;return e};var Ztt=/%\d?f/g,Xtt=/%h/g,Ytt={1:"1",2:"1",3:"2",4:"2"};function Zre(e,t,r,n){e=e.replace(Ztt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(Xtt,function(){return Ytt[r("%q")(i)]}),yy(n))try{e=my.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch(a){return"Invalid"}return r(e)(i)}var Ktt=[59,59.9,59.99,59.999,59.9999];function Jtt(e,t){var r=Z1(e+.05,wp),n=u3(Math.floor(r/FS),2)+":"+u3(Z1(Math.floor(r/W1),60),2);if(t!=="M"){Yre(t)||(t=0);var i=Math.min(Z1(e/c3,60),Ktt[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r==="y")t=a.year;else if(r==="m")t=a.month;else if(r==="d")t=a.dayMonth+` +`+a.year;else return Jtt(e,r)+` +`+Zre(a.dayMonthYear,e,n,i);return Zre(t,e,n,i)};var Xre=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=Z1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return t%12?a.add(o,t,"m"):a.add(o,t/12,"y"),(o.toJD()-qS)*wp+n}catch(l){Fq.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+Xre);return s.setUTCMonth(s.getUTCMonth()+t)+n-Xre};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";$re.exports=function(t){return t}});var E6=ye(_y=>{"use strict";var $tt=uo(),Qtt=H1(),ert=OS(),trt=es().BADNUM,qq=1e-9;_y.findBin=function(e,t,r){if($tt(t.start))return r?Math.ceil((e-t.start)/t.size-qq)-1:Math.floor((e-t.start)/t.size+qq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?rrt:irt:l=r?art:nrt,e+=o*qq*(r?-1:1)*(o>=0?1:-1);n90&&Qtt.log("Long binary search..."),n-1};function rrt(e,t){return et}function art(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===trt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||ert;for(var r=1/0,n,i=0;i{"use strict";Qre.exports=function(t){return Object.keys(t).sort()}});var eie=ye(Kf=>{"use strict";var BS=uo(),ort=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),ort(r[0])){for(a=new Array(n),i=0;ie.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var aie=ye((itr,nie)=>{"use strict";var tie=r3(),Oq=tie.mod,srt=tie.modHalf,NS=Math.PI,Y1=2*NS;function lrt(e){return e/180*NS}function urt(e){return e/NS*180}function Bq(e){return Math.abs(e[1]-e[0])>Y1-1e-14}function rie(e,t){return srt(t-e,Y1)}function crt(e,t){return Math.abs(rie(e,t))}function iie(e,t){if(Bq(t))return!0;var r,n;t[0]n&&(n+=Y1);var i=Oq(e,Y1),a=i+Y1;return i>=r&&i<=n||a>=r&&a<=n}function frt(e,t,r,n){if(!iie(t,n))return!1;var i,a;return r[0]=i&&e<=a}function Nq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Bq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=Y1):r{"use strict";fb.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var uie=ye(hb=>{"use strict";var Uq=r3().mod;hb.segmentsIntersect=lie;function lie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(lie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(k6(u,c,d,a-t,o-r),k6(u,c,d,s-t,l-r),k6(f,h,v,t-a,r-o),k6(f,h,v,n-a,i-o));return Math.sqrt(x)};function k6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var C6,Vq,sie;hb.getTextLocation=function(t,r,n,i){if((t!==Vq||i!==sie)&&(C6={},Vq=t,sie=i),C6[n])return C6[n];var a=t.getPointAtLength(Uq(n-i/2,r)),o=t.getPointAtLength(Uq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Uq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return C6[n]=f,f};hb.clearLocationCache=function(){Vq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var g=b.xa?b.x-a:0,E=b.ys?b.y-s:0;return Math.sqrt(g*g+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u0?f=h:c=h,u++}return d}});var L6=ye(US=>{"use strict";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].tsi.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)cie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function cie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var hie=ye((str,fie)=>{"use strict";fie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var die=ye((ltr,P6)=>{"use strict";P6.exports=Hq;P6.exports.isMobile=Hq;P6.exports.default=Hq;var prt=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,grt=/CrOS/,mrt=/android|ipad|playbook|silk/i;function Hq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;let r=prt.test(t)&&!grt.test(t)||!!e.tablet&&mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var pie=ye((utr,vie)=>{"use strict";var yrt=uo(),_rt=die();vie.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=xrt(),typeof r!="string")return!0;var n=_rt({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(" "),a=1;a-1;s--){var l=i[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(yrt(u)&&(u=+u),u>=13)return!0}}}return n};function xrt(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var mie=ye((ctr,gie)=>{"use strict";var brt=xa();gie.exports=function(t,r,n){var i=t.selectAll("g."+n.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each(function(o){o[0][a]=brt.select(this)}),i}});var _ie=ye((ftr,yie)=>{"use strict";var wrt=ba();yie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=wrt.localeRegistry}var u=n.split("-")[0];if(u===n)break;n=u}return r}});var Gq=ye((htr,xie)=>{"use strict";xie.exports=function(t){for(var r={},n=[],i=0,a=0;a{"use strict";bie.exports=function(t){for(var r=Srt(t)?Art:Trt,n=[],i=0;i{"use strict";Tie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf("e+")===-1&&(i=+l)}}return i}});var Mie=ye((ptr,Sie)=>{"use strict";var Mrt=uo(),Ert=es().BADNUM,krt=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;Sie.exports=function(t){return typeof t=="string"&&(t=t.replace(krt,"")),Mrt(t)?Number(t):Ert}});var Mr=ye((gtr,Bie)=>{"use strict";var VS=xa(),Crt=e3().utcFormat,Lrt=dq().format,Iie=uo(),Rie=es(),Die=Rie.FP_SAFE,Prt=-Die,Eie=Rie.BADNUM,li=Bie.exports={};li.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var kie={};li.warnBadFormat=function(e){var t=String(e);kie[t]||(kie[t]=1,li.warn('encountered bad format: "'+t+'"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Lrt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=_ee();li.relativeAttr=bee();li.isPlainObject=gy();li.toLogRange=l6();li.relinkPrivateKeys=See();var K1=vv();li.isArrayBuffer=K1.isArrayBuffer;li.isTypedArray=K1.isTypedArray;li.isArrayOrTypedArray=K1.isArrayOrTypedArray;li.isArray1D=K1.isArray1D;li.ensureArray=K1.ensureArray;li.concat=K1.concat;li.maxRowLength=K1.maxRowLength;li.minRowLength=K1.minRowLength;var zie=r3();li.mod=zie.mod;li.modHalf=zie.modHalf;var J1=Gee();li.valObjectMeta=J1.valObjectMeta;li.coerce=J1.coerce;li.coerce2=J1.coerce2;li.coerceFont=J1.coerceFont;li.coercePattern=J1.coercePattern;li.coerceHoverinfo=J1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=J1.coerceSelectionMarkerOpacity;li.validate=J1.validate;var Wp=Jre();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=E6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=X1();var by=eie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=g6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=aie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=oie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=uie();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var D6=no();li.extendFlat=D6.extendFlat;li.extendDeep=D6.extendDeep;li.extendDeepAll=D6.extendDeepAll;li.extendDeepNoArrays=D6.extendDeepNoArrays;var jq=H1();li.log=jq.log;li.warn=jq.warn;li.error=jq.error;var Irt=n3();li.counterRegex=Irt.counter;var Wq=L6();li.throttle=Wq.throttle;li.throttleDone=Wq.done;li.clearThrottle=Wq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=hie();li.preserveDrawingBuffer=pie();li.makeTraceGroups=mie();li._=_ie();li.notifier=Aq();li.filterUnique=Gq();li.filterVisible=wie();li.pushUnique=Eq();li.increment=Aie();li.cleanNumber=Mie();li.ensureNumber=function(t){return Iie(t)?(t=Number(t),t>Die||t=t?!1:Iie(e)&&e>=0&&e%1===0};li.noop=p6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(li.warn("randstr failed uniqueness"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var Oie=/^\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Oie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i]()),li.isValidTextValue(a)?a:""})};var Ort={max:10,count:0,name:"hovertemplate"};li.hovertemplateString=function(){return Zq.apply(Ort,arguments)};var Brt={max:10,count:0,name:"texttemplate"};li.texttemplateString=function(){return Zq.apply(Brt,arguments)};var Nrt=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function Urt(e){var t=e.match(Nrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Vrt={max:10,count:0,name:"texttemplate",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Zq.apply(Vrt,arguments)};var Cie=/^[:|\|]/;function Zq(e,t,r){var n=this,i=arguments;t||(t={});var a={};return e.replace(li.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",c=s==="_xother"||s==="_yother",f=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",d=u||c||h||f,v=s;(c||f)&&(v=v.substring(1)),(h||f)&&(v=v.substring(0,v.length-1));var x=null,b=null;if(n.parseMultDiv){var g=Urt(v);v=g.key,x=g.op,b=g.number}var E;if(d){if(E=t[v],E===void 0)return""}else{var k,A;for(A=3;A=R6&&o<=Lie,u=s>=R6&&s<=Lie;if(l&&(n=10*n+o-R6),u&&(i=10*i+s-R6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,"htx","hovertext");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,"tx","text");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")};li.setTransormAndDisplay=function(e,t){e.attr("transform",li.getTextTransform(t)),e.style("display",t.scale?null:"none")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var Pie=li.getFirefoxVersion(),Hrt=Pie!==null&&Pie<86;li.getPositionFromD3Event=function(){return Hrt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Vie=ye(()=>{"use strict";var Grt=Mr(),Nie={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(Xq in Nie)Uie=Xq.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),Grt.addStyleRule(Uie,Nie[Xq]);var Uie,Xq});var Yq=ye((_tr,Hie)=>{Hie.exports=!0});var Jq=ye((xtr,Gie)=>{"use strict";var jrt=Yq(),Kq;typeof window.matchMedia=="function"?Kq=!window.matchMedia("(hover: none)").matches:Kq=jrt;Gie.exports=Kq});var vb=ye((btr,$q)=>{"use strict";var p3=typeof Reflect=="object"?Reflect:null,jie=p3&&typeof p3.apply=="function"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},z6;p3&&typeof p3.ownKeys=="function"?z6=p3.ownKeys:Object.getOwnPropertySymbols?z6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:z6=function(t){return Object.getOwnPropertyNames(t)};function Wrt(e){console&&console.warn&&console.warn(e)}var Zie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}$q.exports=Tc;$q.exports.once=Krt;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Wie=10;function F6(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,"defaultMaxListeners",{enumerable:!0,get:function(){return Wie},set:function(e){if(typeof e!="number"||e<0||Zie(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Wie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Zie(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Xie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return Xie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(l===void 0)return!1;if(typeof l=="function")jie(l,this,r);else for(var u=l.length,c=Qie(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,Wrt(s)}return e}Tc.prototype.addListener=function(t,r){return Yie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Yie(this,t,r,!0)};function Zrt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Kie(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Zrt.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return F6(r),this.on(t,Kie(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return F6(r),this.prependListener(t,Kie(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(F6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():Xrt(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(t,r[i]);return this};function Jie(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Yrt(i):Qie(i,i.length)}Tc.prototype.listeners=function(t){return Jie(this,t,!0)};Tc.prototype.rawListeners=function(t){return Jie(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):$ie.call(e,t)};Tc.prototype.listenerCount=$ie;function $ie(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?z6(this._events):[]};function Qie(e,t){for(var r=new Array(t),n=0;n{"use strict";var Qq=vb().EventEmitter,$rt={init:function(e){if(e._ev instanceof Qq)return e;var t=new Qq,r=new Qq;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s{"use strict";var rne=Mr(),Qrt=ub().dfltConfig;function eit(e,t){for(var r=[],n,i=0;iQrt.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n{"use strict";ane.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}});var _3=ye(Bh=>{"use strict";var x0=ba(),HS=Mr(),O6=vl(),tO=s3(),tit=eO(),rit=zS(),iit=ub().configAttributes,one=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,nit=HS.isArrayOrTypedArray,B6=HS.nestedProperty,ait=HS.valObjectMeta,rO="_isSubplotObj",N6="_isLinkedToArray",oit="_arrayAttrRegexps",lne="_deprecated",iO=[rO,N6,oit,lne];Bh.IS_SUBPLOT_OBJ=rO;Bh.IS_LINKED_TO_ARRAY=N6;Bh.DEPRECATED=lne;Bh.UNDERSCORE_ATTRS=iO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=lit(t)}),{defs:{valObjects:ait,metaKeys:iO.concat(["description","role","editType","impliedEdits"]),editType:{traces:one.traces,layout:one.layout},impliedEdits:{}},traces:e,layout:uit(),frames:cit(),animation:y3(rit),config:y3(iit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||"",Object.keys(e).forEach(function(a){var o=e[a];if(iO.indexOf(a)===-1){var s=(n?n+".":"")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!=="impliedEdits"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType==="data_array"||l.arrayOk===!0)&&!(r[f-1]==="colorbar"&&(u==="ticktext"||u==="tickvals"));h&&s(i,0,"")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)nit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!q6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function q6(e){return e===Math.round(e)&&e>=0}function lit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},O6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){B6(i,h).set(void 0),l===void 0&&B6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,"noOpacity")&&delete n.opacity,x0.traceIs(e,"showLegend")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,"noHover")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&"anim"in l&&delete l.anim}),o}function uit(){var e={},t,r;xg(e,tO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n{"use strict";var x3=Mr(),pit=vl(),$1="templateitemname",nO={name:{valType:"string",editType:"none"}};nO[$1]={valType:"string",editType:"calc"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=nO.name,t[$1]=nO[$1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},pit,"type");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[fne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[$1]=u[$1];if(!cne(f))return c._template=i,c;for(var h=0;h=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+"["+i+"]",s;function l(){s={},a&&(s[o]={},s[o][$1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+"."+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Etr,hne)=>{"use strict";var GS=n3().counter;hne.exports={idRegex:{x:GS("x","( domain)?"),y:GS("y","( domain)?")},attrRegex:GS("[xy]axis"),xAxisMatch:GS("xaxis"),yAxisMatch:GS("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"},zindexSeparator:"z"}});var af=ye(Tp=>{"use strict";var git=ba(),aO=ad();Tp.id2name=function(t){if(!(typeof t!="string"||!t.match(aO.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Tp.name2id=function(t){if(t.match(aO.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(aO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return a==="1"&&(a=""),t.charAt(0)+a+(i&&n?" domain":"")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;on?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function dne(e,t){if(t&&t.length){for(var r=0;r{"use strict";function mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function yit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}vne.exports={clearOutlineControllers:mit,clearOutline:yit}});var U6=ye((Ltr,pne)=>{"use strict";pne.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}});var kd=ye(H6=>{"use strict";var V6=ba(),Ptr=ad().SUBPLOT_PATTERN;H6.getSubplotCalcData=function(e,t,r){var n=V6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o{"use strict";var _it=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){gne(e,o,i.cache),i.check=function(){if(a){var c=gne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+i;b3.isPlainObject(a)?oO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Dtr,Rne)=>{"use strict";var Mne=xa(),bit=e3().timeFormatLocale,wit=dq().formatLocale,jS=uo(),Tit=vq(),bl=ba(),Ene=_3(),Ait=Vs(),Ca=Mr(),kne=va(),xne=es().BADNUM,Ap=af(),Sit=Q1().clearOutline,Mit=U6(),sO=zS(),Eit=eO(),kit=kd().getModuleCalcData,bne=Ca.relinkPrivateKeys,mb=Ca._,ha=Rne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var j6=_ne();ha.executeAPICommand=j6.executeAPICommand;ha.computeAPICommandBindings=j6.computeAPICommandBindings;ha.manageCommandObserver=j6.manageCommandObserver;ha.hasSimpleAPICommandBindings=j6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod("annotations","draw")(e),bl.getComponentMethod("legend","draw")(e),bl.getComponentMethod("colorbar","draw")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call("relayout",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:kne.defaultLine,"pointer-events":"all"}).each(function(){var u=Mne.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),n=r.node(),i={y:t._paper.attr("height")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=t._paper.attr("width")-7),r.attr(i);var a=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Cit(e,a),o.text(a.text()&&s.text()?" - ":"")}};function Cit(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" \xBB");if(e._context.sendData)r.on("click",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var r=Mne.select(e).append("div").attr("id","hiddenform").style("display","none"),n=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),i=n.append("input").attr({type:"text",name:"data"});return i.node().value=ha.graphJson(e,!1,"keepdata"),n.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var Lit=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],Pit=["year","month","dayMonth","dayMonthYear"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,"Click to enter Plot title"),subtitle:mb(e,"Click to enter Plot subtitle"),x:mb(e,"Click to enter X axis title"),y:mb(e,"Click to enter Y axis title"),colorbar:mb(e,"Click to enter Colorscale title"),annotation:mb(e,"new text")},i._traceWord=mb(e,"trace");var h=wne(e,Lit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,g=c.autosizable,E=x&&(b||g);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Dit(h,i.separators),i._extraFormat=wne(e,Pit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Rit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Iit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod("grid","sizeDefaults")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has("cartesian")),q=!!(i._has&&i._has("cartesian")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Sit({_fullLayout:n}),zit(s,i),bne(i,n),bl.getComponentMethod("colorscale","crossTraceDefaults")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]="old";for(f=0;f0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has("cartesian")&&(bl.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s1&&(r.l/=b,r.r/=b)}if(h){var g=(r.t+r.b)/h;g>1&&(r.t/=g,r.b/=g)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function qit(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=Ap.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Cne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var g=e._fullLayout._reservedMargin;for(var E in g)for(var k in g[E]){var A=g[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!=="base"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var p in h){var P=h[p].l||{},T=h[p].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Lne,v),Ee=Ca.constrain(n-a.t-a.b,Pne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||qit(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h=="function")return d?"_function_":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if(["_","["].indexOf(k.charAt(0))===-1){if(typeof h[k]=="function"){d&&(v[k]="_function");return}if(r==="keepdata"){if(k.substr(k.length-3)==="src")return}else if(r==="keepstream"){if(x=h[k+"src"],typeof x=="string"&&x.indexOf(":")>0&&!Ca.isPlainObject(h.stream))return}else if(r!=="keepall"&&(x=h[k+"src"],typeof x=="string"&&x.indexOf(":")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),g=Ca.isTypedArray(h);if((b||g)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Tit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):g?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n==="object"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:xne,y:xne}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(Ane(r,n,i),s=0;s{"use strict";yb.xmlns="http://www.w3.org/2000/xmlns/";yb.svg="http://www.w3.org/2000/svg";yb.xlink="http://www.w3.org/1999/xlink";yb.svgAttrs={xmlns:yb.svg,"xmlns:xlink":yb.xlink}});var Nh=ye((Ftr,Dne)=>{"use strict";Dne.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Ll=ye(b0=>{"use strict";var vh=xa(),Ty=Mr(),Uit=Ty.strTranslate,lO=Zp(),Vit=Nh().LINE_SPACING,Hit=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&n.match(Hit),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":n,"data-math":"N"});function s(){a.empty()||(o=e.attr("class")+"-math",a.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=rnt(e.node(),n);l&&e.style("pointer-events","all"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Zit(i[2],c,function(f,h,d){a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove();var v=f&&f.select("svg");if(!v||!v.node()){s(),l();return}var x=a.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":n,"data-math":"Y"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,g=d.height;v.attr({class:o,height:g,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var E=e.node().style.fill||"black",k=v.select("g");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>g)&&(v.style("overflow","hidden"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr("x"),M=+e.attr("y"),p=u||e.node().getBoundingClientRect().height,P=-p/4;if(o[0]==="y")x.attr({transform:"rotate("+[-90,C,M]+")"+Uit(-L/2,P-_/2)});else if(o[0]==="l")M=P-_/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)C=0,M=P;else{var T=e.attr("text-anchor");C=C-L*(T==="middle"?.5:T==="end"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Git=/(<|<|<)/g,jit=/(>|>|>)/g;function Wit(e){return e.replace(Git,"\\lt ").replace(jit,"\\gt ")}var zne=[["$","$"],["\\(","\\)"]];function Zit(e,t,r){var n=parseInt((MathJax.version||"").split(".")[0]);if(n!==2&&n!==3){Ty.warn("No MathJax version:",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:zne},displayAlign:"left"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=zne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!=="SVG")return MathJax.Hub.setRenderer("SVG")},f=function(){i=MathJax.config.startup.output,i!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var E="math-output-"+Ty.randstr({},64);s=vh.select("body").append("div").attr({id:E}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(Wit(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?".MathJax_SVG":".MathJax"),k=!E.empty()&&s.select("svg").node();if(!k)Ty.log("There was an error in the tex syntax.",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select("body").select("#MathJax_SVG_glyphs"):L=E.select("defs"),r(E,L,A)}s.remove()},v=function(){if(i!=="SVG")return MathJax.Hub.setRenderer(i)},x=function(){i!=="svg"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},g=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),g()}))}var Bne={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},Xit={sub:"0.3em",sup:"-0.6em"},Yit={sub:"-0.21em",sup:"0.42em"},Fne="\u200B",qne=["http:","https:","mailto:","",void 0,":"],Nne=b0.NEWLINES=/(\r\n?|\n)/g,cO=/(<[^<>]*>)/,fO=/<(\/?)([^ >]*)(\s+(.*))?>/i,Kit=//i;b0.BR_TAG_ALL=//gi;var Une=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,Vne=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,Hne=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,Jit=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&W6(n)}var $it=/(^|;)\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:["br"],i="...",a=i.length,o=e.split(cO),s=[],l="",u=0,c=0;ca?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=""}}return s.join("")};var Qit={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},ent=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function W6(e){return e.replace(ent,function(t,r){var n;return r.charAt(0)==="#"?n=tnt(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=Qit[r],n||t})}b0.convertEntities=W6;function tnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function rnt(e,t){t=t.replace(Nne," ");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(lO.svg,"tspan");vh.select(_).attr({class:"line",dy:a*Vit+"em"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M.",t);return}var C=n.pop();_!==C.type&&Ty.log("Start tag <"+C.type+"> doesnt match end tag <"+_+">. Pretending it did match.",t),i=n[n.length-1].node}var c=Kit.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(cO),h=0;h{"use strict";var int=xa(),X6=id(),ZS=uo(),Z6=Mr(),jne=va(),nnt=sb().isValid;function ant(e,t,r){var n=t?Z6.nestedProperty(e,t).get()||{}:e,i=n[r||"color"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(Z6.isArrayOrTypedArray(i)){for(var o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function Jne(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o{"use strict";var Qne=Iq(),snt=Qne.FORMAT_LINK,lnt=Qne.DATE_FORMAT_LINK;function unt(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?hO:eae)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function hO(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+snt+"."].join(" ")}function eae(e,t){return hO(e,t)+[" And for dates see: "+lnt+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}tae.exports={axisHoverFormat:unt,descriptionOnlyNumbers:hO,descriptionWithDates:eae}});var Cd=ye((Ntr,yae)=>{"use strict";var rae=Su(),w3=dh(),mae=Ed().dash,vO=no().extendFlat,iae=Vs().templatedArray,nae=Oc().descriptionWithDates,cnt=es().ONEDAY,pm=ad(),fnt=pm.HOUR_PATTERN,hnt=pm.WEEKDAY_PATTERN,dO={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},dnt=vO({},dO,{values:dO.values.slice().concat(["sync"])});function aae(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks"}}var oae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},sae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},lae={valType:"data_array",editType:"ticks"},uae={valType:"enumerated",values:["outside","inside",""],editType:"ticks"};function cae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=5),t}function fae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var hae={valType:"color",dflt:w3.defaultLine,editType:"ticks"},dae={valType:"color",dflt:w3.lightLine,editType:"ticks"};function vae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var pae=vO({},mae,{editType:"ticks"}),gae={valType:"boolean",editType:"ticks"};yae.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:w3.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:rae({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},scaleanchor:{valType:"enumerated",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:"calc"},rangebreaks:iae("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[hnt,fnt,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:cnt},editType:"calc"}),tickmode:dnt,nticks:aae(),tick0:oae,dtick:sae,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks"},tickvals:lae,ticktext:{valType:"data_array",editType:"ticks"},ticks:uae,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks"},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks"},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:cae(),tickwidth:fae(),tickcolor:hae,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},labelalias:{valType:"any",dflt:!1,editType:"ticks"},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:vO({},mae,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:rae({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:nae("tick label")},tickformatstops:iae("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:nae("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:w3.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:gae,gridcolor:dae,gridwidth:vae(),griddash:pae,zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:w3.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:w3.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:"plot"},minor:{tickmode:dO,nticks:aae("minor"),tick0:oae,dtick:sae,tickvals:lae,ticks:uae,ticklen:cae("minor"),tickwidth:fae("minor"),tickcolor:hae,gridcolor:dae,gridwidth:vae("minor"),griddash:pae,showgrid:gae,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},autoshift:{valType:"boolean",dflt:!1,editType:"plot"},shift:{valType:"number",editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var Y6=ye((Utr,bae)=>{"use strict";var Ac=Cd(),_ae=Su(),xae=no().extendFlat,vnt=Bu().overrideAll;bae.exports=vnt({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:xae({},Ac.ticks,{dflt:""}),ticklabeloverflow:xae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:_ae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:"string"},font:_ae({}),side:{valType:"enumerated",values:["right","top","bottom"]}}},"colorbars","from-root")});var Kl=ye((Htr,Tae)=>{"use strict";var pnt=Y6(),gnt=n3().counter,mnt=X1(),wae=sb().scales,Vtr=mnt(wae);function K6(e){return"`"+e+"`"}Tae.exports=function(t,r){t=t||"",r=r||{};var n=r.cLetter||"c",i="onlyIfNumerical"in r?r.onlyIfNumerical:!!t,a="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:n==="z",s=typeof r.colorscaleDflt=="string"?wae[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,f;"colorAttr"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:"z",c:"color"}[n],f="in "+K6(u+c));var h=i?" Has an effect only if "+f+" is set to a numerical array.":"",d=n+"auto",v=n+"min",x=n+"max",b=n+"mid",g=K6(u+d),E=K6(u+v),k=K6(u+x),A=E+" and "+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c==="color"&&(C.color={valType:"color",arrayOk:!0,editType:l||"style"},r.anim&&(C.color.anim=!0)),C[d]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:L},C[v]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:_},C[x]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:_},C[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:L},C.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0}},C.reversescale={valType:"boolean",dflt:!1,editType:"plot"},a||(C.showscale={valType:"boolean",dflt:o,editType:"calc"},C.colorbar=pnt),r.noColorAxis||(C.coloraxis={valType:"subplotid",regex:gnt("coloraxis"),dflt:null,editType:"calc"}),C}});var gO=ye((Gtr,Aae)=>{"use strict";var ynt=no().extendFlat,_nt=Kl(),pO=sb().scales;Aae.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:pO.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:pO.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:pO.RdBu,editType:"calc"}},coloraxis:ynt({_isSubplotObj:!0,editType:"calc"},_nt("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var mO=ye((jtr,Sae)=>{"use strict";var xnt=Mr();Sae.exports=function(t){return xnt.isPlainObject(t.colorbar)}});var xO=ye(_O=>{"use strict";var yO=uo(),Mae=Mr(),Eae=es(),bnt=Eae.ONEDAY,wnt=Eae.ONEWEEK;_O.dtick=function(e,t){var r=t==="log",n=t==="date",i=t==="category",a=n?bnt:1;if(!e)return a;if(yO(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!="string"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=yO(s)?Number(s):0,s<=0||!(n&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?a:e};_O.tick0=function(e,t,r,n){if(t==="date")return Mae.cleanDate(e,Mae.dateTick0(r,n%wnt===0?1:0));if(!(n==="D1"||n==="D2"))return yO(e)?Number(e):0}});var xb=ye((Ztr,Cae)=>{"use strict";var kae=xO(),Tnt=Mr().isArrayOrTypedArray,Ant=vv().isTypedArraySpec,Snt=vv().decodeTypedArraySpec;Cae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(E){var k=s[E];return Ant(k)&&(k=Snt(k)),k!==void 0?k:(l._template||{})[E]}var f=c("tick0"),h=c("dtick"),d=c("tickvals"),v=Tnt(d)?"array":h?"linear":"auto",x=n(u+"tickmode",v);if(x==="auto"||x==="sync")n(u+"nticks");else if(x==="linear"){var b=l.dtick=kae.dtick(h,i);l.tick0=kae.tick0(f,i,r.calendar,b)}else if(i!=="multicategory"){var g=n(u+"tickvals");g===void 0?l.tickmode="auto":o||n("ticktext")}}});var T3=ye((Xtr,Pae)=>{"use strict";var bO=Mr(),Lae=Cd();Pae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Lae.minor:Lae,u=a?"minor.":"",c=bO.coerce2(o,s,l,"ticklen",a?(r.ticklen||5)*.6:void 0),f=bO.coerce2(o,s,l,"tickwidth",a?r.tickwidth||1:void 0),h=bO.coerce2(o,s,l,"tickcolor",(a?r.tickcolor:void 0)||s.color),d=n(u+"ticks",!a&&i.outerTicks||c||f||h?"outside":"");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var wO=ye((Ytr,Iae)=>{"use strict";Iae.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((Ktr,Rae)=>{"use strict";var J6=Mr(),Mnt=Vs();Rae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||"visible",o=r[i],s=J6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=Mnt.arrayTemplater(r,i,a),c,f;for(c=0;c{"use strict";var TO=Mr(),Ent=va().contrast,Dae=Cd(),knt=wO(),Cnt=Zd();zae.exports=function(t,r,n,i,a){a||(a={});var o=n("labelalias");TO.isPlainObject(o)||delete r.labelalias;var s=knt(t),l=n("showticklabels");if(l){a.noTicklabelshift||n("ticklabelshift"),a.noTicklabelstandoff||n("ticklabelstandoff");var u=a.font||{},c=r.color,f=r.ticklabelposition||"",h=f.indexOf("inside")!==-1?Ent(a.bgColor):c&&c!==Dae.color.dflt?c:u.color;if(TO.coerceFont(n,"tickfont",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!=="multicategory"&&i!=="log"&&n("ticklabelstep"),!a.noAng){var d=n("tickangle");!a.noAutotickangles&&d==="auto"&&n("autotickangles")}if(i!=="category"){var v=n("tickformat");Cnt(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:Lnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!=="date"&&(n("showexponent",s),n("exponentformat"),n("minexponent"),n("separatethousands"))}}};function Lnt(e,t){function r(i,a){return TO.coerce(e,t,Dae.tickformatstops,i,a)}var n=r("enabled");n&&(r("dtickrange"),r("value"))}});var t_=ye(($tr,Fae)=>{"use strict";var Pnt=wO();Fae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Pnt(t),l=n("tickprefix");l&&n("showtickprefix",s);var u=n("ticksuffix",o);u&&n("showticksuffix",s)}});var AO=ye((Qtr,qae)=>{"use strict";var r_=Mr(),Int=Vs(),Rnt=xb(),Dnt=T3(),znt=e_(),Fnt=t_(),qnt=Y6();qae.exports=function(t,r,n){var i=Int.newContainer(r,"colorbar"),a=t.colorbar||{};function o(T,F){return r_.coerce(a,i,qnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o("orientation"),f=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(f?l:u):30);var d=o("lenmode");o("len",d==="fraction"?1:f?u:l);var v=o("yref"),x=o("xref"),b=v==="paper",g=x==="paper",E,k,A,L="left";f?(A="middle",L=g?"left":"right",E=g?1.02:1,k=.5):(A=b?"bottom":"top",L="center",E=.5,k=b?1.02:1),r_.coerce(a,i,{x:{valType:"number",min:g?-2:0,max:g?3:1,dflt:E}},"x"),r_.coerce(a,i,{y:{valType:"number",min:b?-2:0,max:b?3:1,dflt:k}},"y"),o("xanchor",L),o("xpad"),o("yanchor",A),o("ypad"),r_.noneOrAll(a,i,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var _=r_.coerce(a,i,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:f?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",_.indexOf("inside")!==-1?"hide past domain":"hide past div"),Rnt(a,i,o,"linear");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf("inside")!==-1&&(M.bgColor="black"),Fnt(a,i,o,"linear",M),znt(a,i,o,"linear",M),Dnt(a,i,o,"linear",M),o("title.text",n._dfltTitle.colorbar);var p=i.showticklabels?i.tickfont:C,P=r_.extendFlat({},C,{family:p.family,size:r_.bigFont(p.size)});r_.coerceFont(o,"title.font",P),o("title.side",f?"top":"right")}});var Uh=ye((err,Nae)=>{"use strict";var Oae=uo(),MO=Mr(),Ont=mO(),Bnt=AO(),Bae=sb().isValid,Nnt=ba().traceIs;function SO(e,t){var r=t.slice(0,t.length-1);return t?MO.nestedProperty(e,r).get()||{}:e}Nae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l="_module"in r,u=SO(t,o),c=SO(r,o),f=SO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+"coloraxis");if(v){var x=Nnt(r,"contour")&&MO.nestedProperty(r,"contours.coloring").get()||"heatmap",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,MO.warn(["Ignoring coloraxis:",v,"setting","as it is linked to incompatible colorscales."].join(" ")))):d[v]=[x,r,[h]];return}}var g=u[s+"min"],E=u[s+"max"],k=Oae(g)&&Oae(E)&&g{"use strict";var Uae=Mr(),Unt=Vs(),Vae=gO(),Vnt=Uh();Hae.exports=function(t,r){function n(f,h){return Uae.coerce(t,r,Vae,f,h)}n("colorscale.sequential"),n("colorscale.sequentialminus"),n("colorscale.diverging");var i=r._colorAxes,a,o;function s(f,h){return Uae.coerce(a,o,Vae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Unt.newContainer(r,l,"coloraxis"),o._name=l,Vnt(a,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var Hnt=Mr(),Gnt=Dv().hasColorscale,jnt=Dv().extractOpts;jae.exports=function(t,r){function n(c,f){var h=c["_"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?Hnt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=jnt(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,"colorscale")}}for(var a=0;a{"use strict";var Zae=uo(),EO=Mr(),Wnt=Dv().extractOpts;Xae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?EO.nestedProperty(r,o).get():r,l=Wnt(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return EO.aggNums(Math.min,null,a)},v=function(){return EO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Zae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Zae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync("colorscale",x)}}});var Mu=ye((nrr,Yae)=>{"use strict";var $6=sb(),A3=Dv();Yae.exports={moduleType:"component",name:"colorscale",attributes:Kl(),layoutAttributes:gO(),supplyLayoutDefaults:Gae(),handleDefaults:Uh(),crossTraceDefaults:Wae(),calc:zv(),scales:$6.scales,defaultScale:$6.defaultScale,getScale:$6.get,isValidScale:$6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((arr,Jae)=>{"use strict";var Kae=Mr(),Znt=vv().isTypedArraySpec;Jae.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){var t=e.marker;return Kae.isPlainObject(t)&&(Kae.isArrayOrTypedArray(t.size)||Znt(t.size))}}});var S3=ye((orr,$ae)=>{"use strict";var Xnt=uo();$ae.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode==="area"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return Xnt(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{"use strict";var Qae=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i=0&&r.index{roe.exports=Qnt;var kO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},$nt=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Qnt(e){var t=[];return e.replace($nt,function(r,n,i){var a=n.toLowerCase();for(i=tat(i),a=="m"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a="l",n=n=="m"?"l":"L");;){if(i.length==kO[a])return i.unshift(n),t.push(i);if(i.length{"use strict";var rat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts="M0,0Z",ioe=Math.sqrt(2),i_=Math.sqrt(3),CO=Math.PI,LO=Math.cos,PO=Math.sin;loe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,"M"+i+","+n+"H"+n+"V"+i+"H-"+n+"V"+n+"H-"+i+"V-"+n+"H-"+n+"V-"+i+"H"+n+"V-"+n+"H"+i+"Z")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/ioe,2),i="l"+n+","+n,a="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return is(t,r,"M0,"+n+i+a+o+a+o+s+o+s+i+s+i+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+n+","+i+"H"+n+"L0,-"+a+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+n+",-"+i+"H"+n+"L0,"+a+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M"+i+",-"+n+"V"+n+"L-"+a+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+i+",-"+n+"V"+n+"L"+a+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M-"+i+",-"+n+"H"+n+"V"+i+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M"+n+",-"+i+"V"+n+"H-"+i+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M"+i+","+n+"H-"+n+"V-"+i+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M-"+n+","+i+"V-"+n+"H"+i+"Z")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,"M"+n+","+o+"L"+i+","+s+"H-"+i+"L-"+n+","+o+"L0,"+a+"Z")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*i_/2,2);return is(t,r,"M"+a+",-"+i+"V"+i+"L0,"+n+"L-"+a+","+i+"V-"+i+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*i_/2,2);return is(t,r,"M-"+i+","+a+"H"+i+"L"+n+",0L"+i+",-"+a+"H-"+i+"L-"+n+",0Z")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,"M-"+i+",-"+n+"H"+i+"L"+n+",-"+i+"V"+i+"L"+i+","+n+"H-"+i+"L-"+n+","+i+"V-"+i+"Z")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,"M"+i+","+u+"H"+a+"L"+o+","+c+"L"+s+","+f+"L0,"+h+"L-"+s+","+f+"L-"+o+","+c+"L-"+a+","+u+"H-"+i+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,"M-"+a+",0l-"+i+",-"+n+"h"+a+"l"+i+",-"+n+"l"+i+","+n+"h"+a+"l-"+i+","+n+"l"+i+","+n+"h-"+a+"l-"+i+","+n+"l-"+i+",-"+n+"h-"+a+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*i_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s="A "+o+","+o+" 0 0 1 ";return is(t,r,"M-"+n+","+i+s+n+","+i+s+"0,-"+a+s+"-"+n+","+i+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*i_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s="A "+o+","+o+" 0 0 1 ";return is(t,r,"M"+n+",-"+i+s+"-"+n+",-"+i+s+"0,"+a+s+n+",-"+i+"Z")}},"star-square":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a="A "+i+","+i+" 0 0 1 ";return is(t,r,"M-"+n+",-"+n+a+"-"+n+","+n+a+n+","+n+a+n+",-"+n+a+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a="A "+i+","+i+" 0 0 1 ";return is(t,r,"M-"+n+",0"+a+"0,"+n+a+n+",0"+a+"0,-"+n+a+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/ioe,2);return is(t,r,"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+i+",-"+i+"L"+i+","+i+"M-"+i+","+i+"L"+i+",-"+i)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,"M"+n+","+i+"V-"+i+"M"+(n-i)+",-"+i+"V"+i+"M"+i+","+n+"H-"+i+"M-"+i+","+(n-i)+"H"+i)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+n+","+a+"L0,0M"+n+","+a+"L0,0M0,-"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+n+",-"+a+"L0,0M"+n+",-"+a+"L0,0M0,"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M"+a+","+n+"L0,0M"+a+",-"+n+"L0,0M-"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+a+","+n+"L0,0M-"+a+",-"+n+"L0,0M"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M0,0L-"+n+",-"+i+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,0L"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,0L-"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+i+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,-"+i+"V"+i+"M0,0L"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,-"+i+"V"+i+"M0,0L-"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=CO/2.5,i=2*e*LO(n),a=2*e*PO(n);return is(t,r,"M0,0L"+-i+","+a+"L"+i+","+a+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=CO/4,i=2*e*LO(n),a=2*e*PO(n);return is(t,r,"M0,0L"+-i+","+a+"A "+2*e+","+2*e+" 0 0 1 "+i+","+a+"Z")},backoff:.4,noDot:!0}};function rs(e){return e===null}var noe,aoe,ooe,soe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(ooe===e&&soe===t&&noe===r)return aoe;ooe=e,soe=t,noe=r;function n(b,g){var E=LO(b),k=PO(b),A=g[0],L=g[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*CO,a=0,o=0,s=rat(r),l="",u=0;u{"use strict";var od=xa(),du=Mr(),iat=du.numberFormat,Ab=uo(),qO=id(),eL=ba(),Xd=va(),nat=Mu(),KS=du.strTranslate,tL=Ll(),aat=Zp(),oat=Nh(),sat=oat.LINE_SPACING,_oe=N1().DESELECTDIM,lat=lu(),uat=S3(),cat=rp().appendArrayPointValue,na=Coe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style("font-family",s),o+1&&e.style("font-size",o+"px"),a&&e.call(Xd.fill,a),i&&e.style("font-weight",i),n&&e.style("font-style",n),r&&e.style("font-variant",r),c&&e.style("text-transform",IO(hat(c))),l&&e.style("text-shadow",l==="auto"?tL.makeTextShadow(Xd.contrast(a)):IO(l)),u&&e.style("text-decoration-line",IO(dat(u)))};function IO(e){return e==="none"?void 0:e}var fat={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function hat(e){return fat[e]}function dat(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}na.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};na.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName==="text"?t.attr("x",i).attr("y",a):t.attr("transform",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr("display",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:"none")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=eL.traceIs(a,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style("fill","none");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style("fill","none").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||"";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function xoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,"");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,"point",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!=="none"){var d=a.type,v="scatterfill-"+t.uid;if(n&&(v="legendfill-"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d==="horizontal"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d==="vertical"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Toe,r,v,"linear",a.colorscale,"fill",x,b,!0,!1)}else d==="horizontal"&&(d=d+"reversed"),e.call(na.gradient,r,v,d,a.colorscale,"fill")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};xoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style("stroke-width",0).each(function(n){var i=od.select(this);n[0].trace&&xoe(i,n[0].trace,t,r)})};var coe=uoe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(coe).forEach(function(e){var t=coe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(na.symbolNoFill[r]=!0)});var vat=na.symbolNames.length,pat="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=vat||e>=400?0:Math.floor(Math.max(e,0))};function boe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?pat:"")}var foe=iat("~f"),woe={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};na.gradient=function(e,t,r,n,i,a){var o=woe[n];return Toe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Toe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n==="linear"?f={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:u}:n==="radial"&&(f={node:"radialGradient",reversed:u});for(var h=new Array(c),d=0;d=0&&e.i===void 0&&(e.i=a.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms==="various"||o.size==="various"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=NO(e,r),f=BO(e,r);t.attr("d",boe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),"mc"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({"stroke-width":(x||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:x)+"px");var g=o.gradient,E=e.mgt;E?h=!0:E=g&&g.type,du.isArrayOrTypedArray(E)&&(E=E[0],woe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,"");if(E&&E!=="none"){var L=e.mgc;L?h=!0:L=g.color;var _=r.uid;h&&(_+="-"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],"fill")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var p=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+="-"+e.i),na.pattern(t,"point",i,V,A,F,q,e.mcc,k.fillmode,P,p,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,""),t.lineScale=na.tryColorscale(r,"line"),eL.traceIs(e,"symbols")&&(t.ms2mrc=lat.isBubble(e)?uat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:_oe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,g=o.size,E=b!==void 0,k=g!==void 0;return eL.traceIs(e,"symbols")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?g/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,_oe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr("d",boe(na.symbolNumber(s),l,NO(o,t),BO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,"txt","texttemplate"):du.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};cat(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Soe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(tL.convertToTspans,r).call(Aoe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Soe(n,t);Xd.fill(i,a);var l=eL.traceIs(t,"bar-like");Aoe(i,o,s,n.mrc2||n.mrc,l)})}};var hoe=.5;na.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],n=[],i;for(i=1;i=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=koe;na.makeTester=function(){var e=du.ensureSingleById(od.select("body"),"svg","js-plotly-tester",function(r){r.attr(aat.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=du.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});na.tester=e,na.testref=t};na.savedBBoxes={};var DO=0,yat=1e4;na.bBox=function(e,t,r){r||(r=doe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=doe(i),r){var a=+i.getAttribute("x")||0,o=+i.getAttribute("y")||0,s=i.getAttribute("transform");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+a+"~"+o+"~"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr("transform",null).call(tL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return DO>=yat&&(na.savedBBoxes={},DO=0),r&&(na.savedBBoxes[r]=d),DO++,du.extendFlat({},d)};function doe(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}na.setClipUrl=function(e,t,r){e.attr("clip-path",OO(t,r))};function OO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+e+"')":"url(#"+e+")"}na.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\btranslate\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||0,r=r||0,o=o.replace(n,"").trim(),o+=KS(t,r),o=o.trim(),e[a]("transform",o),o};na.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\bscale\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||1,r=r||1,o=o.replace(n,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[a]("transform",o),o};var _at=/\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var i=(this.getAttribute("transform")||"").replace(_at,"");i+=n,i=i.trim(),this.setAttribute("transform",i)})}};var xat=/translate\([^)]*\)\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(xat);t===1&&r===1?n=[]:n=[KS(o,s),"scale("+t+","+r+")",KS(-o,-s)],l&&n.push(l),i.attr("transform",n.join(""))}})};function BO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=BO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function voe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var poe,goe,moe,yoe,zO,FO;function NO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a==="previous"||a==="north"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a==="north")x=r/180*Math.PI;else if(a==="previous"){var b=u/180*Math.PI,g=c/180*Math.PI,E=poe/180*Math.PI,k=goe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(g)-bb(k)*E3(g)*bb(A);x=-YS(L,_)-Math.PI,poe=u,goe=c}var C=voe(d,[bb(x),0]),M=voe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a==="previous"&&!(FO===t.uid&&e.i===zO+1)&&(r=null)}if(a==="previous"&&!t._geo)if(FO===t.uid&&e.i===zO+1&&Ab(n)&&Ab(i)){var p=n-moe,P=i-yoe,T=t.line&&t.line.shape||"",F=T.slice(T.length-1);F==="h"&&(P=0),F==="v"&&(p=0),r+=YS(P,p)/Math.PI*180+90}else r=null}return moe=n,yoe=i,zO=e.i,FO=t.uid,r}na.getMarkerAngle=NO});var Mb=ye((frr,Roe)=>{"use strict";var k3=xa(),bat=uo(),wat=Xu(),UO=ba(),Sb=Mr(),Loe=Sb.strTranslate,rL=ao(),iL=va(),C3=Ll(),Poe=N1(),Tat=Nh().OPPOSITE_SIDE,Ioe=/ [XY][0-9]* /,VO=1.6,HO=1.6;function Aat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:"").trim(),x=!1,b=d&&d.font?d.font:{},g=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,p=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:"",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a==="title.text"?Te="titleText":a.indexOf("axis")!==-1?Te="axisTitleText":a.indexOf("colorbar"!==-1)&&(Te="colorbarTitleText");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Ioe," % ")===Ct.replace(Ioe," % ")}v===""?h=0:Ae(v,o)&&(Ee||(v=""),h=.2,x=!0),T&&(V===""?X=0:Ae(V,F)&&(Ee||(V=""),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,"g","g-"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll("text."+t).data(ze?[0]:[]);me.enter().append("text"),me.text(v).attr("class",t),me.exit().remove();var Re=null,ce=t+"-subtitle",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll("text."+ce).data(Ge?[0]:[]),Re.enter().append("text"),Re.text(V).attr("class",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr="",c.rotate&&(xr+="rotate("+[c.rotate,u.x,u.y]+")"),(c.offset||Ce)&&(xr+=Loe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr("transform",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select("."+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+VO*W;dt.attr("y",$t)}}}}if(Ct.style("opacity",h*iL.opacity(k)).call(rL.font,{color:iL.rgb(k),size:k3.round(E,2),family:g,weight:A,style:L,variant:_,textcase:C,shadow:p,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select("."+t+"-math-group"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+VO*W:xt.y+xt.height+HO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr("transform",xr),Yt.style("opacity",X*iL.opacity(re)).call(rL.font,{color:iL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return wat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr("transform",null);var xr=Tat[l.side],er=l.side==="left"||l.side==="top"?-1:1,Ke=bat(l.pad)?l.pad:2,xt=rL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=rL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr("transform",Loe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on("mouseover.opacity",function(){k3.select(this).transition().duration(Poe.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){k3.select(this).transition().duration(Poe.HIDE_PLACEHOLDER).style("opacity",0)})}if(Ee&&(v?me.on(".opacity",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on("edit",function(kt){s!==void 0?UO.call("_guiRestyle",e,a,kt,s):UO.call("_guiRelayout",e,a,kt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(nt)}).on("input",function(kt){this.text(kt||" ").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+HO*W;Re.attr("y",Rt)}V?Re.on(".opacity",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on("edit",function(kt){UO.call("_guiRelayout",e,"title.subtitle.text",kt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(nt)}).on("input",function(kt){this.text(kt||" ").call(C3.positionText,Re.attr("x"),Re.attr("y"))})}return me.classed("js-placeholder",x),Re&&Re.classed("js-placeholder",H),f}Roe.exports={draw:Aat,SUBTITLE_PADDING_EM:HO,SUBTITLE_PADDING_MATHJAX_EM:VO}});var ym=ye((hrr,Ooe)=>{"use strict";var Sat=xa(),Mat=e3().utcFormat,Nu=Mr(),Eat=Nu.numberFormat,gm=uo(),n_=Nu.cleanNumber,kat=Nu.ms2DateTime,Doe=Nu.dateTime2ms,mm=Nu.ensureNumber,zoe=Nu.isArrayOrTypedArray,a_=es(),nL=a_.FP_SAFE,bg=a_.BADNUM,Cat=a_.LOG_CLIP,Lat=a_.ONEWEEK,aL=a_.ONEDAY,oL=a_.ONEHOUR,Foe=a_.ONEMIN,qoe=a_.ONESEC,sL=af(),cL=ad(),lL=cL.HOUR_PATTERN,uL=cL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function GO(e){return e!=null}Ooe.exports=function(t,r){r=r||{};var n=t._id||"x",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Cat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Doe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var p=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-p/10);M=Doe(new Date(P))+p/10}else return bg;return M}function s(A,L,_){return kat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(GO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A=="number"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;Ct.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,p=0,P=0;PF)p=P+1;else{p=M<(T+F)/2?P:P+1;break}}var q=t._B[p]||0;return isFinite(q)?v(A,t._m2,q):0},g=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;Ct._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type==="log"?a:mm,t.l2c=t.type==="log"?JS:mm,t.l2p=b,t.p2l=g,t.c2p=t.type==="log"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type==="log"?function(A){return JS(g(A))}:g,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=n_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(n_(A))},t.p2d=t.p2r=g,t.cleanPos=mm):t.type==="log"?(t.d2r=t.d2l=function(A,L){return a(n_(A),L)},t.r2d=t.r2c=function(A){return JS(n_(A))},t.d2c=t.r2l=n_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(g(A))},t.r2p=function(A){return t.l2p(n_(A))},t.p2r=g,t.cleanPos=mm):t.type==="date"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(g(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(g(A))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(A){return typeof A=="string"&&A!==""?A:mm(A)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(g(A))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(A){return Array.isArray(A)||typeof A=="string"&&A!==""?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var p in M)if(p!==n){var P=r[sL.id2name(p)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_P[1]&&(C[p?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[p?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[p?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A="range");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type==="date"?M=Nu.dfltRange(t.calendar):i==="y"?M=cL.DFLTRANGEY:t._name==="realaxis"?M=[0,1]:M=L.dfltRange||cL.DFLTRANGEX,M=M.slice(),(t.rangemode==="tozero"||t.rangemode==="nonnegative")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var p=_[0]===null,P=_[1]===null;for(t.type==="date"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type==="date"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(p||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-nL?_[C]=-nL:_[C]>nL&&(_[C]=nL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=sL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?"_r":"range",M=t.calendar;t.cleanRange(C);var p=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i==="y";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(p-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-p),t._b=-t._m*p),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(p,P),Math.max(p,P)),t._rangebreaks.length){for(F=0;FP&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-p)-t._lBreaks),t._B.push(-t._m2*(T?P:p)),F=0;FM&&(M+=7,pM&&(M+=24,p=C&&p=C&&A=ie.min&&(_eie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_{"use strict";var Boe=uo(),jO=Mr(),Pat=es().BADNUM,fL=jO.isArrayOrTypedArray,Iat=jO.isDateTime,Rat=jO.cleanNumber,Noe=Math.round;Voe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(fL(i)&&!i.length)return"-";if(!a&&Oat(i))return"multicategory";if(a&&Array.isArray(i[0])){for(var o=[],s=0;sa*2}function Uoe(e){return Math.max(1,(e-1)/1e3)}function qat(e,t){for(var r=e.length,n=Uoe(r),i=0,a=0,o={},s=0;si*2}function Oat(e){return fL(e[0])&&fL(e[1])}});var wg=ye((vrr,Koe)=>{"use strict";var Bat=xa(),Woe=uo(),o_=Mr(),hL=es().FP_SAFE,Nat=ba(),Uat=ao(),Zoe=af(),Vat=Zoe.getFromId,Hat=Zoe.isLinked;Koe.exports={applyAutorangeOptions:Yoe,getAutoRange:WO,makePadFn:ZO,doAutoRange:jat,findExtremes:Wat,concatExtremes:KO};function WO(e,t){var r,n,i=[],a=e._fullLayout,o=ZO(a,t,0),s=ZO(a,t,1),l=KO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return o_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,p=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},p={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(g)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else g?(M.val>=0&&(M={val:0,nopad:1}),p.val<=0&&(p={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),p.val<=0&&(p={val:1,nopad:1})),L=(p.val-M.val-Hoe(t,_.val,C.val))/(k-o(M)-s(p)),i=[M.val-L*o(M),p.val+L*s(p)];return i=Yoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),o_.simpleMap(i,t.l2r||Number)}function Hoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f0&&(E=h),h>k&&h-hL&&(E=h),h>k&&h=T;f--)P(f);return{min:n,max:i,opts:r}}function XO(e,t,r,n){Xoe(e,t,r,n,Zat)}function YO(e,t,r,n){Xoe(e,t,r,n,Xat)}function Xoe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function joe(e){return Woe(e)&&Math.abs(e)=t}function Yat(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&dL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&dL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function Kat(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&dL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&dL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function dL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=Yat(r,t),n=Kat(n,t),[r,n]}});var Qa=ye((prr,yse)=>{"use strict";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Ll(),Jat=Mb(),eM=va(),Xp=ao(),$at=Cd(),Joe=xO(),Yd=es(),Qat=Yd.ONEMAXYEAR,gL=Yd.ONEAVGYEAR,mL=Yd.ONEMINYEAR,eot=Yd.ONEMAXQUARTER,eB=Yd.ONEAVGQUARTER,yL=Yd.ONEMINQUARTER,tot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,_L=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,s_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,xL=Yd.ONESEC,rot=Yd.ONEMILLI,iot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,TL=Yd.BADNUM,tB={K:"zeroline"},rB={K:"gridline",L:"path"},iB={K:"minor-gridline",L:"path"},lse={K:"tick",L:"path"},$oe={K:"tick",L:"text"},Qoe={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},AL=Nh(),$S=AL.MID_SHIFT,Cb=AL.CAP_SHIFT,rM=AL.LINE_SPACING,not=AL.OPPOSITE_SIDE,bL=3,kn=yse.exports={};kn.setConvert=ym();var aot=L3(),Ay=af(),oot=Ay.idSort,sot=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var use=wg();kn.getAutoRange=use.getAutoRange;kn.findExtremes=use.findExtremes;var lot=1e-4;function sB(e){var t=(e[1]-e[0])*lot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+"axis"],l=n+"ref",u={};return i||(i=s[0]||(typeof a=="string"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(a?typeof a=="string"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!=="range")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r==="paper"||r==="pixel"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,"",!0),n=!1,i=0;if*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,"M6","reverse")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,"M1","reverse")+Fv*15.5:e-=s_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?JO(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:rse(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":JO(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?JO(u,c)||(e.dtick=rse(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function JO(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function rse(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var n=e.nticks,i;n||(e.type==="category"||e.type==="multicategory"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)==="y"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name==="radialaxis"&&(n*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=mL?u>=mL&&u<=Qat?f=u:f=gL:r===eB&&c>=yL?u>=yL&&u<=eot?f=u:f=eB:c>=_L?u>=_L&&u<=tot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===s_&&c>=s_?f=s_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;bYp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode==="period",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode==="array"){A?(b=[],v=ise(t,!L)):(g=[],x=ise(t,!L));continue}if(_.tickmode==="sync"){b=[],v=vot(t);continue}var C=sB(u),M=C[0],p=C[1],P=ph(_.dtick),T=n==="log"&&!(P||_.dtick.charAt(0)==="L"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F=p:V<=p;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,g.push(N))}}if(!g||g.length<2)l=!1;else{var W=(g[1].value-g[0].value)*(s?-1:1);Oot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(g);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=QO(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Reh||Yth&&(Ct.periodX=h),Yti&&hgL)t/=gL,n=i(10),e.dtick="M"+12*_m(t,n,vL);else if(a>R3)t/=R3,e.dtick="M"+_m(t,1,nse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:pot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,nse):a>tM?e.dtick=_m(t,tM,ase):a>xL?e.dtick=_m(t,xL,ase):(n=i(10),e.dtick=_m(t,n,vL))}else if(e.type==="log"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick="L"+_m(t,n,vL)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):cB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,got)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,vL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function dse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,""),i=n.length;if(String(t).charAt(0)==="M")i>10||n.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12===0?"y":"m";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround="d";else if(t>=tM&&i<=16||t>=xm)e._tickround="M";else if(t>=xL&&i<=19||t>=tM)e._tickround="S";else{var a=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(wL(e.exponentformat)&&!lB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a==="M")return Vo.incrementMonth(e,o,n);if(a==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a==="D"){var s=t==="D2"?hse:fse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]=0&&g<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function yot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a=="string"&&a.charAt(0);if(i==="never"&&(i=""),n&&l!=="L"&&(a="L3",l="L"),s||l==="L")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l==="D"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f==="power"||wL(f)&&lB(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":kb)+c+"",t.fontSize*=1.25):(f==="e"||f==="E")&&c>2?t.text="1"+f+(u>0?"+":kb)+c:(t.text=iM(Math.pow(10,o),e,"","fakehover"),a==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(a);if(e.dtick==="D1"){var h=String(t.text).charAt(0);(h==="0"||h==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function _ot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function xot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?"":String(i[1]),o=i[0]===void 0?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}function bot(e,t,r,n,i){i==="never"?i="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=iM(t.x,e,i,n)}function wot(e,t,r,n,i){if(e.thetaunit==="radians"&&!r){var a=t.x/180;if(a===0)t.text="0";else{var o=Tot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Tot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Aot=["f","p","n","\u03BC","m","","k","M","G","T"];function wL(e){return e==="SI"||e==="B"}function lB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};dse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+v+"":o==="B"&&s===9?e+="B":wL(o)&&(e+=Aot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*R3}function n(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):f-h}else return typeof l=="number"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!="number"||f(h)<=f(l))&&(!d&&typeof d!="number"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&oB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor==="free"){var d=t.linewidth/2||0;t.ticks==="inside"&&(d+=t.ticklen),oB(t,d,n,!0),oB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=qot(t,n));var v=h[c+"axislayer"],x=t._mainLinePosition,b=x+=t._shift,g=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,g].join("_");for(a=0;a0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt==="l"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt==="l"&&(xt+=sse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift=="number"?t._shift:0;if(c==="x"){if(rt==="b"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt==="l"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor==="free"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=sse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror==="ticks"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(ose(Yt,t.automargin),ose(xr,t.automargin)),P3.autoMargin(e,uB(t),Yt),P3.autoMargin(e,gse(t),xr),P3.autoMargin(e,mse(t),er)}),Vo.syncOrAsync(nt)}};function ose(e,t){if(e){var r=Object.keys(Qoe).reduce(function(n,i){return t.indexOf(i)!==-1&&Qoe[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Sot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;ne.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf("inside")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c==="top"||c==="left")||l&&(c==="bottom"||c==="right")?1:-1;n=n*f}return e._id.charAt(0)==="x"?function(h){return I3(i+e._offset+e.l2p(nB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(nB(h))+r)}};function nB(e){return e.periodX!==void 0?e.periodX:e.x}function Cot(e){var t=e.ticklabelposition||"",r=function(d){return t.indexOf(d)!==-1},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=bL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=bL),s&&u==="top"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u==="bottom"||u==="right")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o==="x"?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||"",i=function(F){return n.indexOf(F)!==-1},a=i("top"),o=i("left"),s=i("right"),l=i("bottom"),u=l||o||a||s,c=i("inside"),f=n==="inside"&&e.ticks==="inside"||!c&&e.ticks==="outside"&&e.tickson!=="boundaries",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},g,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,p;if(C==="x")p=!c&&_==="bottom"||c&&_==="top",A=p?1:-1,c&&(A*=-1),g=d*A,E=t+h*A,k=p?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_==="bottom"?k=Cb:M===90&&_==="top"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+g+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return"end";if(s)return"start"}return!ph(q)||q===0||q===180?"middle":q*A<0!==c?"end":"start"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side==="top"!==c?-V:0};else if(C==="y"){if(p=!c&&_==="left"||c&&_==="right",A=p?1:-1,c&&(A*=-1),g=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_==="left"||M===90&&_==="right"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(g+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?"middle":p?"end":"start"},b.heightFn=function(F,q,V){return e.side==="right"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function SL(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+"tick",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll("path."+n).data(i,SL);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),ML(t,[lse]),a.attr("transform",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!=="sync"){var n=t._id+"grid",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(g){return g.minor}):[],o=t.showgrid?r.vals.filter(function(g){return!g.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;v--){var x=v?h:d;if(x){var b=x.selectAll("path."+n).data(v?o:a,SL);b.exit().remove(),b.enter().append("path").classed(n,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(g){return eM.stroke(w0.select(this),g.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(g){return Xp.dashStyle(g.minor?t.minor.griddash:t.griddash,g.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(g){return(g.minor?f:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}ML(t,[rB,iB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return oot(o.id,s.id)})}),a.attr("transform",r.transFn).attr("d",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style("stroke-width",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),ML(t,[tB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+"tick",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll("g."+a).data(t.showticklabels?o:[],SL),f=[];c.enter().append("g").classed(a,1).append("text").attr("text-anchor","middle").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),ML(t,[$oe]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select("text").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(".text-math-group"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?" rotate("+W+","+s.xFn(re)+","+(s.yFn(re)-re.fontSize/2)+")":""),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select("text");Ee.attr({transform:ke,"text-anchor":Me}),Ee.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr("transform",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N==="allow")){var W=N.indexOf("hide")!==-1,re=t._id.charAt(0)==="x",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf("domain")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(".text-math-group");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.leftge||Ge.top+(t.tickangle?0:me.fontSize/4)t["_visibleLabelMin_"+Me._id]?me.style("display","none"):ge.K==="tick"&&!ke&&me.style("display",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=aB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson==="boundaries"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))H*V&&(T=V,M[C]=p[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!=="y"&&(A=-A),M[_]=E.p2r(E.r2p(p[_])+L*A),E.autorange==="min"||E.autorange==="max reversed"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange==="max"||E.autorange==="min reversed")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+".range"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Lot(e,t,r){var n=t._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,SL);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(eM.stroke,t.dividercolor).style("stroke-width",Xp.crispRound(e,t.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!=="free"?a=t._anchorAxis:n==="x"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n==="y"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i==="top"||i==="left")return a._offset;if(i==="bottom"||i==="right")return a._offset+a._length};function sse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Pot(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty("standoff"))t.side==="bottom"||t.side==="right"?o=t._depth+t.title.standoff+a*Cb:(t.side==="top"||t.side==="left")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type==="multicategory")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks==="outside"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i==="x"?o+=t.side==="top"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side==="right"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i==="x"?(h=t._offset+t._length/2,d=t.side==="top"?c-o:c+o):(d=t._offset+t._length/2,h=t.side==="right"?c+o:c-o,f={rotate:"-90",offset:0});var v;if(t.type!=="multicategory"){var x=t._selections[t._id+"tick"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty("standoff")&&(v.pad=0)}return t._titleStandoff=o,Jat.draw(e,n+"title",{propContainer:t,propName:t._name+".title.text",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,"text-anchor":"middle"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type==="linear"||t.type==="-")&&!(t.rangebreaks&&t.maskBreaks(0)===TL)&&(pse(t,0)||!Iot(e,t,r,n)||Rot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return pse(e,r.x)})};function pse(e,t){var r=e.l2p(t);return r>1&&r1)for(i=1;i=i.min&&e=iot:/%L/.test(t)?e>=rot:/%[SX]/.test(t)?e>=xL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=s_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=_L:/%[q]/.test(t)?e>=yL:/%[Yy]/.test(t)?e>=mL:!0}});var fB=ye((grr,_se)=>{"use strict";_se.exports=function(t,r,n){var i,a;if(n){var o=r==="reversed"||r==="min reversed"||r==="max reversed";i=n[o?1:0],a=n[o?0:1]}var s=t("autorangeoptions.minallowed",a===null?i:void 0),l=t("autorangeoptions.maxallowed",i===null?a:void 0);s===void 0&&t("autorangeoptions.clipmin"),l===void 0&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}});var hB=ye((mrr,xse)=>{"use strict";var Bot=fB();xse.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||"-";n("minallowed"),n("maxallowed");var s=n("range");if(!s){var l;!i.noInsiderange&&o!=="log"&&(l=n("insiderange"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n("range",l)))}var u=r.getAutorangeDflt(s,i),c=n("autorange",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c==="reversed"||c===!0)||s[0]!==null&&(c==="min"||c==="max reversed")||s[1]!==null&&(c==="max"||c==="min reversed"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n("autorange",u)),c&&(Bot(n,c,s),(o==="linear"||o==="-")&&n("rangemode")),r.cleanRange()}});var wse=ye((yrr,bse)=>{var Not={left:0,top:0};bse.exports=Uot;function Uot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Vot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Vot(e){return e===window||e===document||e===document.body?Not:e.getBoundingClientRect()}});var EL=ye((_rr,Tse)=>{"use strict";var Hot=Yq();function Got(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}Tse.exports=Hot&&Got()});var Sse=ye((xrr,Ase)=>{"use strict";Ase.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a==="left"||a==="bottom"?o:a==="center"||a==="middle"?l:a==="right"||a==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var kse=ye((brr,Ese)=>{"use strict";var Mse=Mr(),jot=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];Ese.exports=function(t,r,n,i){return n==="left"?t=0:n==="center"?t=1:n==="right"?t=2:t=Mse.constrain(Math.floor(t*3),0,2),i==="bottom"?r=0:i==="middle"?r=1:i==="top"?r=2:r=Mse.constrain(Math.floor(r*3),0,2),jot[r][t]}});var Lse=ye((wrr,Cse)=>{"use strict";var Wot=g3(),Zot=L6(),Xot=DS().getGraphDiv,Yot=IS(),dB=Cse.exports={};dB.wrapped=function(e,t,r){e=Xot(e),e._fullLayout&&Zot.clear(e._fullLayout._uid+Yot.HOVERID),dB.raw(e,t,r)};dB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Wot.triggerHandler(t,"plotly_beforehover",r)===!1)&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&i&&t.emit("plotly_unhover",{event:r,points:i}))}});var gv=ye((Trr,Rse)=>{"use strict";var Kot=wse(),vB=Jq(),Jot=EL(),$ot=Mr().removeElement,Qot=ad(),Lb=Rse.exports={};Lb.align=Sse();Lb.getCursor=kse();var Pse=Lse();Lb.unhover=Pse.wrapped;Lb.unhoverRaw=Pse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents="all",a.onmousedown=b,Jot?(a._ontouchstart&&a.removeEventListener("touchstart",a._ontouchstart),a._ontouchstart=b,a.addEventListener("touchstart",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(n,f),!d){var A;try{A=new MouseEvent("click",k)}catch(_){var L=pB(k);A=document.createEvent("MouseEvents"),A.initMouseEvent("click",k.bubbles,k.cancelable,k.view,k.detail,k.screenX,k.screenY,L[0],L[1],k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget)}h.dispatchEvent(A)}r._dragging=!1,r._dragged=!1}};function Ise(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}Lb.coverSlip=Ise;function pB(e){return Kot(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Arr,Dse)=>{"use strict";Dse.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(n){n.indexOf("cursor-")===0&&t.classed(n,!1)}),r&&t.classed("cursor-"+r,!0)}});var qse=ye((Srr,Fse)=>{"use strict";var gB=Tg(),aM="data-savedcursor",zse="!!";Fse.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr("class")||"").split(" "),a=0;a{"use strict";var mB=Su(),est=dh();Ose.exports={_isSubplotObj:!0,visible:{valType:"boolean",dflt:!0,editType:"legend"},bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:est.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:mB({editType:"legend"}),grouptitlefont:mB({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},entrywidth:{valType:"number",min:0,editType:"legend"},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend"},indentation:{valType:"number",min:-15,dflt:0,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},x:{valType:"number",editType:"legend"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",editType:"legend"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:mB({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left","top center","top right"],editType:"legend"},editType:"legend"},editType:"legend"}});var CL=ye(kL=>{"use strict";kL.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};kL.isVertical=function(t){return t.orientation!=="h"};kL.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var bB=ye((krr,Bse)=>{"use strict";var _B=ba(),Kp=Mr(),tst=Vs(),rst=vl(),ist=yB(),nst=s3(),xB=CL();function ast(e,t,r,n){var i=t[e]||{},a=tst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,ist,G,N)}var s=Kp.coerceFont(o,"font",r.font);o("bgcolor",r.paper_bgcolor),o("bordercolor");var l=o("visible");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,rst,G,N)},f=r.font||{},h=Kp.coerceFont(o,"grouptitlefont",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x="normal",b=(r.shapes||[]).filter(function(G){return G.showlegend}),g=n.concat(b).filter(function(G){return e===(G.legend||"legend")}),E=0;E(e==="legend"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o("uirevision",r.uirevision),A!==!1)){o("borderwidth");var L=o("orientation"),_=o("yref"),C=o("xref"),M=L==="h",p=_==="paper",P=C==="paper",T,F,q,V="left";M?(T=0,_B.getComponentMethod("rangeslider","isVisible")(t.xaxis)?p?(F=1.1,q="bottom"):(F=1,q="top"):p?(F=-.1,q="top"):(F=0,q="bottom")):(F=1,q="auto",P?T=1.02:(T=1,V="right")),Kp.coerce(i,a,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:T}},"x"),Kp.coerce(i,a,{y:{valType:"number",editType:"legend",min:p?-2:0,max:p?3:1,dflt:F}},"y"),o("traceorder",x),xB.isGrouped(r[e])&&o("tracegroupgap"),o("entrywidth"),o("entrywidthmode"),o("indentation"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("xanchor",V),o("yanchor",q),o("valign"),Kp.noneOrAll(i,a,["x","y"]);var H=o("title.text");if(H){o("title.side",M?"left":"top");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,"title.font",X)}}}}Bse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i{"use strict";var D3=ba(),TB=Mr(),ost=TB.pushUnique,wB=!0;Nse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a==="toggle"&&o==="toggleothers"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,"Double-click on legend to isolate one trace"),"long"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s==="togglegroup",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,g,E,k,A,L,_,C={},M=[],p=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,"pie-like")){var W=f.label,re=c.indexOf(W);if(l==="toggle")re===-1?c.push(W):c.splice(re,1);else if(l==="toggleothers"){var ae=re!==-1,_e=[];for(g=0;g{"use strict";Vse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var jse=ye((Prr,Gse)=>{"use strict";var Hse=ba(),SB=CL();Gse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===""||!SB.isGrouped(r)){var re="~~i"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;dP&&(p=P)}C[d][0]._groupMinRank=p,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d{"use strict";var LL=Mr();function Wse(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Pb.formatPiePercent=function(t,r){var n=Wse((t*100).toPrecision(3));return LL.numSeparate(n,r)+"%"};Pb.formatPieValue=function(t,r){var n=Wse(t.toPrecision(10));return LL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(LL.isArrayOrTypedArray(t))for(var n=0;n{"use strict";var sst=ao(),lst=va();Zse.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?sst.pointStyle(t,n,i,r):lst.fill(t,r.color)}});var z3=ye((Drr,Jse)=>{"use strict";var Yse=va(),Kse=l_().castOption,ust=Xse();Jse.exports=function(t,r,n,i){var a=n.marker.line,o=Kse(a.color,r.pts)||Yse.defaultLine,s=Kse(a.width,r.pts)||0;t.call(ust,r,n,i).style("stroke-width",s).call(Yse.stroke,o)}});var CB=ye((zrr,ile)=>{"use strict";var qv=xa(),MB=ba(),mv=Mr(),$se=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,PL=lu(),cst=z3(),fst=l_().castOption,hst=AB(),Qse=12,ele=5,Ib=2,dst=10,F3=5;ile.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing==="constant",o=n.itemwidth,s=(o+hst.itemGap*2)/2,l=$se(s,0),u=function(C,M,p,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,p)};t.each(function(C){var M=qv.select(this),p=mv.ensureSingle(M,"g","layers");p.style("opacity",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T==="middle"&&P===0||!F||!q)p.attr("transform",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;p.attr("transform",$se(X,H))}var G=p.selectAll("g.legendfill").data([C]);G.enter().append("g").classed("legendfill",!0);var N=p.selectAll("g.legendlines").data([C]);N.enter().append("g").classed("legendlines",!0);var W=p.selectAll("g.legendsymbols").data([C]);W.enter().append("g").classed("legendsymbols",!0),W.selectAll("g.legendpoints").data([C]).enter().append("g").classed("legendpoints",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(g).each(E);function c(C){var M=tle(C),p=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(p)ip.fillGroupStyle(Ae,r,!0);else{var ze="legendfill-"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,"fill")}},Me=function(Ae){if(Ae.size()){var ze="legendline-"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,"stroke")}},ke=PL.hasMarkers(X)||!q?"M5,0":V?"M5,-2":"M5,-3",ge=qv.select(this),ie=ge.select(".legendfill").selectAll("path").data(p||F?[C]:[]);if(ie.enter().append("path").classed("js-fill",!0),ie.exit().remove(),ie.attr("d",ke+"h"+o+"v6h-"+o+"z").call(_e),P||T){var Te=u(void 0,X.line,dst,ele);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(".legendlines").selectAll("path").data(P||T?[G]:[]);Ee.enter().append("path").classed("js-line",!0),Ee.exit().remove(),Ee.attr("d",ke+(T?"l"+o+",0.0001":"h"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=tle(C),p=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!p&&PL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(CeEe[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N("marker.color",W),re.mx=N("marker.symbol",W),re.mo=N("marker.opacity",mv.mean,[.2,1]),re.mlc=N("marker.line.color",W),re.mlw=N("marker.line.width",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _e=N("marker.size",mv.mean,[2,16],Qse);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N("line.width",W,[0,10],ele)}),H&&(re.tx="Aa",re.tp=N("textposition",W),re.ts=10,re.tc=N("textfont.color",W),re.tf=N("textfont.family",W),re.tw=N("textfont.weight",W),re.ty=N("textfont.style",W),re.tv=N("textfont.variant",W),re.tC=N("textfont.textcase",W),re.tE=N("textfont.lineposition",W),re.tS=N("textfont.shadow",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select("g.legendpoints"),ke=Me.selectAll("path.scatterpts").data(F?X:[]);ke.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll("g.pointtext").data(H?X:[]);ge.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),ge.exit().remove(),ge.selectAll("text").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,p=M.type==="waterfall";if(C[0]._distinct&&p){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,"waterfall")}var T=[];M.visible&&p&&(T=C[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var F=qv.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(T);F.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr("d",q[1]).style("stroke-width",X+"px").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,"funnel")}function x(C,M,p){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",V=p?P.visible&&P.type===p:MB.traceIs(P,"bar"),H=qv.select(M).select("g.legendpoints").selectAll("path.legend"+p).data(V?[C]:[]);H.enter().append("path").classed("legend"+p,!0).attr("d",q).attr("transform",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style("stroke-width",W+"px");var re=N.mcc;if(!n._inHover&&"mc"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,"")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,"");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=rle(ke.size,8,10),ze=rle(ke.solidity,.5,1),Ce="legend-"+P.uid;G.call(ip.pattern,"legend",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,p=qv.select(this).select("g.legendpoints").selectAll("path.legendbox").data(M.visible&&MB.traceIs(M,"box-violin")?[C]:[]);p.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),p.exit().remove(),p.each(function(){var P=qv.select(this);if((M.boxpoints==="all"||M.points==="all")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?Qse:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});p.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style("stroke-width",F+"px").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function g(C){var M=C[0].trace,p=qv.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(M.visible&&M.type==="candlestick"?[C,C]:[]);p.enter().append("path").classed("legendcandle",!0).attr("d",function(P,T){return T?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(P,T){var F=qv.select(this),q=M[T?"increasing":"decreasing"],V=u(void 0,q.line,F3,Ib);F.style("stroke-width",V+"px").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,p=qv.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(M.visible&&M.type==="ohlc"?[C,C]:[]);p.enter().append("path").classed("legendohlc",!0).attr("d",function(P,T){return T?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(P,T){var F=qv.select(this),q=M[T?"increasing":"decreasing"],V=u(void 0,q.line,F3,Ib);F.style("fill","none").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,"pie")}function A(C){L(C,this,"funnelarea")}function L(C,M,p){var P=C[0],T=P.trace,F=p?T.visible&&T.type===p:MB.traceIs(T,p),q=qv.select(M).select("g.legendpoints").selectAll("path.legend"+p).data(F?[C]:[]);if(q.enter().append("path").classed("legend"+p,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(fst(V.line.width,P.pts),V.line,F3,Ib),X="pieLike",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);cst(q,N,G,r)}}function _(C){var M=C[0].trace,p,P=[];if(M.visible)switch(M.type){case"histogram2d":case"heatmap":P=[["M-15,-2V4H15V-2Z"]],p=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":P=[["M-6,-6V6H6V-6Z"]],p=!0;break;case"densitymapbox":case"densitymap":P=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],p="radial";break;case"cone":P=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],p=!1;break;case"streamtube":P=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],p=!1;break;case"surface":P=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],p=!0;break;case"mesh3d":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!1;break;case"volume":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!0;break;case"isosurface":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],p=!1;break}var T=qv.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(P);T.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me="legendfill-"+M.uid;ip.gradient(_e,r,Me,kB(G,p==="radial"),X,"fill")}},W;if(X){if(!p){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr("d",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function tle(e){var t=e[0].trace,r=t.contours,n=PL.hasLines(t),i=PL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:n=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?a=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function rle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((Frr,dle)=>{"use strict";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),nle=g3(),LB=gv(),mh=ao(),RL=va(),Rb=Ll(),ale=Use(),Vh=AB(),IB=Nh(),fle=IB.LINE_SPACING,O3=IB.FROM_TL,ole=IB.FROM_BR,sle=jse(),vst=CB(),lle=CL(),q3=1,pst=/^legend[0-9]*$/;dle.exports=function(t,r){if(r)ule(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^="legend"]');a.each(function(){var u=Sp.select(this),c=u.attr("class"),f=c.split(" ")[0];f.match(pst)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll("."+i).remove(),n._topdefs.select("#"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,"g",i,function(M){s||M.attr("pointer-events","all")}),b=gh.ensureSingleById(n._topdefs,"clipPath",a,function(M){M.append("rect")}),g=gh.ensureSingle(x,"rect","bg",function(M){M.attr("shape-rendering","crispEdges")});g.call(RL.stroke,r.bordercolor).call(RL.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px");var E=gh.ensureSingle(x,"g","scrollbox"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,"text",i+"titletext"),A.attr("text-anchor","start").call(mh.font,k.font).text(k.text),DL(A,E,e,r,q3)):E.selectAll("."+i+"titletext").remove();var L=gh.ensureSingle(x,"rect","scrollbar",function(M){M.attr(Vh.scrollBarEnterAttrs).call(RL.fill,Vh.scrollBarColor)}),_=E.selectAll("g.groups").data(l);_.enter().append("g").attr("class","groups"),_.exit().remove();var C=_.selectAll("g.traces").data(gh.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(M){var p=M[0].trace;return B3.traceIs(p,"pie-like")?v.indexOf(M[0].label)!==-1?.5:1:p.visible==="legendonly"?.5:1}).each(function(){Sp.select(this).call(mst,e,r)}).call(vst,e,r).each(function(){s||Sp.select(this).call(yst,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return bst(e,_,C,r)},function(){var M=n._size,p=r.borderwidth,P=r.xref==="paper",T=r.yref==="paper";if(k.text&&gst(A,r,p),!s){var F,q;P?F=M.l+M.w*r.x-O3[zL(r)]*r._width:F=n.width*r.x-O3[zL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[FL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[FL(r)]*r._effHeight;var V=wst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log("Constrain "+i+".x to make legend fit inside graph"),q!==X&&gh.log("Constrain "+i+".y to make legend fit inside graph")}mh.setTranslate(x,F,q)}if(L.on(".drag",null),x.on("wheel",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),g.attr({width:r._width-p,height:G-p,x:p/2,y:p/2}),mh.setTranslate(E,0,0),b.select("rect").attr({width:r._width-2*p,height:G-2*p,x:p,y:p}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);g.attr({width:r._width-2*p+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-p,x:p/2,y:p/2}),b.select("rect").attr({width:r._width-2*p+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*p,x:p,y:p+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on("wheel",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on("dragstart",function(){var Ge=Sp.event.sourceEvent;Ge.type==="touchstart"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on("drag",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type==="touchmove"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on("dragstart",function(){var Ge=Sp.event.sourceEvent;Ge.type==="touchstart"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on("drag",function(){var Ge=Sp.event.sourceEvent;Ge.type==="touchmove"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select("rect").attr("y",p+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed("cursor-move",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+".x"]=Ce,Ge[i+".y"]=me,B3.call("_guiRelayout",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll("g.traces").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&hle(e,x,ct,Ge,nt)}})}}],e)}}function IL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a==="fraction"?t._maxWidth*o:r+(o||i)}function hle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,"pie-like")&&(o.label=r.datum()[0].label);var s=nle.triggerHandler(e,"plotly_legendclick",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&ale(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=nle.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&s!==!1&&ale(r,e,n)}}function mst(e,t,r){var n=qL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,"pie-like"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,"text",n+"text");f.attr("text-anchor","start").call(mh.font,c).text(s?cle(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(DL,e,t,r).on("edit",function(d){this.text(cle(d,l)).call(DL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call("_guiRelayout",t,"shapes["+a.index+"].name",x.name):B3.call("_guiRestyle",t,x,a.index)}):DL(f,e,t,r)}function cle(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function yst(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,"rect",r+"toggle",function(s){t._context.staticPlot||s.style("cursor","pointer").attr("pointer-events","all"),s.call(RL.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(o.on("mousedown",function(){i=new Date().getTime(),i-t._legendMouseDownTimen&&(a=Math.max(a-1,1)),hle(t,s,e,a,Sp.event)}}))}function DL(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),Rb.convertToTspans(e,r,function(){_st(t,r,n,i)})}function _st(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select("g[class*=math-group]"),o=a.node(),s=qL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*fle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v="."+s+(n===q3?"title":"")+"text",x=e.select(v),b=Rb.lineCount(x),g=x.node();if(f=c*b,h=g?mh.bBox(g).width:0,n===q3)r.title.side==="left"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function xst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf("left")!==-1&&(t=e._titleWidth),n.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function bst(e,t,r,n){var i=e._fullLayout,a=qL(n);n||(n=i[a]);var o=i._size,s=lle.isVertical(n),l=lle.isGrouped(n),u=n.entrywidthmode==="fraction",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=FL(n),b=n.y<0||n.y===0&&x==="top",g=n.y>1||n.y===1&&x==="bottom",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||g?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=xst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=zL(n),C=n.x<0||n.x===0&&_==="right",M=n.x>1||n.x===1&&_==="left",p=g||b,P=i.width/2;n._maxWidth=Math.max(C?p&&_==="left"?o.l+o.w:P:M?p&&_==="right"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=IL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll("g.traces").each(function(Ee){var Ae=IL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select("."+a+"toggle"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=IL(ge,n,d);l&&Ee!==""&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function wst(e,t,r,n){var i=e._fullLayout,a=i[t],o=zL(a),s=FL(a),l=a.xref==="paper",u=a.yref==="paper";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?"b":"t",f=a.x<.5?"l":"r",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*ole[o],b:a._effHeight*ole[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation==="v"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function zL(e){return gh.isRightAnchor(e)?"right":gh.isCenterAnchor(e)?"center":"left"}function FL(e){return gh.isBottomAnchor(e)?"bottom":gh.isMiddleAnchor(e)?"middle":"top"}function qL(e){return e._id||"legend"}});var qB=ye(FB=>{"use strict";var Db=xa(),Sy=uo(),vle=id(),Rf=Mr(),Tst=Rf.pushUnique,DB=Rf.strTranslate,Ast=Rf.strRotate,Sst=g3(),A0=Ll(),Mst=qse(),bm=ao(),sd=va(),OL=gv(),wm=Qa(),Est=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),kst=bB(),Cst=RB(),wle=zb.YANGLE,zB=Math.PI*wle/180,Lst=1/Math.sin(zB),Pst=Math.cos(zB),Ist=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,ple={box:!0,ohlc:!0,violin:!0,candlestick:!0},Rst={scatter:!0,scattergl:!0,splom:!0};function gle(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Dst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ele(i),o=kle(i),s=t.map(function(b){var g=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(g,E),C=Math.max(g,E),M=Math.min(k,A),p=Math.max(k,A),P=b.trace;if(U3.traceIs(P,"gl3d")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,p+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:p+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Ale(s,{gd:i,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,g){return b.y0-g.y0}).each(function(b,g){var E=b.y0-b.by/2;E-fC[0]._length||ce<0||ce>M[0]._length)return OL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,"xval"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),"yval"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn("Fx.hover failed",t,e),OL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;WEe&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,"closest",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!=="hovered data"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!=="hovered data"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft0&&Math.abs(Ni.distance)dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ele(e),Ve=kle(e);for(N=0;N1||V.length>1)||h==="closest"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Ale(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(Fst(nn,jr,s,bi.commonLabelBoundingBox),Mle(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod("annotations","hasClickToShow")(e,Ne);Mst(Db.select(i),Wi?"pointer":"")}!i||n||!Bst(e,t,ut)||(ut&&e.emit("plotly_unhover",{event:t,points:ut}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function Tle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var zst=/([\s\S]*)<\/extra>/;function Ale(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,g=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+"Label",C=E[_];if(C===void 0&&k.type==="multicategory")for(var M=0;Mn.width-ut&&(Ne=n.width-ut),Lt.attr("d","M"+(Br-Ne)+",0L"+(Br-Ne+Bc)+","+Nr+Bc+"H"+ut+"v"+Nr+(Us*2+_r.height)+"H"+-ut+"V"+Nr+Bc+"H"+(Br-Ne-Bc)+"Z"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side==="top"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side==="right"?(Ye="start",Ve=1,Xe="",Br=k._offset+k._length):(Ye="end",Ve=-1,Xe="-",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr("text-anchor",Ye),Lt.attr("d","M0,0L"+Xe+Bc+","+Bc+"V"+(Us+_r.height/2)+"h"+Xe+(Us*2+_r.width)+"V-"+(Us+_r.height/2)+"H"+Xe+Bc+"V-"+Bc+"Z"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side==="right"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe="clip"+n._uid+"commonlabel"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se="M-"+(Bc+Us)+"-"+ht+"h-"+(_r.width-Us)+"V"+ht+"h"+(_r.width-Us)+"Z";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye==="end"&&St.selectAll("tspan").each(function(){var Vt=Db.select(this),ar=bm.tester.append("text").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)=0?er=kt:Ct+ce=0?er=Ct:Yt+ce=0?Ke=ot:Rt+Ge=0?Ke=Rt:xr+Ge=0,(bt.idealAlign==="top"||!Vt)&&ar?(Xe-=Le/2,bt.anchor="end"):Vt?(Xe+=Le/2,bt.anchor="start"):bt.anchor="middle",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign==="left"||!Vt)&&ar)Ve-=ht/2,bt.anchor="end";else if(Vt)Ve+=ht/2,bt.anchor="start";else{bt.anchor="middle";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr("text-anchor",bt.anchor),ut&&Nr.attr("text-anchor",bt.anchor),Lt.attr("transform",DB(Ve,Xe)+(a?Ast(wle):""))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function mle(e,t,r,n,i,a){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=xle(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&e.trace.type!=="choroplethmap"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===i?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),a&&s===""&&!e.hovertemplate&&(o===""&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+"Label"]!==i&&(f[l+"other"]=f[l+"Val"],f[l+"otherLabel"]=f[l+"Label"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(zst,function(h,d){return o=xle(d,e.nameLength),""})}return[s,o]}function Fst(e,t,r,n){var i=t?"xa":"ya",a=t?"ya":"xa",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)==="x",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode==="x"||r.hovermode==="y"){var Me=Sle(X,t),ke=X.anchor,ge=ke==="end"?-1:1,ie,Te;if(ke==="middle")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side==="left"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side==="top"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Lst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var g,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;g=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;g=!1}if(g){var W=0;for(A=0;AG.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!g&&o<=l;){for(o++,g=!0,A=0;A.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(p.push.apply(p,P),u.splice(A+1,1),C=0,L=p.length-1;L>=0;L--)C+=p[L].dp;for(k=C/p.length,L=p.length-1;L>=0;L--)p[L].dp-=k;g=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Sle(e,t){var r=0,n=e.offset;return t&&(n*=-Ist,r=e.offset*Pst),{x:r,y:n}}function qst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor==="middle";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Mle(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,f=qst(o),h=Sle(o,t),d=h.x,v=h.y,x=u==="middle";s.select("path").attr("d",x?"M-"+i(o.bx/2+o.tx2width/2)+","+a(v-o.by/2)+"h"+i(o.bx)+"v"+a(o.by)+"h-"+i(o.bx)+"Z":"M0,0L"+i(c*Bc+d)+","+a(Bc+v)+"v"+a(o.by/2-Bc)+"h"+i(c*o.bx)+"v-"+a(o.by)+"H"+i(c*Bc+d)+"V"+a(v-Bc)+"Z");var b=d+f.textShiftX,g=v+o.ty0-o.by/2+Us,E=o.textAlign||"auto";E!=="auto"&&(E==="left"&&u!=="start"?(l.attr("text-anchor","start"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E==="right"&&u!=="end"&&(l.attr("text-anchor","end"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(g)),o.tx2width&&(s.select("text.name").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select("rect").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Ost(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,"",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("fontWeight","htw","hoverlabel.font.weight"),l("fontStyle","hty","hoverlabel.font.style"),l("fontVariant","htv","hoverlabel.font.variant"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&n.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!=="all"&&(f=Array.isArray(f)?f:f.split("+"),f.indexOf("x")===-1&&(e.xLabel=void 0),f.indexOf("y")===-1&&(e.yLabel=void 0),f.indexOf("z")===-1&&(e.zLabel=void 0),f.indexOf("text")===-1&&(e.text=void 0),f.indexOf("name")===-1&&(e.name=void 0)),e}function yle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(".spikeline").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x==="cursor"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=vle.readability(h.color,f)<1.5?sd.contrast(f):h.color,g=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(g.indexOf("toaxis")!==-1||g.indexOf("across")!==-1){if(g.indexOf("toaxis")!==-1&&(L=A,_=d),g.indexOf("across")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor==="free"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert("line",":first-child").attr({x1:L,x2:_,y1:v,y2:v,"stroke-width":E,stroke:k,"stroke-dasharray":bm.dashStyle(c.spikedash,E)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:L,x2:_,y1:v,y2:v,"stroke-width":E+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}g.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:A+(c.side!=="right"?E:-E),cy:v,r:E,fill:k}).classed("spikeline",!0)}if(l){var p=t.vLinePoint,P,T;u=p&&p.xa,c=p&&p.ya;var F=u.spikesnap;F==="cursor"?(P=o.pointerX,T=o.pointerY):(P=u._offset+p.x,T=c._offset+p.y);var q=vle.readability(p.color,f)<1.5?sd.contrast(f):p.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf("toaxis")!==-1||V.indexOf("across")!==-1){if(V.indexOf("toaxis")!==-1&&(N=G,W=T),V.indexOf("across")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor==="free"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:W,"stroke-width":H,stroke:X,"stroke-dasharray":bm.dashStyle(u.spikedash,H)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:W,"stroke-width":H+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}V.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:P,cy:G-(u.side!=="top"?H:-H),r:H,fill:X}).classed("spikeline",!0)}}}function Bst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function _le(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function xle(e,t){return A0.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function Nst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o{"use strict";var Ust=Mr(),Vst=va(),Hst=rp().isUnifiedHover;Cle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&Hst(r.hovermode)&&(i.font||(i.font={}),o("size"),o("family"),o("color"),o("weight"),o("style"),o("variant"),a?(i.bgcolor||(i.bgcolor=Vst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n("hoverlabel.bgcolor",i.bgcolor),n("hoverlabel.bordercolor",i.bordercolor),n("hoverlabel.namelength",i.namelength),Ust.coerceFont(n,"hoverlabel.font",i.font),n("hoverlabel.align",i.align)}});var Ple=ye((Brr,Lle)=>{"use strict";var Gst=Mr(),jst=oM(),Wst=B1();Lle.exports=function(t,r){function n(i,a){return Gst.coerce(t,r,Wst,i,a)}jst(t,r,n)}});var Dle=ye((Nrr,Rle)=>{"use strict";var Ile=Mr(),Zst=i3(),Xst=oM();Rle.exports=function(t,r,n,i){function a(s,l){return Ile.coerce(t,r,Zst,s,l)}var o=Ile.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),Xst(t,r,a,o)}});var OB=ye((Urr,zle)=>{"use strict";var Yst=Mr(),Kst=B1();zle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:Yst.coerce(t,r,Kst,i,a)}return n("clickmode"),n("hoversubplots"),n("hovermode")}});var Ole=ye((Vrr,qle)=>{"use strict";var Fle=Mr(),Jst=B1(),$st=OB(),Qst=oM();qle.exports=function(t,r){function n(c,f){return Fle.coerce(t,r,Jst,c,f)}var i=$st(t,r);i&&(n("hoverdistance"),n("spikedistance"));var a=n("dragmode");a==="select"&&n("selectdirection");var o=r._has("mapbox"),s=r._has("map"),l=r._has("geo"),u=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode="pan"),Qst(t,r,n),Fle.coerceFont(n,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var Ule=ye((Hrr,Nle)=>{"use strict";var BB=Mr(),Ble=ba();Nle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a{"use strict";var tlt=ba(),rlt=qB().hover;Vle.exports=function(t,r,n){var i=tlt.getComponentMethod("annotations","onClick")(t,t._hoverdata);n!==void 0&&rlt(t,r,n,!0);function a(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((jrr,Wle)=>{"use strict";var ilt=xa(),BL=Mr(),nlt=gv(),sM=rp(),Gle=B1(),jle=qB();Wle.exports={moduleType:"component",name:"fx",constants:IS(),schema:{layout:Gle},attributes:i3(),layoutAttributes:Gle,supplyLayoutGlobalDefaults:Ple(),supplyDefaults:Dle(),supplyLayoutDefaults:Ole(),calc:Ule(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:olt,castHoverinfo:slt,hover:jle.hover,unhover:nlt.unhover,loneHover:jle.loneHover,loneUnhover:alt,click:Hle()};function alt(e){var t=BL.isD3Selection(e)?e:ilt.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function olt(e,t,r){return BL.castOption(e,t,"hoverlabel."+r)}function slt(e,t,r){function n(i){return BL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return BL.castOption(e,r,"hoverinfo",n)}});var Sg=ye(My=>{"use strict";My.selectMode=function(e){return e==="lasso"||e==="select"};My.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};My.openMode=function(e){return e==="drawline"||e==="drawopenpath"};My.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};My.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((Zrr,Zle)=>{"use strict";Zle.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var NL=ye((Xrr,Xle)=>{"use strict";Xle.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:[""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var VL=ye((Yrr,Yle)=>{"use strict";var UL=32;Yle.exports={CIRCLE_SIDES:UL,i000:0,i090:UL/4,i180:UL/2,i270:UL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var HL=ye((Krr,Jle)=>{"use strict";var llt=Mr().strTranslate;function Kle(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ult(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function clt(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return Kle(e,r[t])}}function flt(e){return llt(e.xaxis._offset,e.yaxis._offset)}Jle.exports={p2r:Kle,r2p:ult,axValue:clt,getTransform:flt}});var u_=ye(Ey=>{"use strict";var hlt=XS(),eue=VL(),V3=eue.CIRCLE_SIDES,NB=eue.SQRT2,tue=HL(),$le=tue.p2r,Qle=tue.r2p,dlt=[0,3,4,5,6,1,2],vlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&l{"use strict";var oue=Sg(),plt=oue.drawMode,glt=oue.openMode,H3=VL(),rue=H3.i000,iue=H3.i090,nue=H3.i180,aue=H3.i270,mlt=H3.cos45,ylt=H3.sin45,sue=HL(),jL=sue.p2r,c_=sue.r2p,_lt=Q1(),xlt=_lt.clearOutline,WL=u_(),blt=WL.readPaths,wlt=WL.writePaths,Tlt=WL.ellipseOver,Alt=WL.fixDatesForPaths;function Slt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!plt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s{"use strict";var Mlt=Sg(),Elt=Mlt.selectMode,klt=Q1(),Clt=klt.clearOutline,UB=u_(),Llt=UB.readPaths,Plt=UB.writePaths,Ilt=UB.fixDatesForPaths;cue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute("d"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Elt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d{"use strict";fue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var f_=ye(Ld=>{"use strict";var Fb=cM(),hue=Mr(),XL=Qa();Ld.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.lengthd&&(x="X"),x});return u>d&&(v=v.replace(/[\s,]*X.*/,""),hue.log("Ignoring extra params in segment "+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type==="category"||e.type==="multicategory")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((rir,gue)=>{"use strict";var Dlt=Mr(),G3=Qa(),due=Ll(),vue=ao(),zlt=u_().readPaths,HB=f_(),Flt=HB.getPathString,pue=x6(),qlt=Nh().FROM_TL;gue.exports=function(t,r,n,i){if(i.selectAll(".shape-label").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!=="path"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in pue){var c=pue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Dlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={"data-index":r},h=n.label.font,d={"data-notex":1},v=i.append("g").attr(f).classed("shape-label",!0),x=v.append("text").attr(d).classed("shape-label-text",!0).text(a),b,g,E,k;if(n.path){var A=Flt(t,n),L=zlt(A,t);b=1/0,E=1/0,g=-1/0,k=-1/0;for(var _=0;_=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Blt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,g,E,k;if(c==="line"){s==="start"?(b=e,g=t):s==="end"?(b=r,g=n):(b=(e+r)/2,g=(t+n)/2),v==="auto"&&(s==="start"?l==="auto"?r>e?v="left":re?v="right":re?v="right":re?v="left":r{"use strict";var Nlt=Mr(),Ult=Nlt.strTranslate,mue=gv(),xue=Sg(),Vlt=xue.drawMode,bue=xue.selectMode,wue=ba(),yue=va(),KL=VL(),Hlt=KL.i000,Glt=KL.i090,jlt=KL.i180,Wlt=KL.i270,Zlt=Q1(),Tue=Zlt.clearOutlineControllers,WB=u_(),YL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,Xlt=WB.writePaths,Ylt=ZL().newShapes,Klt=ZL().createShapeObj,Jlt=VB(),$lt=GB();Aue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=Ylt(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=Jlt(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&wue.call((G||{}).redrawing?"relayout":"_guiRelayout",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Vlt(c),h=bue(c);(f||h)&&(a._fullLayout._outlining=!0),Tue(a),r.attr("d",Xlt(t));var d,v,x,b,g;if(!i&&(n.isActiveShape||n.isActiveSelection)){g=Qlt([],t);var E=u.append("g").attr("class","outline-controllers");P(E),X()}if(f&&n.hasText){var k=u.select(".label-temp"),A=Klt(r,n,n.dragmode);$lt(a,"label-temp",A,k)}function L(G){x=+G.srcElement.getAttribute("data-i"),b=+G.srcElement.getAttribute("data-j"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=g[x][b][1],re=g[x][b][2],ae=t[x],_e=ae.length;if(YL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=_ue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!YL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae1&&!(G.length===2&&G[1][0]==="Z")&&(b===0&&(G[0][0]="M"),t[x]=G,o(),s())}}function p(G,N){if(G===2){x=+N.srcElement.getAttribute("data-i"),b=+N.srcElement.getAttribute("data-j");var W=t[x];!YL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N{"use strict";var tut=xa(),Lue=ba(),Sue=Mr(),j3=Qa(),rut=u_().readPaths,iut=JL(),QL=GB(),Pue=Q1().clearOutlineControllers,ZB=va(),YB=ao(),nut=Vs().arrayEditor,Mue=gv(),Eue=Tg(),qb=cM(),Mp=f_(),XB=Mp.getPathString;Due.exports={draw:KB,drawOne:Iue,eraseActiveShape:sut,drawLabel:QL};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove(),t._shapeUpperLayer.selectAll("text").remove(),t._shapeLowerLayer.selectAll("text").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll("path").remove(),n.selectAll("text").remove())}for(var i=0;io&&kt>s&&!rt.shiftKey?Mue.getCursor(Ct/Rt,1-Yt/kt):"move";Eue(t,xr),Te=xr.split("-")[0]}}function Ce(rt){$L(e)||(l&&(g=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type==="path"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),db?(k=v,C="y0",A=b,M="y1"):(k=b,C="y1",A=v,M="y0"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te==="move"?ce:Ge,ie.altKey=rt.altKey)}function me(){$L(e)||(Eue(t),ct(i),Rue(t,e,r),Lue.call("_guiRelayout",e,a.getUpdateObj()))}function Re(){$L(e)||ct(i)}function ce(rt,ot){if(r.type==="path"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h("xanchor",r.xanchor=Me(g+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type==="date"&&(kt=Mp.encodeDate(kt))),u?h("yanchor",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type==="date"&&(Ct=Mp.encodeDate(Ct))),h("path",r.path=kue(T,kt,Ct))}else l?h("xanchor",r.xanchor=Me(g+rt)):(h("x0",r.x0=Me(d+rt)),h("x1",r.x1=Me(x+rt))),u?h("yanchor",r.yanchor=ke(E+ot)):(h("y0",r.y0=ke(v+ot)),h("y1",r.y1=ke(b+ot)));t.attr("d",XB(e,r)),nt(i,r),QL(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h("xanchor",r.xanchor=Me(g+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type==="date"&&(kt=Mp.encodeDate(kt))),u?h("yanchor",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type==="date"&&(Ct=Mp.encodeDate(Ct))),h("path",r.path=kue(T,kt,Ct))}else if(c){if(Te==="resize-over-start-point"){var Yt=d+rt,xr=u?v-ot:v+ot;h("x0",r.x0=l?Yt:Me(Yt)),h("y0",r.y0=u?xr:ke(xr))}else if(Te==="resize-over-end-point"){var er=x+rt,Ke=u?b-ot:b+ot;h("x1",r.x1=l?er:Me(er)),h("y1",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt("n"),Lt=xt("s"),St=xt("w"),Et=xt("e"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(p,r[p]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr("d",XB(e,r)),nt(i,r),QL(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!=="path",Ct=rt.selectAll(".visual-cue").data([0]),Yt=1;Ct.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Yt}).classed("visual-cue",!0);var xr=ae(l?ot.xanchor:Sue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Sue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke="M"+(xr-1-Yt)+","+(er-1-Yt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";Ct.attr("d",Ke)}else if(l){var xt="M"+(xr-1-Yt)+","+(er-9-Yt)+"v18 h2 v-18 Z";Ct.attr("d",xt)}else{var bt="M"+(xr-9-Yt)+","+(er-1-Yt)+"h18 v2 h-18 Z";Ct.attr("d",bt)}}}function ct(rt){rt.selectAll(".visual-cue").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er="";kt!=="paper"&&!Yt.autorange&&(er+=kt),Ct!=="paper"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?"clip"+Rt._fullLayout._uid+er:null,Rt)}}function kue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function out(e,t){if(eP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Cue(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Cue,KB(e)}}}function Cue(e){if(eP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Pue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function sut(e){if(eP(e)){Pue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var S0=ba(),zue=Xu(),Fue=af(),al=NL(),lut=tP().eraseActiveShape,rP=Mr(),Os=rP._,ol=Hue.exports={};ol.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Os(e,"Download plot as a png"):Os(e,"Download plot")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};rP.notifier(Os(e,"Taking snapshot - this may take a few seconds"),"long"),["filename","width","height","scale"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call("downloadImage",e,r).then(function(n){rP.notifier(Os(e,"Snapshot succeeded")+" - "+n,"long")}).catch(function(){rP.notifier(Os(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};ol.sendDataToCloud={name:"sendDataToCloud",title:function(e){return Os(e,"Edit in Chart Studio")},icon:al.disk,click:function(e){zue.sendDataToCloud(e)}};ol.editInChartStudio={name:"editInChartStudio",title:function(e){return Os(e,"Edit in Chart Studio")},icon:al.pencil,click:function(e){zue.sendDataToCloud(e)}};ol.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Os(e,"Zoom")},attr:"dragmode",val:"zoom",icon:al.zoombox,click:Ov};ol.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Os(e,"Pan")},attr:"dragmode",val:"pan",icon:al.pan,click:Ov};ol.select2d={name:"select2d",_cat:"select",title:function(e){return Os(e,"Box Select")},attr:"dragmode",val:"select",icon:al.selectbox,click:Ov};ol.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Os(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:al.lasso,click:Ov};ol.drawclosedpath={name:"drawclosedpath",title:function(e){return Os(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:"drawopenpath",title:function(e){return Os(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:al.drawopenpath,click:Ov};ol.drawline={name:"drawline",title:function(e){return Os(e,"Draw line")},attr:"dragmode",val:"drawline",icon:al.drawline,click:Ov};ol.drawrect={name:"drawrect",title:function(e){return Os(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:al.drawrect,click:Ov};ol.drawcircle={name:"drawcircle",title:function(e){return Os(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:al.drawcircle,click:Ov};ol.eraseshape={name:"eraseshape",title:function(e){return Os(e,"Erase active shape")},icon:al.eraseshape,click:lut};ol.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Os(e,"Zoom in")},attr:"zoom",val:"in",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Os(e,"Zoom out")},attr:"zoom",val:"out",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Os(e,"Autoscale")},attr:"zoom",val:"auto",icon:al.autoscale,click:Ov};ol.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Os(e,"Reset axes")},attr:"zoom",val:"reset",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Os(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:al.tooltip_basic,gravity:"ne",click:Ov};ol.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Os(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:al.tooltip_compare,gravity:"ne",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout,o={},s=Fue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n==="zoom"){var f=i==="in"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c{"use strict";var Gue=QB(),fut=Object.keys(Gue),jue=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],Wue=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(jue),Z3=[],hut=function(e){if(Wue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};fut.forEach(function(e){hut(Gue[e])});Z3.sort();Zue.exports={DRAW_MODES:jue,backButtons:Wue,foreButtons:Z3}});var tN=ye((lir,Xue)=>{"use strict";var sir=eN();Xue.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}});var Kue=ye((uir,Yue)=>{"use strict";var dut=Mr(),hM=va(),vut=Vs(),put=tN();Yue.exports=function(t,r){var n=t.modebar||{},i=vut.newContainer(r,"modebar");function a(s,l){return dut.coerce(n,i,put,s,l)}a("orientation"),a("bgcolor",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a("color",hM.addOpacity(o,.3)),a("activecolor",hM.addOpacity(o,.7)),a("uirevision",r.uirevision),a("add"),a("remove")}});var ece=ye((cir,Que)=>{"use strict";var rN=xa(),gut=uo(),nP=Mr(),Jue=NL(),mut=QC().version,yut=new DOMParser;function $ue(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=$ue.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),n.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var a=n.modebar,o="#"+i+" .modebar-group";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),n.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),nP.setStyleOnHover("#"+i+" .modebar-btn",".active",".icon path","fill: "+a.activecolor,"fill: "+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(a)!==-1)throw new Error("button name '"+a+"' is taken");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement("div");e.className="modebar-group";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var n=e.title;n===void 0?n=e.name:typeof n=="function"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute("data-title",n),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var i=e.val;i!==void 0&&(typeof i=="function"&&(i=i(this.graphInfo)),r.setAttribute("data-val",i));var a=e.click;if(typeof a!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&rN.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||Jue.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};Tm.createIcon=function(e){var t=gut(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",n;if(e.path){n=document.createElementNS(r,"svg"),n.setAttribute("viewBox",[0,0,e.width,t].join(" ")),n.setAttribute("class","icon");var i=document.createElementNS(r,"path");i.setAttribute("d",e.path),e.transform?i.setAttribute("transform",e.transform):e.ascent!==void 0&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),n.appendChild(i)}if(e.svg){var a=yut.parseFromString(e.svg,"application/xml");n=a.childNodes[0]}return n.setAttribute("height","1em"),n.setAttribute("width","1em"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute("data-val")||!0,a=n.getAttribute("data-attr"),o=n.getAttribute("data-toggle")==="true",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(".icon path");v&&(h||f.matches(":hover")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed("active");s.classed("active",u),l(n,u)}}else{var c=a===null?a:nP.nestedProperty(t,a).get();s.classed("active",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var but=af(),tce=lu(),iN=ba(),wut=rp().isUnifiedHover,Tut=ece(),aP=QB(),Aut=eN().DRAW_MODES,Sut=Mr().extendDeep;rce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Put(a):!n.displayModeBar&&n.watermark?o=[]:o=Mut(t),i?i.update(t,o):r._modeBar=Tut(t,o)};function Mut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W=="string"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a=="string"&&(a=[a]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W1?(P=["toggleHover"],T=["resetViews"]):f?(p=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],T=["resetGeo"]):c?(P=["hoverClosest3d"],T=["resetCameraDefault3d","resetCameraLastSave3d"]):x?(p=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],T=["resetViewMapbox"]):b?(p=["zoomInMap","zoomOutMap"],P=["toggleHover"],T=["resetViewMap"]):h?P=["hoverClosestPie"]:k?(P=["hoverClosestCartesian","hoverCompareCartesian"],T=["resetViewSankey"]):P=["toggleHover"],u&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(Cut(r)||L)&&(P=[]),u&&!A&&(p=["zoomIn2d","zoomOut2d","autoScale2d"],T[0]!=="resetViews"&&(T=["resetScale2d"])),c?F=["zoom3d","pan3d","orbitRotation","tableRotation"]:u&&!A||v?F=["zoom2d","pan2d"]:x||b||f?F=["pan2d"]:g&&(F=["zoom2d"]),kut(r)&&F.push("select2d","lasso2d");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X{"use strict";nce.exports={moduleType:"component",name:"modebar",layoutAttributes:tN(),supplyLayoutDefaults:Kue(),manage:ice()}});var aN=ye((dir,ace)=>{"use strict";var Iut=Nh().FROM_BL;ace.exports=function(t,r,n){n===void 0&&(n=Iut[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{"use strict";var Ob=Mr(),oN=wg(),Mg=af().id2name,Rut=Cd(),oce=aN(),Dut=ym(),zut=es().ALMOST_EQUAL,Fut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;sa?r.substr(a):n.substr(i))+o}function Out(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;ozut*v&&!E)){for(a=0;aF&&reP&&(P=re);var _e=(P-p)/(2*T);f/=_e,p=l.l2r(p),P=l.l2r(P),l.range=l._input.range=_{"use strict";var sP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Ll(),cN=lM(),vM=va(),X3=ao(),cce=Mb(),pce=nN(),pM=Qa(),ky=Nh(),gce=Bb(),But=gce.enforce,Nut=gce.clean,fce=wg().doAutoRange,mce="start",Uut="middle",yce="end",Vut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Gut],e)};function Hut(e,t,r){for(var n=0;n=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function Gut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,"",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),pce.manage(e),!t._has("cartesian"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)==="x"){if(me){if(Re==="top")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re==="right")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a0){Xut(e,a,u,l),s.attr({x:o,y:a,"text-anchor":n,dy:vce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(".line").each(function(){var b=+this.getAttribute("dy").slice(0,-2)-f+"em";this.setAttribute("dy",b)})}var h=sP.selectAll(".gtitle-subtitle");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+cce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,"text-anchor":n,dy:vce(t.yanchor)}).call(uN.positionText,o,x)}}}};function jut(e,t,r,n,i){var a=t.yref==="paper"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r==="b"?a-o:o;return M0.isTopAnchor(t)&&r==="t"||M0.isBottomAnchor(t)&&r==="b"?!1:s.5?"t":"b",o=e._fullLayout.margin[a],s=0;return t.yref==="paper"?s=r+t.pad.t+t.pad.b:t.yref==="container"&&(s=Wut(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function Xut(e,t,r,n){var i="title.automargin",a=e._fullLayout.title,o=a.y>.5?"t":"b",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref==="paper"&&jut(e,a,o,t,n)?s[o]=r:a.yref==="container"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function Yut(e,t){var r=e.title,n=e._size,i=0;switch(t===mce?i=r.pad.l:t===yce&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return e.width*r.x+i}}function Kut(e,t){var r=e.title,n=e._size,i=0;if(t==="0em"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+"em"&&(i=r.pad.t),r.y==="auto")return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return e.height-e.height*r.y+i}}function vce(e){return e==="top"?ky.CAP_SHIFT+.3+"em":e==="bottom"?"-0.3em":ky.MID_SHIFT+"em"}function Jut(e){var t=e.title,r=Uut;return M0.isRightAnchor(t)?r=yce:M0.isLeftAnchor(t)&&(r=mce),r}function $ut(e){var t=e.title,r="0em";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+"em":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+"em"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n{"use strict";var Qut=u_().readPaths,ect=JL(),_ce=Q1().clearOutlineControllers,fN=va(),xce=ao(),tct=Vs().arrayEditor,bce=f_(),rct=bce.getPathString;Tce.exports={draw:lP,drawOne:wce,activateLastSelection:act};function lP(e){var t=e._fullLayout;_ce(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var i=0;i=0;b--){var g=o.append("path").attr(l).style("opacity",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(xce.dashLine,b?"solid":d,b?4+h:h);if(ict(g,e,n),v){var E=tct(e.layout,"selections",n);g.style({cursor:"move"});var k={element:g.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=Qut(s,e);ect(A,g,k)}else g.style("pointer-events",b?"all":"none");x[b]=g}var L=x[0],_=x[1];_.node().addEventListener("click",function(){return nct(e,L)})}}function ict(e,t,r){var n=r.xref+r.yref;xce.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function nct(e,t){if(uP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,lP(e)}}}function act(e){if(uP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,lP(e)}}function hN(e){if(uP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(_ce(e),delete e._fullLayout._activeSelectionIndex,lP(e))}}});var Sce=ye((mir,Ace)=>{function oct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n("check",{seg1:i,seg2:a})},segmentChop:function(i,a){return n("div_seg",{seg:i,pt:a}),n("chop",{seg:i,pt:a})},statusRemove:function(i){return n("pop_seg",{seg:i})},segmentUpdate:function(i){return n("seg_update",{seg:i})},segmentNew:function(i,a){return n("new_seg",{seg:i,primary:a})},segmentRemove:function(i){return n("rem_seg",{seg:i})},tempStatus:function(i,a,o){return n("temp_status",{seg:i,above:a,below:o})},rewind:function(i){return n("rewind",{seg:i})},status:function(i,a,o){return n("status",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n("vert",{x:i}))},log:function(i){return typeof i!="string"&&(i=JSON.stringify(i,!1," ")),n("log",{txt:i})},reset:function(){return n("reset")},selected:function(i){return n("selected",{segs:i})},chainStart:function(i){return n("chain_start",{seg:i})},chainRemoveHead:function(i,a){return n("chain_rem_head",{index:i,pt:a})},chainRemoveTail:function(i,a){return n("chain_rem_tail",{index:i,pt:a})},chainNew:function(i,a){return n("chain_new",{pt1:i,pt2:a})},chainMatch:function(i){return n("chain_match",{index:i})},chainClose:function(i){return n("chain_close",{index:i})},chainAddHead:function(i,a){return n("chain_add_head",{index:i,pt:a})},chainAddTail:function(i,a){return n("chain_add_tail",{index:i,pt:a})},chainConnect:function(i,a){return n("chain_con",{index1:i,index2:a})},chainReverse:function(i){return n("chain_rev",{index:i})},chainJoin:function(i,a){return n("chain_join",{index1:i,index2:a})},done:function(){return n("done")}},e}Ace.exports=oct});var Ece=ye((yir,Mce)=>{function sct(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Mce.exports=sct});var Cce=ye((_ir,kce)=>{var lct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};kce.exports=lct});var Pce=ye((xir,Lce)=>{var mM=Cce();function uct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,g,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==g?v?1:-1:t.pointAboveOrOnLine(b,g?E:k,g?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var g=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return g<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var g=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=g,s(g,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function g(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=g(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var p=H();if(p){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(p.seg.myFill.above=!p.seg.myFill.above)}else p.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(p.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],g=0;g{function cct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var fct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Dce.exports=fct});var qce=ye((Tir,Fce)=>{var hct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l{var dct=Sce(),vct=Ece(),Oce=Pce(),pct=Rce(),_M=zce(),Bce=qce(),E0=!1,xM=vct(),Ep;Ep={buildLog:function(e){return e===!0?E0=dct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Oce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Oce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:pct(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Bce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Bce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window=="object"&&(window.PolyBool=Ep);Nce.exports=Ep});var Hce=ye((Sir,Vce)=>{Vce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;uo!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((Mir,Gce)=>{"use strict";var vN=g6().dot,cP=es().BADNUM,fP=Gce.exports={};fP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;si||g===cP||go||x&&u(v))}function f(v,x){var b=v[0],g=v[1];if(b===cP||bi||g===cP||go)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,p,P;for(_=1;_Math.max(C,k)||g>Math.max(M,A)))if(gs||Math.abs(vN(f,u))>i)return!0;return!1};fP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Wce=ye((Eir,jce)=>{"use strict";jce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var vfe=ye((kir,dfe)=>{"use strict";var Zce=Uce(),gct=Hce(),SM=ba(),mct=ao().dashStyle,TM=va(),yct=Nc(),_ct=rp().makeEventData,LM=Sg(),xct=LM.freeMode,bct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Xce=f_(),Yce=cM(),efe=JL(),tfe=Q1().clearOutline,rfe=u_(),pN=rfe.handleEllipse,wct=rfe.readPaths,Tct=ZL().newShapes,Act=VB(),Sct=dN().activateLastSelection,dP=Mr(),Mct=dP.sorterAsc,ife=wM(),AM=L6(),k0=af().getFromId,Ect=lM(),kct=gM().redrawReglTraces,vP=Wce(),Am=vP.MINSELECT,Cct=ife.filter,xN=ife.tester,bN=HL(),Kce=bN.p2r,Lct=bN.axValue,Pct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Ict(e,t,r,n,i){var a=!wN(n),o=xct(i),s=bct(i),l=yN(i),u=MM(i),c=_N(i),f=i==="drawline",h=i==="drawcircle",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode==="immediate"&&a,g=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Pct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=dP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,p=x._invScaleY,P=L,T=_,F="M"+L+","+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;afe(e,v,n),o&&(N=Cct([[L,_]],vP.BENDPX));var ge=g.selectAll("path.select-outline-"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:"rgba(0,0,0,0)",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):"#7f7f7f");ge.enter().append("path").attr("class","select-outline select-outline-"+k.id).style({opacity:u?ie.opacity/2:1,"stroke-dasharray":mct(ie.line.dash,ie.line.width),"stroke-width":ie.line.width+"px","shape-rendering":"crispEdges"}).call(TM.stroke,Ee).call(TM.fill,Te).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",A).attr("d",F+"Z");var Ae=g.append("path").attr("class","zoombox-corners").style({fill:TM.background,stroke:TM.defaultLine,"stroke-width":1}).attr("transform",A).attr("d","M0,0Z");if(u&&n.hasText){var ze=g.select(".label-temp");ze.empty()&&(ze=g.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var Ce=x._uid+vP.SELECTID,me=[],Re=pP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;cfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e-1&&nfe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct==="event"&&CM(v,void 0);yct.click(v,nt,k.id)}).catch(dP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(dP.error)}}function nfe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,f=[],h,d,v,x,b,g,E,k,A,L;if(qct(s)){afe(e,t,a),h=pP(t,r,n,i);var _=Oct(s,h),C=_.pointNumbers.length>0;if(C?Bct(h,_):Nct(h)&&(E=$ce(_))){for(o&&o.remove(),L=0;L=0}function Fct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;zct(i)&&i._fullLayout._deactivateShape(i),Fct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(".select-outline-"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Tct(u,e)),c&&SM.call("_guiRelayout",i,{shapes:c});var f;l&&!wN(e)&&(f=Act(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call("_guiRelayout",i,{selections:f}).then(function(){t&&Sct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Jce(e){return e._id}function pP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(Jce),o=r.map(Jce),s,l,u;for(u=0;u0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Bct(e,t){var r=[],n,i,a,o;for(o=0;o0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n-1&&t;if(!o&&t){var Ge=Qce(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=ffe(Ge),rt=hfe([k0(e,nt,"x"),k0(e,ct,"y")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,Hct(s,l,c)||cfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Vct(e){var t=e.calcdata;if(t)for(var r=0;r{"use strict";pfe.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var PM=ye((Lir,gfe)=>{"use strict";gfe.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var Nb=ye((Iir,_fe)=>{"use strict";var mfe=MN(),yfe=Su(),gP=ad(),Xct=Vs().templatedArray,Pir=PM();_fe.exports=Xct("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:yfe({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:mfe.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:mfe.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",gP.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",gP.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",gP.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",gP.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:yfe({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})});var Sm=ye((Rir,xfe)=>{"use strict";xfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Dir,bfe)=>{"use strict";bfe.exports=function(t){return{valType:"color",editType:"style",anim:!0}}});var Uc=ye((zir,Efe)=>{"use strict";var wfe=Oc().axisHoverFormat,Yct=Wo().texttemplateAttrs,Kct=Wo().hovertemplateAttrs,Tfe=Kl(),Jct=Su(),$ct=Ed().dash,Qct=Ed().pattern,eft=ao(),tft=Sm(),mP=no().extendFlat,rft=Eg();function Afe(e){return{valType:"any",dflt:0,editType:"calc"}}function Sfe(e){return{valType:"any",editType:"calc"}}function Mfe(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}Efe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:Afe("x"),yperiod:Afe("y"),xperiod0:Sfe("x0"),yperiod0:Sfe("y0"),xperiodalignment:Mfe("x"),yperiodalignment:Mfe("y"),xhoverformat:wfe("x"),yhoverformat:wfe("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:Yct({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:Kct({},{keys:tft.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:mP({},$ct,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:rft(!0),fillgradient:mP({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:Qct,marker:mP({symbol:{valType:"enumerated",values:eft.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:mP({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},Tfe("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},Tfe("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:Jct({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}});var EN=ye((qir,Lfe)=>{"use strict";var kfe=Nb(),Cfe=Uc().line,ift=Ed().dash,yP=no().extendFlat,nft=Bu().overrideAll,aft=Vs().templatedArray,Fir=PM();Lfe.exports=nft(aft("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:yP({},kfe.xref,{}),yref:yP({},kfe.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:Cfe.color,width:yP({},Cfe.width,{min:1,dflt:1}),dash:yP({},ift,{dflt:"dot"})}}),"arraydraw","from-root")});var Dfe=ye((Oir,Rfe)=>{"use strict";var Pfe=Mr(),_P=Qa(),oft=Zd(),sft=EN(),Ife=f_();Rfe.exports=function(t,r){oft(t,r,{name:"selections",handleItemDefaults:lft});for(var n=r.selections,i=0;i{"use strict";zfe.exports=function(t,r,n){n("newselection.mode");var i=n("newselection.line.width");i&&(n("newselection.line.color"),n("newselection.line.dash")),n("activeselection.fillcolor"),n("activeselection.opacity")}});var IM=ye((Nir,Bfe)=>{"use strict";var uft=ba(),qfe=Mr(),Ofe=af();Bfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=uft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has("cartesian"),d=0;d{"use strict";var Nfe=dN(),RM=vfe();Ufe.exports={moduleType:"component",name:"selections",layoutAttributes:EN(),supplyLayoutDefaults:Dfe(),supplyDrawNewSelectionDefaults:Ffe(),includeBasePlot:IM()("selections"),draw:Nfe.draw,drawOne:Nfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Vir,she)=>{"use strict";var IN=xa(),C0=Mr(),Vfe=C0.numberFormat,cft=id(),fft=EL(),xP=ba(),Jfe=C0.strTranslate,hft=Ll(),Hfe=va(),d_=ao(),dft=Nc(),Gfe=Qa(),vft=Tg(),pft=gv(),$fe=Sg(),bP=$fe.selectingOrDrawing,gft=$fe.freeMode,mft=Nh().FROM_TL,yft=lM(),_ft=gM().redrawReglTraces,xft=Xu(),CN=af().getFromId,bft=wf().prepSelect,wft=wf().clearOutline,Tft=wf().selectOnClick,kN=aN(),RN=ad(),jfe=RN.MINDRAG,np=RN.MINZOOM,Wfe=!0;function Aft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,f,h,d,v,x,b,g,E,k,A,L,_,C,M,p,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,g=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf("select")>-1&&Tft(dt,Ht,x,b,t.id,ae),$t.indexOf("event")>-1&&dft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o==="s"||s==="w"?0:1,Br=fr._name+".range["+_r+"]",Or=Sft(fr,_r),Nr="left",ut="middle";if(fr.fixedrange)return;o?(ut=o==="n"?"top":"bottom",fr.side==="right"&&(Nr="right")):s==="e"&&(Nr="right"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(hft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:"#444",horizontalAlign:Nr,verticalAlign:ut}).on("edit",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&xP.call("_guiRelayout",Ht,Br,Ye)})}}pft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:cft(e._fullLayout.plot_bgcolor).getLuminance(),Ee="M0,0H"+k+"V"+A+"H0V0",Ae=!1,ze="xy",Re=!1,Ce=the(l,Te,g,E,Ee),me=rhe(l,g,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze="",ie.r=ie.l,ie.t=ie.b,me.attr("d","M0,0Z")}if(L.isSubplotConstrained)fr>np||_r>np?(ze="xy",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr("d",wP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze="xy";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr("d",wP(ie))}else Br();else!M||_r0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne1&&(Br.maxallowed!==void 0&&P===(Br.range[0]1&&(Or.maxallowed!==void 0&&T===(Or.range[0]=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Eft(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function the(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",Jfe(r,n)).attr("d",i+"Z")}function rhe(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:Hfe.background,stroke:Hfe.defaultLine,"stroke-width":1,opacity:0}).attr("transform",Jfe(t,r)).attr("d","M0,0Z")}function ihe(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),nhe(e,t,i,a)}function nhe(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function PN(e){IN.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function ahe(e){Wfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,"Double-click to zoom back out"),"long"),Wfe=!1)}function kft(e,t){return"M"+(e.l-.5)+","+(t-np-.5)+"h-3v"+(2*np+1)+"h3ZM"+(e.r+.5)+","+(t-np-.5)+"h3v"+(2*np+1)+"h-3Z"}function Cft(e,t){return"M"+(t-np-.5)+","+(e.t-.5)+"v-3h"+(2*np+1)+"v3ZM"+(t-np-.5)+","+(e.b+.5)+"v3h"+(2*np+1)+"v-3Z"}function wP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function Yfe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v{"use strict";var Lft=xa(),TP=Nc(),Pft=gv(),Ift=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;AP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Lft.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&TP.hover(t,h,a)},TP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Pft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,"n","w"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,"n","e"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,"s","w"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,"s","e"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,"","ew"),kg(t,o,s._offset,c,s._length*.1,ud,"","w"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,"","e")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!=="right"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,"ns",""),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,"s",""),kg(t,o,f,l._offset,ud,l._length*.1,"n","")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,TP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,TP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},AP.updateFx(t)}};AP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";Ift(t._draggers,r)}});var che=ye((Gir,uhe)=>{"use strict";var lhe=ba();uhe.exports=function(t){for(var r=lhe.layoutArrayContainers,n=lhe.layoutArrayRegexes,i=t.split("[")[0],a,o,s=0;s{"use strict";var Rft=gy(),FN=p6(),DM=H1(),Dft=E6().sorterAsc,qN=ba();zM.containerArrayMatch=che();var zft=zM.isAddVal=function(t){return t==="add"||Rft(t)},fhe=zM.isRemoveVal=function(t){return t===null||t==="remove"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,"supplyLayoutDefaults"),l=qN.getComponentMethod(o,"draw"),u=qN.getComponentMethod(o,"drawOne"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[""]){Object.keys(n).length>1&&DM.warn("Full array edits are incompatible with other edits",o);var d=n[""][""];if(fhe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn("Unrecognized full array edit value",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Dft),x=r.get(),b=x||[],g=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,p,P,T,F;for(L=0;Lb.length-(T?0:1)){DM.warn("index out of range",o,C);continue}if(P!==void 0)p.length>1&&DM.warn("Insertion & removal are incompatible with edits to the same index.",o,C),fhe(P)?E.push(C):T?(P==="add"&&(P={}),b.splice(C,0,P),g&&g.splice(C,0,{})):DM.warn("Unrecognized full object edit value",o,C,P),k===-1&&(k=C);else for(_=0;_=0;L--)b.splice(E[L],1),g&&g.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L=k));L++)q.push(C);for(L=k;L{"use strict";var ghe=uo(),Wir=Cq(),mhe=ba(),kp=Mr(),FM=Xu(),yhe=af(),_he=va(),qM=yhe.cleanId,Fft=yhe.getFromTrace,ON=mhe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log("Clearing previous rejected promises from queue."),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(b.x=1.02,b.xanchor="left"):b.x<-2&&(b.x=-.02,b.xanchor="right"),b.y>3?(b.y=1.02,b.yanchor="bottom"):b.y<-2&&(b.y=-.02,b.yanchor="top")),e.dragmode==="rotate"&&(e.dragmode="orbit"),_he.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!=="paper"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=phe(t);r;){if(r in e)return!0;r=phe(r)}return!1};var Bft=["x","y","z"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n{"use strict";var kP=xa(),Nft=uo(),Uft=Jq(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=nne(),L0=ba(),zP=_3(),Ho=Xu(),Nv=Qa(),Vft=hB(),Hft=Cd(),BN=ao(),Gft=va(),jft=zN().initInteractions,Wft=Zp(),Zft=wf().clearOutline,She=ub().dfltConfig,MP=hhe(),yh=xhe(),Jl=gM(),v_=Bu(),Xft=ad().AX_NAME_PATTERN,NN=0,bhe=5;function Yft(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,"plotly_beforeplot",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(i)return pl.addFrames(e,i)}Ehe(e,n),r||(r={}),kP.select(e).classed("js-plotly-plot",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(yht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function khe(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),LP(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&LP(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function eht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n=0&&c=0&&c0&&typeof M.parts[T]!="string";)T--;var F=M.parts[T],q=M.parts[T-1]+"."+F,V=M.parts.slice(0,T).join("."),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(p!==void 0){g[C]=p,E[C]=F==="reverse"?p:Cy(G);var N=zP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&p!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if(["width","height"].indexOf(C)!==-1)if(p){k("autosize",null);var re=C==="height"?"width":"height";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C==="autosize")k("width",p?null:n.width),k("height",p?null:n.height);else if(q.match(qhe))_(q),Yu(n,V+"._inputRange").set(null);else if(q.match(Ohe)){_(q),Yu(n,V+"._inputRange").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(nht)&&Yu(n,V+"._inputDomain").set(null);if(F==="type"){L=H;var _e=X.type==="linear"&&p==="log",Me=X.type==="log"&&p==="linear";if(_e||Me){if(!L||!L.range)k(V+".autorange",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+".autorange",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+".range[0]",Math.log(ke)/Math.LN10),k(V+".range[1]",Math.log(ge)/Math.LN10)):(k(V+".range[0]",Math.pow(10,ke)),k(V+".range[1]",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]==="radialaxis"&&delete n[M.parts[0]]._subplot.viewInitial["radialaxis.range"],L0.getComponentMethod("annotations","convertCoords")(e,X,p,k),L0.getComponentMethod("images","convertCoords")(e,X,p,k)}else k(V+".autorange",!0),k(V+".range",null);Yu(n,V+"._inputRange").set(null)}else if(F.match(Xft)){var ie=Yu(n,C).get(),Te=(p||{}).type;(!Te||Te==="-")&&(Te="linear"),L0.getComponentMethod("annotations","convertCoords")(e,ie,Te,k),L0.getComponentMethod("images","convertCoords")(e,ie,Te,k)}var Ee=MP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:"calc"};f!==""&&Ae===""&&(MP.isAddVal(p)?E[C]=null:MP.isRemoveVal(p)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn("unrecognized full object value",t)),v_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=p,delete t[C]}else F==="reverse"?(H.range?H.range.reverse():(k(V+".autorange",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C==="dragmode"&&(p===!1&&G!==!1||p!==!1&&G===!1)||n._has("scatter-like")&&n._has("regl")&&C==="dragmode"&&(p==="lasso"||p==="select")&&!(G==="lasso"||G==="select")?b.plot=!0:N?v_.update(b,N):b.calc=!0,M.set(p))}}for(c in u){var me=MP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(Nhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f1;)if(n.pop(),r=Yu(t,n.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function sht(e,t){for(var r=0;r=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(F){if(F.length!==0){for(var q=0;qn._timeToNext&&v()};F()}var b=0;function g(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:"object",data:g(sa.extendFlat({},t))});else if(L||["string","number"].indexOf(typeof t)!==-1)for(E=0;E0&&PP)&&T.push(k);A=T}}A.length>0?h(A):(e.emit("plotly_animated"),u())})}function vht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v=="number"&&x&&NNM.index?-1:C.index=0;n--){if(i=c[n].frame,typeof i.name=="number"&&sa.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;l[i.name="frame "+e._transitionData._counter++];);if(l[i.name]){for(a=0;a=0;r--)n=t[r],a.push({type:"delete",index:n}),o.unshift({type:"insert",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function ght(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function yht(e){var t=kP.select(e),r=e._fullLayout;if(r._calcInverseTransform=mht,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var n={};kP.selectAll("defs").each(function(){this.id&&(n[this.id.split("-")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(".main-svg").attr(Wft.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var a=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=a.append("g").classed("imagelayer",!0),r._shapeUpperLayer=a.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}pl.animate=dht;pl.addFrames=vht;pl.deleteFrames=pht;pl.addTraces=Rhe;pl.deleteTraces=Dhe;pl.extendTraces=Phe;pl.moveTraces=VN;pl.prependTraces=Ihe;pl.newPlot=Qft;pl._doPlot=Yft;pl.purge=ght;pl.react=cht;pl.redraw=$ft;pl.relayout=OM;pl.restyle=PP;pl.setPlotConfig=Kft;pl.update=RP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(PP);pl._guiUpdate=GN(RP);pl._storeDirectGUIEdit=iht});var Ly=ye(Mm=>{"use strict";var _ht=ba();Mm.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0};Mm.getRedrawFunc=function(e){return function(){_ht.getComponentMethod("colorbar","draw")(e)}};Mm.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var Uhe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Uhe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Uhe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=xht(window.atob(e));return new window.Blob([r],{type:"image/"+t})};Mm.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function xht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i{"use strict";var WN=xa(),Kir=Mr(),bht=ao(),wht=va(),Jir=Zp(),jN=/"/g,NM="TOBESTRIPPED",Tht=new RegExp('("'+NM+")|("+NM+'")',"g");function Aht(e){var t=WN.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(n){return n==="<"?"<":n==="&rt;"?">":n.indexOf("<")!==-1||n.indexOf(">")!==-1?"":t.html(n).text()});return t.remove(),r}function Sht(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}Vhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert("rect",":first-child").call(bht.setRect,0,0,s,l).call(wht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u{"use strict";var Mht=Mr(),Eht=vb().EventEmitter,UM=Ly();function kht(e){var t=e.emitter||new Eht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||"png",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext("2d",{willReadFrequently:!0}),x=new a,b,g;s==="svg"||Mht.isSafari()?g=UM.encodeSVG(o):(b=UM.createBlob(o,"svg"),g=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(g),s!=="svg"&&v.drawImage(x,0,0,h,d),s){case"jpeg":E=l.toDataURL("image/jpeg");break;case"png":E=l.toDataURL("image/png");break;case"webp":E=l.toDataURL("image/webp");break;case"svg":E=g;break;default:var k="Image format is not jpeg, png, svg or webp.";if(i(new Error(k)),!e.promise)return t.emit("error",k)}n(E),e.promise||t.emit("success",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(g),i(E),!e.promise)return t.emit("error",E)},x.src=g});return e.promise?r:t}Hhe.exports=kht});var XN=ye((enr,Whe)=>{"use strict";var Ghe=uo(),jhe=qP(),Cht=Xu(),Em=Mr(),VM=Ly(),Lht=OP(),Pht=BP(),Iht=QC().version,ZN={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};function Rht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+Em.join2(ZN.format.values,", "," or ")+".");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l("format"),c=l("width"),f=l("height"),h=l("scale"),d=l("setBackground"),v=l("imageDataOnly"),x=document.createElement("div");x.style.position="absolute",x.style.left="-5000px",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Ghe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Ghe(a.height)&&(b.height=a.height);var g=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Lht(x,u,h),p=x._fullLayout.width,P=x._fullLayout.height;function T(){jhe.purge(x),document.body.removeChild(x)}if(u==="full-json"){var F=Cht.graphJson(x,!1,"keepdata","object",!0,!0);return F.version=Iht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u==="svg")return _(v?M:VM.encodeSVG(M));var q=document.createElement("canvas");q.id=Em.randstr(),Pht({format:u,width:p,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,""):_}return new Promise(function(_,C){jhe.newPlot(x,r,b,g).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Whe.exports=Rht});var Khe=ye((tnr,Yhe)=>{"use strict";var P0=Mr(),Dht=Xu(),zht=_3(),Fht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,Zhe=P0.isArrayOrTypedArray;Yhe.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=zht.get(),i=[],a={_context:P0.extendFlat({},Fht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd("array","data"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd("object","layout"))),Dht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;cf.length&&n.push(cd("unused",i,u.concat(f.length)));var g=f.length,E=Array.isArray(b);E&&(g=Math.min(g,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;Af[A].length&&n.push(cd("unused",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd("dynamic",i,u.concat(A,k),_,C)):n.push(cd("value",i,u.concat(A,k),_))}else n.push(cd("array",i,u.concat(A),c[A]));else for(A=0;A{"use strict";var Hht=Mr(),UP=Ly();function Ght(e,t,r){var n=document.createElement("a"),i="download"in n,a=new Promise(function(o,s){var l,u;if(i)return l=UP.createBlob(e,r),u=UP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),UP.revokeObjectURL(u),l=null,o(t);if(Hht.isSafari()){var c=r==="svg"?",":";base64,";return UP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return a}Jhe.exports=Ght});var YN=ye((nnr,ede)=>{"use strict";var Qhe=Mr(),jht=XN(),Wht=$he(),inr=Ly();function Zht(e,t){var r;return Qhe.isPlainObject(e)||(r=Qhe.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error("Snapshotting already in progress.")),r&&(r._snapshotInProgress=!0);var a=jht(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),a.then(function(s){return r&&(r._snapshotInProgress=!1),Wht(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ede.exports=Zht});var ade=ye(KN=>{"use strict";var Cp=Mr(),Lp=Cp.isPlainObject,tde=_3(),rde=Xu(),Xht=vl(),ide=Vs(),nde=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:nde},{data:e.data,layout:e.layout}),rde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,Kht.bind(null,d));var x=Cp.coerce(d,{},Xht,"type"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,Yht.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&VP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;og?o.push({code:"unused",traceType:d,templateCount:b,dataCount:g}):g>b&&o.push({code:"reused",traceType:d,templateCount:b,dataCount:g})}}function E(k,A){for(var L in k)if(L.charAt(0)!=="_"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:"missing",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&Jht(_)&&E(_,C)}}if(E({data:l,layout:s},""),o.length)return o.map($ht)};function Jht(e){for(var t=0;t{"use strict";var Hh=qP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var Qht=DS().getGraphDiv,edt=tP().eraseActiveShape;Sc.deleteActiveShape=function(e){return edt(Qht(e))};Sc.toImage=XN();Sc.validate=Khe();Sc.downloadImage=YN();var ode=ade();Sc.makeTemplate=ode.makeTemplate;Sc.validateTemplate=ode.validateTemplate});var K3=ye((snr,lde)=>{"use strict";var JN=Mr(),tdt=ba();lde.exports=function(t,r,n,i){var a=i("x"),o=i("y"),s,l=tdt.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i("y0"),i("dy"))}else{if(!o)return 0;s=JN.minRowLength(o),i("x0"),i("dx")}return r._length=s,s}});var Pg=ye((lnr,fde)=>{"use strict";var ude=Mr().dateTick0,rdt=es(),idt=rdt.ONEWEEK;function cde(e,t){return e%idt===0?ude(t,1):ude(t,0)}fde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i("xperiod");o&&(i("xperiod0",cde(o,r.xcalendar)),i("xperiodalignment"))}if(a.y){var s=i("yperiod");s&&(i("yperiod0",cde(s,r.ycalendar)),i("yperiodalignment"))}}});var vde=ye((unr,dde)=>{"use strict";var hde=["orientation","groupnorm","stackgaps"];dde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var pde=va(),gde=Dv().hasColorscale,mde=Uh(),ndt=lu();yde.exports=function(t,r,n,i,a,o){var s=ndt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a("marker.symbol"),a("marker.opacity",s?.7:1),a("marker.size"),o.noAngle||(a("marker.angle"),o.noAngleRef||a("marker.angleref"),o.noStandOff||a("marker.standoff")),a("marker.color",n),gde(t,"marker")&&mde(t,r,i,a,{prefix:"marker.",cLetter:"c"}),o.noSelect||(a("selected.marker.color"),a("unselected.marker.color"),a("selected.marker.size"),a("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=pde.background:u=pde.defaultLine,a("marker.line.color",u),gde(t,"marker.line")&&mde(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width",s?1:0)),s&&(a("marker.sizeref"),a("marker.sizemin"),a("marker.sizemode")),o.gradient){var c=a("marker.gradient.type");c!=="none"&&a("marker.gradient.color")}}});var R0=ye((fnr,_de)=>{"use strict";var adt=Mr().isArrayOrTypedArray,odt=Dv().hasColorscale,sdt=Uh();_de.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a("line.color",n),odt(t,"line"))sdt(t,r,i,a,{prefix:"line.",cLetter:"c"});else{var l=(adt(s)?!1:s)||n;a("line.color",l)}a("line.width"),o.noDash||a("line.dash"),o.backoff&&a("line.backoff")}});var J3=ye((hnr,xde)=>{"use strict";xde.exports=function(t,r,n){var i=n("line.shape");i==="spline"&&n("line.smoothing")}});var D0=ye((dnr,bde)=>{"use strict";var ldt=Mr();bde.exports=function(e,t,r,n,i){i=i||{},n("textposition"),ldt.coerceFont(n,"textfont",i.font||r.font,i),i.noSelect||(n("selected.textfont.color"),n("unselected.textfont.color"))}});var Ig=ye((vnr,Tde)=>{"use strict";var GP=va(),wde=Mr().isArrayOrTypedArray;function udt(e){for(var t=GP.interpolate(e[0][1],e[1][1],.5),r=2;r{"use strict";var Ade=Mr(),cdt=ba(),fdt=Uc(),hdt=Sm(),$3=lu(),ddt=K3(),vdt=Pg(),pdt=vde(),gdt=$p(),mdt=R0(),Sde=J3(),ydt=D0(),_dt=Ig(),xdt=Mr().coercePattern;Mde.exports=function(t,r,n,i){function a(d,v){return Ade.coerce(t,r,fdt,d,v)}var o=ddt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){vdt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("zorder");var s=pdt(t,r,i,a);i.scattermode==="group"&&r.orientation===void 0&&a("orientation","v");var l=!s&&o{"use strict";var bdt=Bb().getAxisGroup;kde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:"x",h:"y"}[o]+"axis"],l=bdt(n,s)+o,u=n._alignmentOpts||{},c=i("alignmentgroup"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i("offsetgroup")||"",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!=="group"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((mnr,Cde)=>{"use strict";var wdt=Mr(),Tdt=Hb(),Adt=Uc();Cde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return wdt.coerce(i._input,i,Adt,h)}if(r.scattermode==="group")for(a=0;a=0;c--){var f=t[c];if(f.type==="scatter"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Pde=ye((ynr,Lde)=>{"use strict";var Sdt=Mr(),Mdt=U6();Lde.exports=function(e,t){function r(i,a){return Sdt.coerce(e,t,Mdt,i,a)}var n=t.barmode==="group";t.scattermode==="group"&&r("scattergap",n?t.bargap:.2)}});var Rg=ye((_nr,Rde)=>{"use strict";var Edt=uo(),Ide=Mr(),kdt=Ide.dateTime2ms,jP=Ide.incrementMonth,Cdt=es(),Ldt=Cdt.ONEAVGMONTH;Rde.exports=function(t,r,n,i){if(r.type!=="date")return{vals:i};var a=t[n+"periodalignment"];if(!a)return{vals:i};var o=t[n+"period"],s;if(Edt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a==="start",f=a==="end",h=t[n+"period0"],d=kdt(h,u)||0,v=[],x=[],b=[],g=i.length,E=0;Ek;)_=jP(_,-s,u);for(;_<=k;)_=jP(_,s,u);L=jP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((xnr,zde)=>{"use strict";var QN=Dv().hasColorscale,eU=zv(),Dde=lu();zde.exports=function(t,r){Dde.hasLines(r)&&QN(r,"line")&&eU(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),Dde.hasMarkers(r)&&(QN(r,"marker")&&eU(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),QN(r,"marker.line")&&eU(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var km=ye((bnr,Fde)=>{"use strict";var Df=Mr();Fde.exports=function(t,r){for(var n=0;n{"use strict";var qde=Mr();Ode.exports=function(t,r){qde.isArrayOrTypedArray(r.selectedpoints)&&qde.tagSelected(t,r)}});var q0=ye((Tnr,jde)=>{"use strict";var Bde=uo(),rU=Mr(),GM=Qa(),Nde=Rg(),tU=es().BADNUM,iU=lu(),Pdt=z0(),Idt=km(),Rdt=F0();function Ddt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||"x","x"),i=t._yA=GM.getFromId(e,t.yaxis||"y","y"),a=n.makeCalcdata(t,"x"),o=i.makeCalcdata(t,"y"),s=Nde(t,n,"x",a),l=Nde(t,i,"y",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,g,E,k,A,L;Hde(r,t);var _="x",C="y",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation==="v",b?(C="s",M="x"):(_="s",M="y"),A=v.stackgaps==="interpolate";else{var p=Vde(t,f);Ude(e,t,n,i,u,c,p)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(g=0;gg&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;g{"use strict";Wde.exports=WP;var zdt=Mr().distinctVals;function WP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a{"use strict";var O0=uo(),p_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,Fdt=ba(),jM=Qa(),qdt=Bb().getAxisGroup,ZP=Zde();function Odt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!O0(s))}for(var c=0;c{"use strict";var $de=q0(),Qde=Gb().setGroupPositions;function Kdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;up[c]&&c{"use strict";var $dt=ao(),ave=es(),WM=ave.BADNUM,ove=ave.LOG_CLIP,rve=ove+.5,ive=ove-.5,XP=Mr(),Qdt=XP.segmentsIntersect,nve=XP.constrain,cU=Sm();sve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type==="log",s=a.type==="log",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v==="linear",b=n.fill&&n.fill!=="none",g=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,p,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?rve:ive)/(a._m*l*(a._m>0?rve:ive)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)ze||ut[1]me)return[nve(ut[0],Ae,ze),nve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*XP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v==="linear"||v==="spline"?xr=ot:v==="hv"||v==="vh"?xr=Ct:v==="hvh"?xr=Yt(0,Ae,ze):v==="vhv"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=XP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]ze?ze:0,Ge=ut[1]me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,p=T,F=!1):N=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),g.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!=="h"&&Et!=="v"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr{"use strict";var lve={tonextx:1,tonexty:1,tonext:1};uve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a=0?l=d:(l=d=h,h++),l{"use strict";var Dg=xa(),evt=ba(),ZM=Mr(),tT=ZM.ensureSingle,fve=ZM.identity,zf=ao(),rT=lu(),tvt=fU(),rvt=hU(),YP=wM().tester;hve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=rvt(t,r,n);if(s=i.selectAll("g.trace").data(f,function(d){return d[0].trace.uid}),s.enter().append("g").attr("class",function(d){return"trace scatter trace"+d[0].trace.uid}).style("stroke-miterlimit",2),s.order(),ivt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){i.selectAll("g.trace").each(function(d,v){cve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){cve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll("path:not([d])").remove()};function ivt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),"g","fills");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push("_ownFill"),a._nexttrace&&o.push("_nextFill");var s=i.selectAll("g").data(o,fve);s.enter().append("g"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),"path","js-fill")})})}function cve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;nvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,"g","errorbars"),g=tT(x,"g","lines"),E=tT(x,"g","points"),k=tT(x,"g","text");if(evt.getComponentMethod("errorbars","plot")(e,b,r,o),d.visible!==!0)return;c(x).style("opacity",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!=="x"&&_!=="y"&&(_="");var C,M;_==="y"?(C=1,M=h.c2p(0,!0)):_==="x"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=x;var p="",P=[],T=d._prevtrace,F=null,q=null;T&&(p=T._prevRevpath||"",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X="",G="",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!=="none"){L&&L.datum(n),["hv","vh","hvh","vhv"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split("").reverse().join(""))):v.shape==="spline"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return"M"+Yt.join("L")},re=function(Yt){return W(Yt.reverse())},ie=tvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var g=x[0].trace;rT.hasMarkers(g)&&g.marker.maxdisplayed>0&&b{"use strict";dve.exports={container:"marker",min:"cmin",max:"cmax"}});var JP=ye((Pnr,vve)=>{"use strict";var KP=Qa();vve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=KP.getFromTrace(a,r,"x"),s=KP.getFromTrace(a,r,"y"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=KP.tickText(o,o.c2l(l),!0).text,i.yLabel=KP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Inr,pve)=>{"use strict";var dU=xa(),nT=ao(),avt=ba();function ovt(e){var t=dU.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll("g.text").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll("g.trace path.js-line").call(nT.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(nT.fillGroupStyle,e,!1),avt.getComponentMethod("errorbars","style")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll("path.point"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll("text"),t,r)}function svt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll("path.point"),n),nT.selectedTextStyle(r.selectAll("text"),n)):(vU(r,n,e),pU(r,n,e))}pve.exports={style:ovt,stylePoints:vU,styleText:pU,styleOnSelect:svt}});var oT=ye((Rnr,gve)=>{"use strict";var aT=va(),lvt=lu();gve.exports=function(t,r){var n,i;if(t.mode==="lines")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&lvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Dnr,yve)=>{"use strict";var $P=Mr(),mve=Nc(),uvt=ba(),cvt=oT(),gU=va(),fvt=$P.fillText;yve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||"",d=o.mode.indexOf("markers")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _eke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf("fills")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),$P.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!$P.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((znr,xve)=>{"use strict";var _ve=lu();xve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!_ve.hasMarkers(s)&&!_ve.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";bve.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}});var yU=ye((qnr,Sve)=>{"use strict";var XM=ba().traceIs,mU=L3();Sve.exports=function(t,r,n,i){n("autotypenumbers",i.autotypenumbersDflt);var a=n("type",(i.splomStash||{}).type);a==="-"&&(hvt(r,i.data),r.type==="-"?r.type="linear":t.type=r.type)};function hvt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i;r.indexOf("scene")!==-1&&(r=n);var a=dvt(t,r,n);if(a){if(a.type==="histogram"&&n==={v:"y",h:"x"}[a.orientation||"v"]){e.type="linear";return}var o=n+"calendar",s=a[o],l={noMultiCategory:!XM(a,"cartesian")||XM(a,"noMultiCategory")};if(a.type==="box"&&a._hasPreCompStats&&n==={h:"x",v:"y"}[a.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Ave(a,n)){var u=Tve(a),c=[];for(i=0;i0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(Ave(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function Tve(e){return{v:"x",h:"y"}[e.orientation||"v"]}function Ave(e,t){var r=Tve(e),n=XM(e,"box-violin"),i=XM(e._fullInput||{},"candlestick");return n&&!i&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var QP=ye((Onr,Mve)=>{"use strict";var vvt=vv().isTypedArraySpec;function pvt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a0||vvt(a),s;o&&(s="array");var l=n("categoryorder",s),u;l==="array"&&(u=n("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=pvt(r,i).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Bnr,kve)=>{"use strict";var Eve=id().mix,gvt=dh(),mvt=Mr();kve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return mvt.coerce2(t,r,i.attributes,C,M)}var s=o("linecolor",a),l=o("linewidth"),u=n("showline",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Eve(a,i.bgColor,i.blend||gvt.lightFraction).toRgbString(),f=o("gridcolor",c),h=o("gridwidth"),d=o("griddash"),v=n("showgrid",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Eve(r.gridcolor,i.bgColor,67).toRgbString(),b=o("minor.gridcolor",x),g=o("minor.gridwidth",r.gridwidth||1),E=o("minor.griddash",r.griddash||"solid"),k=n("minor.showgrid",!!b||!!g||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o("zerolinecolor",a),L=o("zerolinewidth"),_=n("zeroline",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Nnr,Dve)=>{"use strict";var Cve=uo(),yvt=ba(),KM=Mr(),_vt=Vs(),xvt=Zd(),_U=Cd(),Lve=xb(),Pve=T3(),bvt=e_(),wvt=t_(),Tvt=QP(),Avt=YM(),Svt=hB(),Ive=ym(),eI=ad().WEEKDAY_PATTERN,Mvt=ad().HOUR_PATTERN;Dve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n("visible",!i.visibleDflt),c=r._template||{},f=r.type||c.type||"-",h;if(f==="date"){var d=yvt.getComponentMethod("calendars","handleDefaults");d(t,r,"calendar",i.calendar),i.noTicklabelmode||(h=n("ticklabelmode"))}!i.noTicklabelindex&&(f==="date"||f==="linear")&&n("ticklabelindex");var v="";(!i.noTicklabelposition||f==="multicategory")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),i.noTicklabeloverflow||n("ticklabeloverflow",v.indexOf("inside")!==-1?"hide past domain":f==="category"||f==="multicategory"?"allow":"hide past div"),Ive(r,a),Svt(t,r,n,i),Tvt(t,r,n,i),f!=="category"&&!i.noHover&&n("hoverformat");var x=n("color"),b=x!==_U.color.dflt?x:s.color,g=l.label||a._dfltTitle[o];if(wvt(t,r,n,f,i),!u)return r;n("title.text",g),KM.coerceFont(n,"title.font",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),Lve(t,r,n,f);var E=i.hasMinor;if(E&&(_vt.newContainer(r,"minor"),Lve(t,r,n,f,{isMinor:!0})),bvt(t,r,n,f,i),Pve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Pve(t,r,n,i),i.isMinor=k}Avt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n("mirror");var A=f==="multicategory";if(!i.noTickson&&(f==="category"||A)&&(r.ticks||r.showgrid)){var L;A&&(L="boundaries");var _=n("tickson",L);_==="boundaries"&&delete r.ticklabelposition}if(A){var C=n("showdividers");C&&(n("dividercolor"),n("dividerwidth"))}if(f==="date")if(xvt(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Evt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M=2){var o="",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Rve(a[s]),l){o=eI;break}}var u=n("pattern",o);if(u===eI)for(s=0;s<2;s++)l=Rve(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case eI:if(!Cve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case Mvt:if(!Cve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]{"use strict";var Cvt=uo(),tI=Mr();zve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+"side"].split(" ")[0],d=l.domain[s][h==="right"||h==="top"?1:0])),f=f||[0,1],c=c||(Cvt(t.position)?"free":a[0]||"free"),h=h||(s==="x"?"bottom":"left"),d=d||0,v=0,x=!1;var b=tI.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(a),dflt:c}},"anchor"),g=tI.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:h}},"side");if(b==="free"){if(s==="y"){var E=n("autoshift");E&&(d=g==="left"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=g==="left"?-3:3),n("shift",v)}n("position",d)}n("automargin",x);var k=!1;if(o.length&&(k=tI.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!k){var A=n("domain",f);A[0]>A[1]-1/4096&&(r.domain=f),tI.noneOrAll(t.domain,r.domain,f),r.tickmode==="sync"&&(r.tickmode="auto")}return n("layer"),r}});var Gve=ye((Vnr,Hve)=>{"use strict";var jb=Mr(),Fve=va(),Lvt=rp().isUnifiedHover,Pvt=OB(),qve=Vs(),Ivt=s3(),Ove=Cd(),Rvt=yU(),Bve=JM(),Dvt=Bb(),Nve=rI(),bU=af(),Cm=bU.id2name,Uve=bU.name2id,zvt=ad().AX_ID_PATTERN,Vve=ba(),iI=Vve.traceIs,xU=Vve.getComponentMethod;function nI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Hve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x{"use strict";var Fvt=xa(),jve=ba(),aI=Mr(),Qp=ao(),oI=Qa();Wve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){oI.redrawComponents(t);return}function o(b){var g=b.xaxis,E=b.yaxis;a._defs.select("#"+b.clipId+"> rect").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,g._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(".scatterlayer .trace");k.selectAll(".point").call(Qp.setPointGroupScale,1,1),k.selectAll(".textpoint").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,g){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,p=[];if(C){var P=aI.simpleMap(b.xr0,k.r2l),T=aI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];p[0]=(P[0]*(1-g)+g*T[0]-P[0])/(P[1]-P[0])*L,p[2]=L*(1-g+g*q/F),k.range[0]=k.l2r(P[0]*(1-g)+g*T[0]),k.range[1]=k.l2r(P[1]*(1-g)+g*T[1])}else p[0]=0,p[2]=L;if(M){var V=aI.simpleMap(b.yr0,A.r2l),H=aI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];p[1]=(V[1]*(1-g)+g*H[1]-V[1])/(V[0]-V[1])*_,p[3]=_*(1-g+g*G/X),A.range[0]=k.l2r(V[0]*(1-g)+g*H[0]),A.range[1]=A.l2r(V[1]*(1-g)+g*H[1])}else p[1]=0,p[3]=_;oI.drawOne(t,k,{skipTitle:!0}),oI.drawOne(t,A,{skipTitle:!0}),oI.redrawComponents(t,[k._id,A._id]);var N=C?L/p[2]:1,W=M?_/p[3]:1,re=C?p[0]:0,ae=M?p[1]:0,_e=C?p[0]/p[2]*L:0,Me=M?p[1]/p[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},g=0;gn.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{"use strict";var lI=xa(),Xve=ba(),Wb=Mr(),qvt=Xu(),Ovt=ao(),Yve=kd().getModuleCalcData,g_=af(),zg=ad(),Bvt=Zp(),Fl=Wb.ensureSingle;function sI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name="cartesian";yv.attr=["xaxis","yaxis"];yv.idRoot=["x","y"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=wve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Gve();yv.transitionAxes=Zve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(".subplot").select("."+d)})}for(var v=[],x,b=0;b1&&(L+=Zb+A),k.push(s+L),o=0;o1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=Fl(n,"path","xlines-above"),t.ylines=Fl(n,"path","ylines-above"),t.xaxislayer=Fl(n,"g","xaxislayer-above"),t.yaxislayer=Fl(n,"g","yaxislayer-above");else{if(!o){var h=Fl(n,"g","layer-subplot");t.shapelayer=Fl(h,"g","shapelayer"),t.imagelayer=Fl(h,"g","imagelayer"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=Fl(n,"g","minor-gridlayer"),t.gridlayer=Fl(n,"g","gridlayer"),t.zerolinelayer=Fl(n,"g","zerolinelayer"));var d=Fl(n,"g","layer-between");t.shapelayerBetween=Fl(d,"g","shapelayer"),t.imagelayerBetween=Fl(d,"g","imagelayer"),Fl(n,"path","xlines-below"),Fl(n,"path","ylines-below"),t.overlinesBelow=Fl(n,"g","overlines-below"),Fl(n,"g","xaxislayer-below"),Fl(n,"g","yaxislayer-below"),t.overaxesBelow=Fl(n,"g","overaxes-below")}t.overplot=Fl(n,"g","overplot"),t.plot=Fl(t.overplot,"g",i),o||(t.xlines=Fl(n,"path","xlines-above"),t.ylines=Fl(n,"path","ylines-above"),t.overlinesAbove=Fl(n,"g","overlines-above"),Fl(n,"g","xaxislayer-above"),Fl(n,"g","yaxislayer-above"),t.overaxesAbove=Fl(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+s),t.ylines=n.select(".ylines-"+l),t.xaxislayer=n.select(".xaxislayer-"+s),t.yaxislayer=n.select(".yaxislayer-"+l))}else{var v=f.plotgroup,x=i+"-x",b=i+"-y";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,Fl(f.overlinesBelow,"path",x),Fl(f.overlinesBelow,"path",b),Fl(f.overaxesBelow,"g",x),Fl(f.overaxesBelow,"g",b),t.plot=Fl(f.overplot,"g",i),Fl(f.overlinesAbove,"path",x),Fl(f.overlinesAbove,"path",b),Fl(f.overaxesAbove,"g",x),Fl(f.overaxesAbove,"g",b),t.xlines=v.select(".overlines-"+s).select("."+x),t.ylines=v.select(".overlines-"+l).select("."+b),t.xaxislayer=v.select(".overaxes-"+s).select("."+x),t.yaxislayer=v.select(".overaxes-"+l).select("."+b)}o||(u||(sI(t.minorGridlayer,"g",t.xaxis._id),sI(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(g){return g[0]}).sort(g_.idSort),sI(t.gridlayer,"g",t.xaxis._id),sI(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(g){return g[0]}).sort(g_.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function $ve(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=lI.select(this);c.remove(),Qve(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o{"use strict";var uI=lu();epe.exports={hasLines:uI.hasLines,hasMarkers:uI.hasMarkers,hasText:uI.hasText,isBubble:uI.isBubble,attributes:Uc(),layoutAttributes:U6(),supplyDefaults:Ede(),crossTraceDefaults:$N(),supplyLayoutDefaults:Pde(),calc:q0().calc,crossTraceCalc:tve(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:JP(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Jf(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}});var npe=ye((Wnr,ipe)=>{"use strict";var Uvt=xa(),Vvt=va(),rpe=MN(),wU=Mr(),Hvt=wU.strScale,Gvt=wU.strRotate,jvt=wU.strTranslate;ipe.exports=function(t,r,n){var i=t.node(),a=rpe[n.arrowhead||0],o=rpe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName==="line"){d={x:+t.attr("x1"),y:+t.attr("y1")},v={x:+t.attr("x2"),y:+t.attr("y2")};var g=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,g),b=x+Math.PI,f&&h&&f+h>Math.sqrt(g*g+E*E)){V();return}if(f){if(f*f>g*g+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>g*g+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName==="path"){var C=i.getTotalLength(),M="";if(C{"use strict";var ape=xa(),TU=ba(),Wvt=Xu(),y_=Mr(),AU=y_.strTranslate,QM=Qa(),Xb=va(),Py=ao(),ope=Nc(),SU=Ll(),MU=Tg(),$M=gv(),Zvt=Vs().arrayEditor,Xvt=npe();upe.exports={draw:Yvt,drawOne:spe,drawRaw:lpe};function Yvt(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?Xe="right":Xe="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=["x","y"],Re=0;Re1)&&(nt===Ge?(St=ct.r2fraction(t["a"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt==="domain";ce==="x"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t["a"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht==="domain"?(ce==="y"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht==="paper"?ce==="y"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce==="x"?"width":"height"];if(Ge==="paper"&&(Yt.head=y_.constrain(Yt.head,1,$t-1)),nt==="pixel"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t["_"+ce+"padplus"]=Rt/2+er,t["_"+ce+"padminus"]=Rt/2-er,t["_"+ce+"size"]=Rt,t["_"+ce+"shift"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!=="left"&&(Br=(ie-ke)*(t.align==="center"?.5:1)),t.valign!=="top"&&(Or=(Te-ge)*(t.valign==="middle"?.5:1)),_e)ae.select("svg").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select("rect").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:"rotate("+g+","+b.x.text+","+b.y.text+")"});var Ne=function(Ve,Xe){E.selectAll(".annotation-arrow-g").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=y_.rotationXYMatrix(g,lt,Gt),ar=y_.apply2DTransform(Vt),Qr=y_.apply2DTransform2(Vt),ai=+T.attr("width"),jr=+T.attr("height"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!y_.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=y_.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append("g").style({opacity:Xb.opacity($i)}).classed("annotation-arrow-g",!0),It=Wn.append("path").attr("d","M"+xe+","+Se+"L"+ht+","+Le).style("stroke-width",_n+"px").call(Xb.stroke,Xb.rgb($i));if(Xvt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(xe-ft)+","+(Se-jt),transform:AU(ft,jt)}).style("stroke-width",_n+6+"px").call(Xb.stroke,"rgba(0,0,0,0)").call(Xb.fill,"rgba(0,0,0,0)"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d("x",m_(i,Vr,"x",s,t)),d("y",m_(a,gi,"y",s,t)),t.axref===t.xref&&d("ax",m_(i,Vr,"ax",s,t)),t.ayref===t.yref&&d("ay",m_(a,gi,"ay",s,t)),Wn.attr("transform",AU(Vr,gi)),k.attr({transform:"rotate("+g+","+Mi+","+Pi+")"})},doneFn:function(){TU.call("_guiRelayout",e,v());var Vr=document.querySelector(".js-notes-box-panel");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr("transform")},moveFn:function(Ve,Xe){var ht="pointer";if(t.showarrow)t.axref===t.xref?d("ax",m_(i,Ve,"ax",s,t)):d("ax",t.ax+Ve),t.ayref===t.yref?d("ay",m_(a,Xe,"ay",s.w,t)):d("ay",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=m_(i,Ve,"x",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=m_(a,Xe,"y",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d("x",Le),d("y",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit("plotly_clickannotation",_(Xe))},doneFn:function(){MU(C),TU.call("_guiRelayout",e,v());var Ve=document.querySelector(".js-notes-box-panel");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on("edit",function(W){t.text=W,this.call(G),d("text",W),i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0),TU.call("_guiRelayout",e,v())}):X.call(G)}});var ppe=ye((Xnr,vpe)=>{"use strict";var cpe=Mr(),Kvt=ba(),fpe=Vs().arrayEditor;vpe.exports={hasClickToShow:Jvt,onClick:$vt};function Jvt(e,t){var r=dpe(e,t);return r.on.length>0||r.explicitOff.length>0}function $vt(e,t){var r=dpe(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s{"use strict";var EU=Mr(),uT=va();gpe.exports=function(t,r,n,i){i("opacity");var a=i("bgcolor"),o=i("bordercolor"),s=uT.opacity(o);i("borderpad");var l=i("borderwidth"),u=i("showarrow");i("text",u?" ":n._dfltTitle.annotation),i("textangle"),EU.coerceFont(i,"font",n.font),i("width"),i("align");var c=i("height");if(c&&i("valign"),u){var f=i("arrowside"),h,d;f.indexOf("end")!==-1&&(h=i("arrowhead"),d=i("arrowsize")),f.indexOf("start")!==-1&&(i("startarrowhead",h),i("startarrowsize",d)),i("arrowcolor",s?r.bordercolor:uT.defaultLine),i("arrowwidth",(s&&l||1)*2),i("standoff"),i("startstandoff")}var v=i("hovertext"),x=n.hoverlabel||{};if(v){var b=i("hoverlabel.bgcolor",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),g=i("hoverlabel.bordercolor",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=g),EU.coerceFont(i,"hoverlabel.font",E)}i("captureevents",!!v)}});var ype=ye((Knr,mpe)=>{"use strict";var CU=Mr(),Yb=Qa(),Qvt=Zd(),ept=kU(),tpt=Nb();mpe.exports=function(t,r){Qvt(t,r,{name:"annotations",handleItemDefaults:rpt})};function rpt(e,t,r){function n(k,A){return CU.coerce(e,t,tpt,k,A)}var i=n("visible"),a=n("clicktoshow");if(i||a){ept(e,t,r,n);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,"","paper");if(h!=="paper"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v="a"+f,x=Yb.coerceRef(e,t,u,v,"pixel",["pixel","paper"]);x!=="pixel"&&x!==h&&(x=t[v]="pixel");var b=x==="pixel"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+"anchor"),n(f+"shift")}if(CU.noneOrAll(e,t,["x","y"]),o&&CU.noneOrAll(e,t,["ax","ay"]),a){var g=n("xclick"),E=n("yclick");t._xclick=g===void 0?t.x:Yb.cleanPosition(g,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var bpe=ye((Jnr,xpe)=>{"use strict";var LU=Mr(),Kb=Qa(),ipt=cI().draw;xpe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([ipt,npt],t)};function npt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a==="range"&&_pe(r,n),o==="range"&&_pe(r,i)})}function _pe(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e["a"+n],o=e[n+"ref"],s=e["a"+n+"ref"],l=e["_"+n+"padplus"],u=e["_"+n+"padminus"],c={x:1,y:-1}[n]*e[n+"shift"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,g;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});g={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,g=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=g}});var Tpe=ye(($nr,wpe)=>{"use strict";var apt=uo(),opt=l6();wpe.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=opt(v,r.range):x=Math.pow(10,v),apt(x)||(x=null),i(c+d,x)}for(var h=0;h{"use strict";var PU=cI(),Ape=ppe();Spe.exports={moduleType:"component",name:"annotations",layoutAttributes:Nb(),supplyLayoutDefaults:ype(),includeBasePlot:IM()("annotations"),calcAutorange:bpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Ape.hasClickToShow,onClick:Ape.onClick,convertCoords:Tpe()}});var fI=ye((ear,Epe)=>{"use strict";var Ku=Nb(),spt=Bu().overrideAll,lpt=Vs().templatedArray;Epe.exports=spt(lpt("annotation",{visible:Ku.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),"calc","from-root")});var Cpe=ye((tar,kpe)=>{"use strict";var IU=Mr(),upt=Qa(),cpt=Zd(),fpt=kU(),hpt=fI();kpe.exports=function(t,r,n){cpt(t,r,{name:"annotations",handleItemDefaults:dpt,fullLayout:n.fullLayout})};function dpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,hpt,s,l)}function a(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],upt.coercePosition(t,u,i,s,s,.5)}var o=i("visible");o&&(fpt(e,t,n.fullLayout,i),a("x"),a("y"),a("z"),IU.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",i("xanchor"),i("yanchor"),i("xshift"),i("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",i("ax",-10),i("ay",-30),IU.noneOrAll(e,t,["ax","ay"])))}});var Rpe=ye((rar,Ipe)=>{"use strict";var Lpe=Mr(),Ppe=Qa();Ipe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i{"use strict";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function ppt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Dpe.exports=ppt});var Fpe=ye((nar,zpe)=>{"use strict";var gpt=cI().drawRaw,mpt=DU(),ypt=["x","y","z"];zpe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+a+'"]').remove():(o._pdata=mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),gpt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Bpe=ye((aar,Ope)=>{"use strict";var _pt=ba(),qpe=Mr();Ope.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:fI()}}},layoutAttributes:fI(),handleDefaults:Cpe(),includeBasePlot:xpt,convert:Rpe(),draw:Fpe()};function xpt(e,t){var r=_pt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a{"use strict";var Npe=Nb(),Upe=Su(),Vpe=Uc().line,bpt=Ed().dash,Fg=no().extendFlat,wpt=Vs().templatedArray,oar=PM(),cT=vl(),Tpt=Wo().shapeTexttemplateAttrs,Apt=x6();Hpe.exports=wpt("shape",{visible:Fg({},cT.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:Fg({},cT.legend,{editType:"calc+arraydraw"}),legendgroup:Fg({},cT.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:Upe({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:Fg({},cT.legendrank,{editType:"calc+arraydraw"}),legendwidth:Fg({},cT.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:Fg({},Npe.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:Fg({},Npe.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:Fg({},Vpe.color,{editType:"arraydraw"}),width:Fg({},Vpe.width,{editType:"calc+arraydraw"}),dash:Fg({},bpt,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:Tpt({},{keys:Object.keys(Apt)}),font:Upe({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})});var Wpe=ye((lar,jpe)=>{"use strict";var e4=Mr(),fT=Qa(),Spt=Zd(),Mpt=zU(),Gpe=f_();jpe.exports=function(t,r){Spt(t,r,{name:"shapes",handleItemDefaults:kpt})};function Ept(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}function kpt(e,t,r){function n(W,re){return e4.coerce(e,t,Mpt,W,re)}t._isShape=!0;var i=n("visible");if(i){var a=n("showlegend");a&&(n("legend"),n("legendwidth"),n("legendgroup"),n("legendgrouptitle.text"),e4.coerceFont(n,"legendgrouptitle.font"),n("legendrank"));var o=n("path"),s=o?"path":"rect",l=n("type",s),u=l!=="path";u&&delete t.path,n("editable"),n("layer"),n("opacity"),n("fillcolor"),n("fillrule");var c=n("line.width");c&&(n("line.color"),n("line.dash"));for(var f=n("xsizemode"),h=n("ysizemode"),d=["x","y"],v=0;v<2;v++){var x=d[v],b=x+"anchor",g=x==="x"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,"paper"),C=fT.getRefType(_);if(C==="range"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Gpe.rangeToShapePosition(k),A=Gpe.shapePositionToRange(k),(k.type==="category"||k.type==="multicategory")&&(n(x+"0shift"),n(x+"1shift"))):A=L=e4.identity,u){var M=.25,p=.75,P=x+"0",T=x+"1",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),g==="pixel"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,p)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(g==="pixel"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,["x0","x1","y0","y1"]);var H=l==="line",X,G;if(u&&(X=n("label.texttemplate")),X||(G=n("label.text")),G||X){n("label.textangle");var N=n("label.textposition",H?"middle":"middle center");n("label.xanchor"),n("label.yanchor",Ept(H,N)),n("label.padding"),e4.coerceFont(n,"label.font",r.font)}}}});var Ype=ye((uar,Xpe)=>{"use strict";var Cpt=va(),Zpe=Mr();function Lpt(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}Xpe.exports=function(t,r,n){n("newshape.visible"),n("newshape.name"),n("newshape.showlegend"),n("newshape.legend"),n("newshape.legendwidth"),n("newshape.legendgroup"),n("newshape.legendgrouptitle.text"),Zpe.coerceFont(n,"newshape.legendgrouptitle.font"),n("newshape.legendrank"),n("newshape.drawdirection"),n("newshape.layer"),n("newshape.fillcolor"),n("newshape.fillrule"),n("newshape.opacity");var i=n("newshape.line.width");if(i){var a=(t||{}).plot_bgcolor||"#FFF";n("newshape.line.color",Cpt.contrast(a)),n("newshape.line.dash")}var o=t.dragmode==="drawline",s=n("newshape.label.text"),l=n("newshape.label.texttemplate");if(s||l){n("newshape.label.textangle");var u=n("newshape.label.textposition",o?"middle":"middle center");n("newshape.label.xanchor"),n("newshape.label.yanchor",Lpt(o,u)),n("newshape.label.padding"),Zpe.coerceFont(n,"newshape.label.font",r.font)}n("activeshape.fillcolor"),n("activeshape.opacity")}});var e0e=ye((car,Qpe)=>{"use strict";var FU=Mr(),hT=Qa(),dT=cM(),Jpe=f_();Qpe.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function Kpe(e,t,r){var n=e._id.charAt(0)==="x"?"x":"y",i=e.type==="category"||e.type==="multicategory",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+"sizemode"]==="scaled";if(c?(a=t[n+"0"],o=t[n+"1"],i&&(s=t[n+"0shift"],l=t[n+"1shift"])):(a=t[n+"anchor"],o=t[n+"anchor"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,g,E;for(e.type==="date"&&(u=Jpe.decodeDate(u)),v=0;vh&&(h=E)));if(h>=f)return[f,h]}}});var i0e=ye((far,r0e)=>{"use strict";var t0e=tP();r0e.exports={moduleType:"component",name:"shapes",layoutAttributes:zU(),supplyLayoutDefaults:Wpe(),supplyDrawNewShapeDefaults:Ype(),includeBasePlot:IM()("shapes"),calcAutorange:e0e(),draw:t0e.draw,drawOne:t0e.drawOne}});var qU=ye((dar,a0e)=>{"use strict";var n0e=ad(),Rpt=Vs().templatedArray,har=PM();a0e.exports=Rpt("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n0e.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n0e.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})});var s0e=ye((par,o0e)=>{"use strict";var Dpt=Mr(),OU=Qa(),zpt=Zd(),Fpt=qU(),qpt="images";o0e.exports=function(t,r){var n={name:qpt,handleItemDefaults:Opt};zpt(t,r,n)};function Opt(e,t,r){function n(h,d){return Dpt.coerce(e,t,Fpt,h,d)}var i=n("source"),a=n("visible",!!i);if(!a)return t;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var f0e=ye((gar,c0e)=>{"use strict";var l0e=xa(),Bpt=ao(),vT=Qa(),u0e=af(),Npt=Zp();c0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s{"use strict";var h0e=uo(),Upt=l6();d0e.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f{"use strict";p0e.exports={moduleType:"component",name:"images",layoutAttributes:qU(),supplyLayoutDefaults:s0e(),includeBasePlot:IM()("images"),draw:f0e(),convertCoords:v0e()}});var hI=ye((_ar,m0e)=>{"use strict";m0e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var BU=ye((xar,_0e)=>{"use strict";var Vpt=Su(),Hpt=dh(),Gpt=no().extendFlat,jpt=Bu().overrideAll,Wpt=b6(),y0e=Vs().templatedArray,Zpt=y0e("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});_0e.exports=jpt(y0e("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:Zpt,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:Gpt(Wpt({editType:"arraydraw"}),{}),font:Vpt({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:Hpt.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")});var T0e=ye((bar,w0e)=>{"use strict";var dI=Mr(),x0e=Zd(),b0e=BU(),Xpt=hI(),Ypt=Xpt.name,Kpt=b0e.buttons;w0e.exports=function(t,r){var n={name:Ypt,handleItemDefaults:Jpt};x0e(t,r,n)};function Jpt(e,t,r){function n(o,s){return dI.coerce(e,t,b0e,o,s)}var i=x0e(e,t,{name:"buttons",handleItemDefaults:$pt}),a=n("visible",i.length>0);a&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),dI.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),dI.coerceFont(n,"font",r.font),n("bgcolor",r.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function $pt(e,t){function r(i,a){return dI.coerce(e,t,Kpt,i,a)}var n=r("visible",e.method==="skip"||Array.isArray(e.args));n&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var M0e=ye((war,S0e)=>{"use strict";S0e.exports=of;var qg=xa(),A0e=va(),pT=ao(),vI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor="#808BA4";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f==="down",d=f==="left",v=f==="right",x=f==="up",b=l,g=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction="down",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+g,o),g=L-A):(L=u+g,A=Math.max(L-g,0),g=L-A)):(A=u,L=A+g,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:g};var C=l>b,M=of.barLength+2*of.barPad,p=of.barWidth+2*of.barPad,P=s,T=u+c;T+p>o&&(T=o-p);var F=this.container.selectAll("rect.scrollbar-horizontal").data(C?[0]:[]);F.exit().on(".drag",null).remove(),F.enter().append("rect").classed("scrollbar-horizontal",!0).call(A0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:p}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>g,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll("rect.scrollbar-vertical").data(q?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-vertical",!0).call(A0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=g-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+p+.5:L+.5,ke=i._topdefs.selectAll("#"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append("clipPath").attr("id",W).append("rect"),C||q?(this._clipRect=ke.select("rect").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on("dragstart",function(){qg.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(ge);var ie=qg.behavior.drag().on("dragstart",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));C&&this.hbar.on(".drag",null).call(ie),q&&this.vbar.on(".drag",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(pT.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=vI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=vI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=vI.constrain(t||0,0,n),r=vI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var F0e=ye((Tar,z0e)=>{"use strict";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),pI=Ll(),Qpt=Vs().arrayEditor,k0e=Nh().LINE_SPACING,Go=hI(),e0t=M0e();z0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,R0e(h))}var a=r._menulayer.selectAll("g."+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append("g").classed(Go.containerClassName,!0).style("cursor","pointer"),a.exit().each(function(){gT.select(this).selectAll("g."+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll("g."+Go.headerGroupClassName).data(n,t0t);o.enter().append("g").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,"g",Go.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var l0t=hI();q0e.exports={moduleType:"component",name:l0t.name,layoutAttributes:BU(),supplyLayoutDefaults:T0e(),draw:F0e()}});var n4=ye((Sar,B0e)=>{"use strict";B0e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var HU=ye((Mar,V0e)=>{"use strict";var N0e=Su(),u0t=b6(),c0t=no().extendDeepAll,f0t=Bu().overrideAll,h0t=zS(),U0e=Vs().templatedArray,Jb=n4(),d0t=U0e("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});V0e.exports=f0t(U0e("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:d0t,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:c0t(u0t({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:h0t.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:N0e({})},font:N0e({}),activebgcolor:{valType:"color",dflt:Jb.gripBgActiveColor},bgcolor:{valType:"color",dflt:Jb.railBgColor},bordercolor:{valType:"color",dflt:Jb.railBorderColor},borderwidth:{valType:"number",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:"number",min:0,dflt:Jb.tickLength},tickcolor:{valType:"color",dflt:Jb.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:Jb.minorTickLength}}),"arraydraw","from-root")});var W0e=ye((Ear,j0e)=>{"use strict";var yT=Mr(),H0e=Zd(),G0e=HU(),v0t=n4(),p0t=v0t.name,g0t=G0e.steps;j0e.exports=function(t,r){H0e(t,r,{name:p0t,handleItemDefaults:m0t})};function m0t(e,t,r){function n(f,h){return yT.coerce(e,t,G0e,f,h)}for(var i=H0e(e,t,{name:"steps",handleItemDefaults:y0t}),a=0,o=0;o{"use strict";var Og=xa(),gI=Xu(),__=va(),Bg=ao(),t0=Mr(),_0t=t0.strTranslate,a4=Ll(),x0t=Vs().arrayEditor,gs=n4(),WU=Nh(),Y0e=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;tge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=b0t(n,t),a=n._infolayer.selectAll("g."+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append("g").classed(gs.containerClassName,!0).style("cursor",r?null:"ew-resize");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),gI.autoMargin(t,K0e(c))}if(a.exit().each(function(){Og.select(this).selectAll("g."+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll("g."+gs.groupClassName).data(i,w0t);s.enter().append("g").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",_0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function X0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function C0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,"rect",gs.railTouchRectClass,function(a){a.call(Q0e,t,e,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(__.fill,r.bgcolor).attr("opacity",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function L0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,"rect",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,"shape-rendering":"crispEdges"}).call(__.stroke,t.bordercolor).call(__.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var nge=ye((Car,ige)=>{"use strict";var P0t=n4();ige.exports={moduleType:"component",name:P0t.name,layoutAttributes:HU(),supplyLayoutDefaults:W0e(),draw:rge()}});var yI=ye((Lar,oge)=>{"use strict";var age=dh();oge.exports={bgcolor:{valType:"color",dflt:age.background,editType:"plot"},bordercolor:{valType:"color",dflt:age.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}});var XU=ye((Par,sge)=>{"use strict";sge.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}});var _I=ye((Iar,lge)=>{"use strict";lge.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var fge=ye(bI=>{"use strict";var I0t=af(),R0t=Ll(),uge=_I(),D0t=Nh().LINE_SPACING,xI=uge.name;function cge(e){var t=e&&e[xI];return t&&t.visible}bI.isVisible=cge;bI.makeData=function(e){for(var t=I0t.list({_fullLayout:e},"x",!0),r=e.margin,n=[],i=0;i{"use strict";var wI=Mr(),hge=Vs(),dge=af(),z0t=yI(),F0t=XU();vge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;wI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=hge.newContainer(a,"rangeslider");function l(L,_){return wI.coerce(o,s,z0t,L,_)}var u,c;function f(L,_){return wI.coerce(u,c,F0t,L,_)}var h=l("visible");if(h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!a.isValidRange(o.range)),l("range");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf("y"))===dge.name2id(n)}).map(function(L){return L.substr(L.indexOf("y"),L.length)}),x=wI.simpleMap(v,dge.id2name),b=0;b{"use strict";var q0t=af().list,O0t=wg().getAutoRange,B0t=_I();gge.exports=function(t){for(var r=q0t(t,"x",!0),n=0;n{"use strict";var TI=xa(),N0t=ba(),U0t=Xu(),Ff=Mr(),AI=Ff.strTranslate,_ge=ao(),x_=va(),V0t=Mb(),H0t=Jf(),YU=af(),G0t=gv(),j0t=Tg(),Bs=_I();xge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n=N.max)X=T[G+1];else if(H=N.pmax)X=T[G+1];else if(H0?e.touches[0].clientX:0}function W0t(e,t,r,n){if(t._context.staticPlot)return;var i=e.select("rect."+Bs.slideBoxClassName).node(),a=e.select("rect."+Bs.grabAreaMinClassName).node(),o=e.select("rect."+Bs.grabAreaMaxClassName).node();function s(){var l=TI.event,u=l.target,c=yge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=G0t.coverSlip();this.addEventListener("touchmove",x),this.addEventListener("touchend",b),v.addEventListener("mousemove",x),v.addEventListener("mouseup",b);function x(g){var E=yge(g),k=+E-c,A,L,_;switch(u){case i:if(_="ew-resize",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_="col-resize",h+k>r._length)return;A=h+k,L=d;break;case o:if(_="col-resize",d+k<0)return;A=h,L=d+k;break;default:_="ew-resize",A=f,L=f+k;break}if(L{"use strict";var rgt=Mr(),igt=yI(),ngt=XU(),KU=fge();wge.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:rgt.extendFlat({},igt,{yaxis:ngt})}}},layoutAttributes:yI(),handleDefaults:pge(),calcAutorange:mge(),draw:bge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var SI=ye((Oar,Sge)=>{"use strict";var agt=Su(),Age=dh(),ogt=Vs().templatedArray,sgt=ogt("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});Sge.exports={visible:{valType:"boolean",editType:"plot"},buttons:sgt,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:agt({editType:"plot"}),bgcolor:{valType:"color",dflt:Age.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:Age.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}});var JU=ye((Bar,Mge)=>{"use strict";Mge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Cge=ye((Nar,kge)=>{"use strict";var MI=Mr(),lgt=va(),ugt=Vs(),cgt=Zd(),Ege=SI(),$U=JU();kge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ugt.newContainer(r,"rangeselector");function l(d,v){return MI.coerce(o,s,Ege,d,v)}var u=cgt(o,s,{name:"buttons",handleItemDefaults:fgt,calendar:a}),c=l("visible",u.length>0);if(c){var f=hgt(r,n,i);l("x",f[0]),l("y",f[1]),MI.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),MI.coerceFont(l,"font",n.font);var h=l("bgcolor");l("activecolor",lgt.contrast(h,$U.lightAmount,$U.darkAmount)),l("bordercolor"),l("borderwidth")}};function fgt(e,t,r,n){var i=n.calendar;function a(l,u){return MI.coerce(e,t,Ege.buttons,l,u)}var o=a("visible");if(o){var s=a("step");s!=="all"&&(i&&i!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":a("stepmode"),a("count")),a("label")}}function hgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a{"use strict";var dgt=hq(),vgt=Mr().titleCase;Lge.exports=function(t,r){var n=t._name,i={};if(r.step==="all")i[n+".autorange"]=!0;else{var a=pgt(t,r);i[n+".range[0]"]=a[0],i[n+".range[1]"]=a[1]}return i};function pgt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=dgt["utc"+vgt(i)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+a.offset(n,-o));break;case"todate":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Bge=ye((Var,Oge)=>{"use strict";var kI=xa(),ggt=ba(),mgt=Xu(),Ige=va(),qge=ao(),Iy=Mr(),Rge=Iy.strTranslate,EI=Ll(),ygt=af(),tV=Nh(),Dge=tV.LINE_SPACING,zge=tV.FROM_TL,Fge=tV.FROM_BR,eV=JU(),_gt=Pge();Oge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(".rangeselector").data(xgt(t),bgt);n.enter().append("g").classed("rangeselector",!0),n.exit().remove(),n.style({cursor:"pointer","pointer-events":"all"}),n.each(function(i){var a=kI.select(this),o=i,s=o.rangeselector,l=a.selectAll("g.button").data(Iy.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=kI.select(this),f=_gt(o,u);u._isActive=wgt(o,u,f),c.call(QU,s,u),c.call(Agt,s,u,t),c.on("click",function(){t._dragged||ggt.call("_guiRelayout",t,f)}),c.on("mouseover",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(QU,s,u)})}),Mgt(t,l,s,o._name,a)})};function xgt(e){for(var t=ygt.list(e,"x",!0),r=[],n=0;n{"use strict";Nge.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:SI()}}},layoutAttributes:SI(),handleDefaults:Cge(),draw:Bge()}});var Ju=ye(rV=>{"use strict";var Vge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+" ":"",i=e.trace?"trace ":"subplot ",a=t.description?" "+t.description:"",o={x:Vge({},r,{}),y:Vge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType},o.column={valType:"integer",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var Egt=Mr(),kgt=n3().counter,Cgt=Ju().attributes,Hge=ad().idRegex,Lgt=Vs(),iV={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[kgt("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Hge.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Hge.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:Cgt({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function CI(e,t,r){var n=t[r+"axes"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Pgt(e,t){var r=e.grid||{},n=CI(t,r,"x"),i=CI(t,r,"y");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Lgt.newContainer(t,"grid");function h(_,C){return Egt.coerce(r,f,iV,_,C)}var d=h("rows",u),v=h("columns",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h("pattern")==="independent";x&&(a=!0)}f._hasSubplotGrid=a;var b=h("roworder"),g=b==="top to bottom",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Gge("x",h,E,A,v),y:Gge("y",h,k,L,d,g)}}function Gge(e,t,r,n,i,a){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h{"use strict";Zge.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc"}});var Kge=ye((Zar,Yge)=>{"use strict";var Xge=uo(),Rgt=ba(),Dgt=Mr(),zgt=Vs(),Fgt=aV();Yge.exports=function(e,t,r,n){var i="error_"+n.axis,a=zgt.newContainer(t,i),o=e[i]||{};function s(v,x){return Dgt.coerce(o,a,Fgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),f=!0;c!=="sqrt"&&(f=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),f||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),f||s("valueminus"));var h="copy_"+n.inherit+"style";if(n.inherit){var d=t["error_"+n.inherit];(d||{}).visible&&s(h,!(o.color||Xge(o.thickness)||Xge(o.width)))}(!n.inherit||!a[h])&&(s("color",r),s("thickness"),s("width",Rgt.traceIs(t,"gl3d")?0:4))}}});var oV=ye((Xar,$ge)=>{"use strict";$ge.exports=function(t){var r=t.type,n=t.symmetric;if(r==="data"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=Jge(r,t.value),s=Jge(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function Jge(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var tme=ye((Yar,eme)=>{"use strict";var sV=uo(),qgt=ba(),lV=Qa(),Ogt=Mr(),Bgt=oV();eme.exports=function(t){for(var r=t.calcdata,n=0;n{"use strict";var rme=xa(),b_=uo(),Ngt=ao(),Ugt=lu();ime.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Ugt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=rme.select(this).selectAll("g.errorbar").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll("path.xerror").remove(),d.visible||b.selectAll("path.yerror").remove(),b.style("opacity",1);var g=b.enter().append("g").classed("errorbar",!0);l&&g.style("opacity",0).transition().duration(i.duration).style("opacity",1),Ngt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=rme.select(this),A=Vgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select("path.yerror");if(d.visible&&b_(A.x)&&b_(A.yh)&&b_(A.ys)){var C=d.width;L="M"+(A.x-C)+","+A.yh+"h"+2*C+"m-"+C+",0V"+A.ys,A.noYS||(L+="m-"+C+",0h"+2*C),a=!_.size(),a?_=k.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr("d",L)}else _.remove();var M=k.select("path.xerror");if(h.visible&&b_(A.y)&&b_(A.xh)&&b_(A.xs)){var p=(h.copy_ystyle?d:h).width;L="M"+A.xh+","+(A.y-p)+"v"+2*p+"m0,-"+p+"H"+A.xs,A.noXS||(L+="m0,-"+p+"v"+2*p),a=!M.size(),a?M=k.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr("d",L)}else M.remove()}})}})};function Vgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),b_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),b_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var sme=ye((Jar,ome)=>{"use strict";var Hgt=xa(),ame=va();ome.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=Hgt.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(ame.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(ame.stroke,a.color)})}});var cme=ye(($ar,ume)=>{"use strict";var o4=Mr(),lme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;ume.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:lme(l4,"calc","nested"),scattergl:lme($b,"calc","nested")}},supplyDefaults:Kge(),calc:tme(),makeComputeError:oV(),plot:nme(),style:sme(),hoverInfo:Ggt};function Ggt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var hme=ye((Qar,fme)=>{"use strict";fme.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}});var _me=ye((eor,yme)=>{"use strict";var w_=xa(),uV=id(),PI=Xu(),dme=ba(),Ry=Qa(),LI=gv(),B0=Mr(),Ug=B0.strTranslate,mme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),jgt=Mb(),Wgt=Ll(),Zgt=Dv().flipScale,Xgt=JM(),Ygt=rI(),Kgt=Cd(),hV=Nh(),vme=hV.LINE_SPACING,pme=hV.FROM_TL,gme=hV.FROM_BR,Vc=hme().cn;function Jgt(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+Vc.colorbar).data($gt(e),function(n){return n._id});r.enter().append("g").attr("class",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=w_.select(this);B0.ensureSingle(i,"rect",Vc.cbbg),B0.ensureSingle(i,"g",Vc.cbfills),B0.ensureSingle(i,"g",Vc.cblines),B0.ensureSingle(i,"g",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,"g",Vc.cbtitleunshift,function(o){o.append("g").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,"rect",Vc.cboutline);var a=Qgt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&emt(i,n,e)}),r.exit().each(function(n){PI.autoMargin(e,n._id)}).remove(),r.order()}function $gt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return mme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,i):(i._fillgradient=a.reversescale?Zgt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr("transform",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select("."+Vc.cbtitleunshift).attr("transform",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select("."+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select("."+Vc.cbtitle)},bt=er.charAt(0)==="h"?er.substr(1):"h"+er;e.selectAll("."+bt+",."+bt+"-math-group").remove(),jgt.draw(r,er,mme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M==="top"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M==="bottom"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M==="right"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+"title",{attributes:{x:er,y:Ke,"text-anchor":n?"start":"middle"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M==="right")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M==="bottom"&&(bt=A.t+ae*er+10+(Ge.indexOf("inside")===-1?Ee.tickfont.size:0)+(Ee.ticks!=="intside"&&t.ticklen||0)),M==="top"){var Lt=C.text.split("
").length;bt=A.t+ae*er+10-X-vme*nt*Lt}Rt((n?"h":"v")+Ee._id+"title",{avoid:{selection:w_.select(r).selectAll("g."+Ee._id+"tick"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,"text-anchor":"middle"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select("."+Vc.cbtitle),Ke=er.select("text"),xt=[-l/2,l/2],bt=er.select(".h"+Ee._id+"title-math-group").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*vme);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M==="top")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=Wgt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr("transform",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M==="right"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr("transform",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll("."+Vc.cbfills+",."+Vc.cblines).attr("transform",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr("transform",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select("."+Vc.cbfills).selectAll("rect."+Vc.cbfill).attr("style","").data(V);dt.enter().append("rect").classed(Vc.cbfill,!0).attr("style",""),dt.exit().remove();var Ht=p.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?p[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?p[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=w_.select(this).attr(n?"x":"y",_e).attr(n?"y":"x",w_.min(ut)).attr(n?"width":"height",Math.max(X,2)).attr(n?"height":"width",Math.max(w_.max(ut)-w_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var Ye=T(Or).replace("e-","");Ne.attr("fill",uV(Ye).toHexString())}});var $t=e.select("."+Vc.cblines).selectAll("path."+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append("path").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;w_.select(this).attr("d","M"+(n?Nr+","+ut:ut+","+Nr)+(n?"h":"v")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll("g."+Ee._id+"tick,path").remove();var fr=_e+X+(l||0)/2-(t.ticks==="outside"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks==="inside"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf("inside")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select("text");var xt=0,bt=n&&M==="top",Lt=!n&&M==="right",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(".h"+Ee._id+"title-math-group").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M==="top"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr("transform",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h==="bottom"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select("."+Vc.cbbg).attr("x",_r).attr("y",Br).attr(n?"width":"height",Math.max(Ht-$t,2)).attr(n?"height":"width",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style("stroke-width",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll("."+Vc.cboutline).attr("x",(n?_e:Te+d)+Or).attr("y",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?"width":"height",Math.max(X,2)).attr(n?"height":"width",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:"none","stroke-width":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=g?A.t-ut:-ut,e.attr("transform",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll("text"),Ye=Ne[0].length,Ve=e.select("."+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute("transform","translate("+$i+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var xe={},Se=pme[f],lt=gme[f],Gt=pme[h],Vt=gme[h],ar=Ht-X;n?(a==="pixels"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s==="pixels"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a==="pixels"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s==="pixels"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?"b":"t",ai=t.x<.5?"l":"r";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&g?PI.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:g||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([PI.previousPromises,kt,Yt,Ct,PI.previousPromises,xr],r)}function emt(e,t,r){var n=t.orientation==="v",i=r._fullLayout,a=i._size,o,s,l;LI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),cV(e)},moveFn:function(u,c){e.attr("transform",o+Ug(u,c)),s=LI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=LI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=LI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?dme.call("_guiRestyle",r,u,t._traceIndex):dme.call("_guiRelayout",r,u)}}})}function tmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";xme.exports={moduleType:"component",name:"colorbar",attributes:Y6(),supplyDefaults:AO(),draw:_me().draw,hasColorbar:mO()}});var Tme=ye((ror,wme)=>{"use strict";wme.exports={moduleType:"component",name:"legend",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Sme=ye((ior,Ame)=>{"use strict";Ame.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var Eme=ye((nor,Mme)=>{"use strict";Mme.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var vV=ye((aor,Pme)=>{"use strict";var imt=ba(),Lme=Mr(),dV=Lme.extendFlat,kme=Lme.extendDeep;function Cme(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function nmt(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}Pme.exports=function(t,r){var n,i=t.data,a=t.layout,o=kme([],i),s=kme({},a,Cme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(n=0;n{"use strict";var amt=vb().EventEmitter,omt=ba(),smt=Mr(),Ime=Ly(),lmt=vV(),umt=OP(),cmt=BP();function fmt(e,t){var r=new amt,n=lmt(e,{format:"png"}),i=n.gd;i.style.position="absolute",i.style.left="-5000px",document.body.appendChild(i);function a(){var s=Ime.getDelay(i._fullLayout);setTimeout(function(){var l=umt(i),u=document.createElement("canvas");u.id=smt.randstr(),r=cmt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=Ime.getRedrawFunc(i);return omt.call("_doPlot",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit("error",s)}),r}Rme.exports=fmt});var qme=ye((sor,Fme)=>{"use strict";var zme=Ly(),hmt={getDelay:zme.getDelay,getRedrawFunc:zme.getRedrawFunc,clone:vV(),toSVG:OP(),svgToImg:BP(),toImage:Dme(),downloadImage:YN()};Fme.exports=hmt});var Bme=ye(Dy=>{"use strict";Dy.version=QC().version;QQ();Vie();var dmt=ba(),u4=Dy.register=dmt.register,gV=sde(),Ome=Object.keys(gV);for(II=0;II{"use strict";Nme.exports=Bme()});var Qb=ye((cor,Vme)=>{"use strict";Vme.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var Lm=ye((hor,Wme)=>{"use strict";var Tf=Uc(),Hme=Oc().axisHoverFormat,vmt=Wo().hovertemplateAttrs,pmt=Wo().texttemplateAttrs,jme=Kl(),gmt=Su(),Gme=Qb(),mmt=Ed().pattern,e2=no().extendFlat,mV=gmt({editType:"calc",arrayOk:!0,colorEditType:"style"}),ymt=Tf.marker,_mt=ymt.line,xmt=e2({},_mt.width,{dflt:0}),bmt=e2({width:xmt,editType:"calc"},jme("marker.line")),wmt=e2({line:bmt,editType:"calc"},jme("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"},pattern:mmt,cornerradius:{valType:"any",editType:"calc"}});Wme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Hme("x"),yhoverformat:Hme("y"),text:Tf.text,texttemplate:pmt({editType:"plot"},{keys:Gme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:vmt({},{keys:Gme.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:wmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:"style"},textfont:Tf.selected.textfont,editType:"style"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:"style"},textfont:Tf.unselected.textfont,editType:"style"},zorder:Tf.zorder}});var DI=ye((dor,Zme)=>{"use strict";Zme.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}});var zI=ye((vor,Kme)=>{"use strict";var Tmt=va(),Xme=Dv().hasColorscale,Yme=Uh(),Amt=Mr().coercePattern;Kme.exports=function(t,r,n,i,a){var o=n("marker.color",i),s=Xme(t,"marker");s&&Yme(t,r,a,n,{prefix:"marker.",cLetter:"c"}),n("marker.line.color",Tmt.defaultLine),Xme(t,"marker.line")&&Yme(t,r,a,n,{prefix:"marker.line.",cLetter:"c"}),n("marker.line.width"),n("marker.opacity"),Amt(n,"marker.pattern",o,s),n("selected.marker.color"),n("unselected.marker.color")}});var r0=ye((por,rye)=>{"use strict";var Jme=uo(),xT=Mr(),$me=va(),Smt=ba(),Mmt=K3(),Emt=Pg(),kmt=zI(),Cmt=Hb(),Qme=Lm(),FI=xT.coerceFont;function Lmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,Qme,u,c)}var a=Mmt(e,t,n,i);if(!a){t.visible=!1;return}Emt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("zorder"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");tye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),kmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Smt.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||$me.defaultLine,{axis:"y"}),l(e,t,s||$me.defaultLine,{axis:"x",inherit:"y"}),xT.coerceSelectionMarkerOpacity(t,i)}function Pmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,Qme,s,l)}for(var a=0;a=0)return e}else if(typeof e=="string"&&(e=e.trim(),e.slice(-1)==="%"&&Jme(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+"%"}function tye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i==="auto",v=d||i==="inside",x=d||i==="outside";if(v||x){var b=FI(n,"textfont",r.font),g=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete g.color,FI(n,"insidetextfont",g),h){var A=xT.extendFlat({},b);k&&delete A.color,FI(n,"pathbar.textfont",A)}x&&FI(n,"outsidetextfont",b),o&&n("selected.textfont.color"),s&&n("unselected.textfont.color"),l&&n("constraintext"),u&&n("cliponaxis"),c&&n("textangle"),n("texttemplate")}v&&f&&n("insidetextanchor")}rye.exports={supplyDefaults:Lmt,crossTraceDefaults:Pmt,handleText:tye,validateCornerradius:eye}});var yV=ye((gor,iye)=>{"use strict";var Imt=ba(),Rmt=Qa(),Dmt=Mr(),zmt=DI(),Fmt=r0().validateCornerradius;iye.exports=function(e,t,r){function n(x,b){return Dmt.coerce(e,t,zmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n("barmode"),u=l==="group",c=0;c0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type==="histogram"){var d=Rmt.getFromId({_fullLayout:t},f[f.orientation==="v"?"xaxis":"yaxis"]);d.type!=="category"&&(a=!0)}}if(!i){delete t.barmode;return}l!=="overlay"&&n("barnorm"),n("bargap",a&&!o?0:.2),n("bargroupgap");var v=n("barcornerradius");t.barcornerradius=Fmt(v)}});var c4=ye((mor,nye)=>{"use strict";var bT=Mr();nye.exports=function(t,r){for(var n=0;n{"use strict";var aye=Qa(),oye=Rg(),sye=Dv().hasColorscale,lye=zv(),qmt=c4(),Omt=F0();uye.exports=function(t,r){var n=aye.getFromId(t,r.xaxis||"x"),i=aye.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(a=n.makeCalcdata(r,"x",f),s=i.makeCalcdata(r,"y"),l=oye(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y",f),s=n.makeCalcdata(r,"x"),l=oye(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v{"use strict";var Bmt=xa(),Nmt=Mr();function Umt(e,t,r){var n=e._fullLayout,i=n["_"+r+"Text_minsize"];if(i){var a=n.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Bmt.select(this).select("text");Nmt.setTransormAndDisplay(u,l)}})}}function Vmt(e,t,r){if(r.uniformtext.mode){var n=fye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a{"use strict";var Gmt=uo(),jmt=id(),dye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Gmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&ti;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return jmt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return dye(e)?t{"use strict";var f4=xa(),Wmt=va(),h4=ao(),vye=Mr(),pye=ba(),gye=_v().resizeText,_V=Lm(),Zmt=_V.textfont,Xmt=_V.insidetextfont,Ymt=_V.outsidetextfont,Jd=qI();function Kmt(e){var t=f4.select(e).selectAll('g[class^="barlayer"]').selectAll("g.trace");gye(e,t,"bar");var r=t.size(),n=e._fullLayout;t.style("opacity",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode==="stack"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(i){var a=f4.select(this),o=i[0].trace;mye(a,o,e)}),pye.getComponentMethod("errorbars","style")(t)}function mye(e,t,r){h4.pointStyle(e.selectAll("path"),t,r),yye(e,t,r)}function yye(e,t,r){e.selectAll("text").each(function(n){var i=f4.select(this),a=vye.ensureUniformFontSize(r,_ye(i,n,t,r));h4.font(i,a)})}function Jmt(e,t,r){var n=t[0].trace;n.selectedpoints?$mt(r,n,e):(mye(r,n,e),pye.getComponentMethod("errorbars","style")(r))}function $mt(e,t,r){h4.selectedPointStyle(e.selectAll("path"),t),Qmt(e.selectAll("text"),t,r)}function Qmt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=vye.ensureUniformFontSize(r,_ye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function _ye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed("bartext-inside")){var o=Tye(t,r);a=bye(r,t.i,i,o)}else e.classed("bartext-outside")&&(a=wye(r,t.i,i));return a}function xye(e,t,r){return xV(Zmt,e.textfont,t,r)}function bye(e,t,r,n){var i=xye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:Wmt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(Xmt,e.insidetextfont,t,i)}function wye(e,t,r){var n=xye(e,t,r);return xV(Ymt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function Tye(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Aye.exports={style:Kmt,styleTextPoints:yye,styleOnSelect:Jmt,getInsideTextFont:bye,getOutsideTextFont:wye,getBarColor:Tye,resizeText:gye}});var i2=ye((wor,Iye)=>{"use strict";var OI=xa(),BI=uo(),Pd=Mr(),eyt=Ll(),tyt=va(),T_=ao(),ryt=ba(),NI=Qa().tickText,Sye=_v(),iyt=Sye.recordMinTextSize,nyt=Sye.clearMinTextSize,bV=N0(),wT=qI(),ayt=Qb(),Mye=Lm(),oyt=Mye.text,syt=Mye.textposition,lyt=rp().appendArrayPointValue,Uv=ayt.TEXTPAD;function uyt(e){return e.id}function cyt(e){if(e.ids)return uyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e0}function hyt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},nyt("bar",l));var c=Pd.makeTraceGroups(n,r,"trace bars").each(function(f){var h=OI.select(this),d=f[0].trace,v=f[0].t,x=d.type==="waterfall",b=d.type==="funnel",g=d.type==="histogram",E=d.type==="bar",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode==="between"&&(A=d.connector.line.width/2);var L=d.orientation==="h",_=kye(i),C=Pd.ensureSingle(h,"g","points"),M=cyt(d),p=C.selectAll("g.point").data(Pd.identity,M);p.enter().append("g").classed("point",!0),p.exit().remove(),p.each(function(T,F){var q=OI.select(this),V=fyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!BI(H)||!BI(X)||!BI(G)||!BI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type==="waterfall"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=OI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?OI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=tyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt==="%"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||g?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re="M"+H+","+G+"V"+N+"H"+X+"V"+G+"Z",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce="M"+H+","+G+"V"+(N-rt*ct)+"H"+Rt(X-(ze-ce)*nt,H)+"A "+ze+","+ze+" 0 0 "+qt+" "+X+","+(N-ze*ct-ot)+"V"+(G+ze*ct+ot)+"A "+ze+","+ze+" 0 0 "+qt+" "+Rt(X-(ze-ce)*nt,H)+","+(G+rt*ct)+"Z"}else if(T.hasB)Ce="M"+(H+ze*nt)+","+G+"A "+ze+","+ze+" 0 0 "+qt+" "+H+","+(G+ze*ct)+"V"+(N-ze*ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(H+ze*nt)+","+N+"H"+(X-ze*nt)+"A "+ze+","+ze+" 0 0 "+qt+" "+X+","+(N-ze*ct)+"V"+(G+ze*ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(X-ze*nt)+","+G+"Z";else{me=Math.abs(N-G)+ce;var kt=me0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce="M"+(H+kt*nt)+","+G+"V"+Yt(N-(ze-ce)*ct,G)+"A "+ze+","+ze+" 0 0 "+qt+" "+(H+ze*nt-Ct)+","+N+"H"+(X-ze*nt+Ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(X-kt*nt)+","+Yt(N-(ze-ce)*ct,G)+"V"+G+"Z"}}else Ce=Re}else Ce=Re;var xr=Eye(Pd.ensureSingle(q,"path"),l,i,a);if(xr.style("vector-effect",u?"none":"non-scaling-stroke").attr("d",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?"M0,0Z":Ce).call(T_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=T_.makePointStyleFns(d);T_.singlePointStyle(T,xr,d,er,e)}dyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&T_.hideOutsideRangePoint(T,q.select("text"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;T_.setClipUrl(h,P?null:t.layerClipId,e)});ryt.getComponentMethod("errorbars","plot")(e,c,t,i)}function dyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function g(me,Re,ce){var Ge=Pd.ensureSingle(me,"text").text(Re).attr({class:"bartext bartext-"+b,"text-anchor":"middle","data-notex":1}).call(T_.font,ce).call(eyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation==="h",A=gyt(x,n,i,d,v);b=myt(E,i);var L=f.mode==="stack"||f.mode==="relative",_=n[i],C=!L||_._outmost,M=_.hasB,p=u&&u-c>Uv;if(!A||b==="none"||(_.isBlank||a===o||s===l)&&(b==="auto"||b==="inside")){r.select("text").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||"end",H=r.datum();k?d.type==="log"&&H.s0<=0&&(d.range[0]0&&Me>0,ie;p?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b="inside":(b="outside",re.remove(),re=null)}else b="inside";if(!re){ke=Pd.ensureUniformFontSize(e,b==="outside"?q:F),re=g(r,A,ke);var Te=re.attr("transform");if(re.attr("transform",""),ae=T_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr("transform",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b==="outside"?(ze=E.constraintext==="both"||E.constraintext==="outside",Ae=pyt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext==="both"||E.constraintext==="inside",Ae=Pye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,iyt(E.type==="histogram"?"bar":E.type,Ae,x),_.transform=Ae;var Ce=Eye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Cye(e){return e==="auto"?0:e}function Lye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Pye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u==="end",f=u==="start",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,g=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Cye(l);l==="auto"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||EUv){var T=vyt(e,t,r,n,M,b,g,o,x);p=T.scale,P=T.pad}else p=1,s&&(p=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:p,rotate:C}}function vyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,g,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),g=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),g=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),g=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function pyt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Cye(l),b=Lye(i,x),g=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*g):(L=n+M*d,C=-M*g),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function gyt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=yyt(e,t,r,n,i):a.textinfo?s=_yt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(oyt,s)}function myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(syt,r)}function yyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,"texttemplate");if(!o)return"";var s=a.type==="histogram",l=a.type==="waterfall",u=a.type==="funnel",c=a.orientation==="h",f,h,d,v;c?(f="y",h=i,d="x",v=n):(f="x",h=n,d="y",v=i);function x(_){return NI(h,h.c2l(_),!0).text}function b(_){return NI(v,v.c2l(_),!0).text}var g=t[r],E={};E.label=g.p,E.labelLabel=E[f+"Label"]=x(g.p);var k=Pd.castOption(a,g.i,"text");(k===0||k)&&(E.text=k),E.value=g.s,E.valueLabel=E[d+"Label"]=b(g.s);var A={};lyt(A,a,g.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+g.rawS||g.s,E.deltaLabel=b(E.delta),E.final=g.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=g.s,E.valueLabel=b(E.value),E.percentInitial=g.begR,E.percentInitialLabel=Pd.formatPercent(g.begR),E.percentPrevious=g.difR,E.percentPreviousLabel=Pd.formatPercent(g.difR),E.percentTotal=g.sumR,E.percenTotalLabel=Pd.formatPercent(g.sumR));var L=Pd.castOption(a,g.i,"customdata");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function _yt(e,t,r,n){var i=e[0].trace,a=i.orientation==="h",o=i.type==="waterfall",s=i.type==="funnel";function l(L){var _=a?n:r;return NI(_,L,!0).text}function u(L){var _=a?r:n;return NI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split("+"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x("label")&&d.push(l(e[t].p)),x("text")&&(v=Pd.castOption(i,f.i,"text"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,g=f.v,E=g-b;x("initial")&&d.push(u(E)),x("delta")&&d.push(u(b)),x("final")&&d.push(u(g))}if(s){x("value")&&d.push(u(f.s));var k=0;x("percent initial")&&k++,x("percent previous")&&k++,x("percent total")&&k++;var A=k>1;x("percent initial")&&(v=Pd.formatPercent(f.begR),A&&(v+=" of initial"),d.push(v)),x("percent previous")&&(v=Pd.formatPercent(f.difR),A&&(v+=" of previous"),d.push(v)),x("percent total")&&(v=Pd.formatPercent(f.sumR),A&&(v+=" of total"),d.push(v))}return d.join("
")}Iye.exports={plot:hyt,toMoveInsideBar:Pye}});var TT=ye((Tor,Fye)=>{"use strict";var d4=Nc(),xyt=ba(),Rye=va(),byt=Mr().fillText,wyt=qI().getLineWidth,TV=Qa().hoverLabelText,Tyt=es().BADNUM;function Ayt(e,t,r,n,i){var a=Dye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=zye(s,l),xyt.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}}function Dye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,g,E;o.orientation==="h"?(h=r,d=t,v="y",x="x",b=H,g=F):(h=t,d=r,v="x",x="y",g=H,b=F);var k=o[v+"period"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+"End"]-ie[v+"Start"]}var p=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(p(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+"a"],N=e[x+"a"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+g(ie))/2}var re=d4.getDistanceFunction(n,b,g,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Tyt){A||(p=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+"0"]=e[x+"1"]=N.c2p(_e[x],!0),e[x+"LabelVal"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+"0"]=G.c2p(l?p(_e):ke[0],!0),e[v+"1"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+"LabelVal"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+"LabelVal"],o[v+"hoverformat"]),e.valueLabel=TV(N,e[x+"LabelVal"],o[x+"hoverformat"]),e.baseLabel=TV(N,_e.b,o[x+"hoverformat"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+"Spike"]=G.c2p(_e.p,!0),byt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function zye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=wyt(e,t);if(Rye.opacity(r))return r;if(Rye.opacity(n)&&i)return n}Fye.exports={hoverPoints:Ayt,hoverOnBars:Dye,getTraceColor:zye}});var Oye=ye((Aor,qye)=>{"use strict";qye.exports=function(t,r,n){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Sor,Bye)=>{"use strict";Bye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";Nye.exports={attributes:Lm(),layoutAttributes:DI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:cye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Oye(),selectPoints:AT(),moduleType:"trace",name:"bar",basePlotModule:Jf(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}});var Hye=ye((Eor,Vye)=>{"use strict";Vye.exports=Uye()});var v4=ye((kor,Zye)=>{"use strict";var Myt=Eg(),U0=Uc(),Gye=Lm(),Eyt=dh(),jye=Oc().axisHoverFormat,kyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Wye=ST.line;Zye.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:jye("x"),yhoverformat:jye("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:zy({},ST.symbol,{arrayOk:!1,editType:"plot"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:zy({},ST.angle,{arrayOk:!1,editType:"calc"}),size:zy({},ST.size,{arrayOk:!1,editType:"calc"}),color:zy({},ST.color,{arrayOk:!1,editType:"style"}),line:{color:zy({},Wye.color,{arrayOk:!1,dflt:Eyt.defaultLine,editType:"style"}),width:zy({},Wye.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:Myt(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:Gye.offsetgroup,alignmentgroup:Gye.alignmentgroup,selected:{marker:U0.selected.marker,editType:"style"},unselected:{marker:U0.unselected.marker,editType:"style"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:kyt({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:U0.zorder}});var p4=ye((Cor,Xye)=>{"use strict";Xye.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}});var m4=ye((Lor,$ye)=>{"use strict";var V0=Mr(),Cyt=ba(),Lyt=va(),Pyt=Pg(),Iyt=Hb(),Yye=L3(),g4=v4();function Ryt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(Kye(e,t,i,n),t.visible!==!1){Pyt(e,t,n,i),i("xhoverformat"),i("yhoverformat");var a=t._hasPreCompStats;a&&(i("lowerfence"),i("upperfence")),i("line.color",(e.marker||{}).color||r),i("line.width"),i("fillcolor",Lyt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i("mean"),l=i("sd");s&&s.length&&(o=!0,l&&l.length&&(o="sd"))}i("whiskerwidth");var u=i("sizemode"),c;u==="quartiles"&&(c=i("boxmean",o)),i("showwhiskers",u==="quartiles"),(u==="sd"||c==="sd")&&i("sdmultiple"),i("width"),i("quartilemethod");var f=!1;if(a){var h=i("notchspan");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i("notched",f);d&&i("notchwidth"),Jye(e,t,i,{prefix:"box"}),i("zorder")}}function Kye(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r("y"),s=r("x"),l;if(t.type==="box"){var u=r("q1"),c=r("median"),f=r("q3");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,g={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case"00":var A=a("x0")||a("dx"),L=a("y0")||a("dy");L&&!A?E="h":E="v",k=l;break;case"10":E="v",k=Math.min(l,x);break;case"20":E="h",k=Math.min(l,s.length);break;case"01":E="h",k=Math.min(l,v);break;case"02":E="v",k=Math.min(l,o.length);break;case"12":E="v",k=Math.min(l,x,o.length);break;case"21":E="h",k=Math.min(l,s.length,v);break;case"11":k=0;break;case"22":var _=!1,C;for(C=0;C0?(E="v",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E="h",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r("orientation",E);t._hasPreCompStats?M==="v"&&d===0?(r("x0",0),r("dx",1)):M==="h"&&h===0&&(r("y0",0),r("dy",1)):M==="v"&&d===0?r("x0"):M==="h"&&h===0&&r("y0");var p=Cyt.getComponentMethod("calendars","handleTraceDefaults");p(e,t,["x","y"],n)}function Jye(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,"marker.outliercolor"),o=r("marker.line.outliercolor"),s="outliers";t._hasPreCompStats?s="all":(a||o)&&(s="suspectedoutliers");var l=r(i+"points",s);l?(r("jitter",l==="all"?.3:0),r("pointpos",l==="all"?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",t.line.color),r("marker.line.color"),r("marker.line.width"),l==="suspectedoutliers"&&(r("marker.line.outliercolor",t.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete t.marker;var u=r("hoveron");(u==="all"||u.indexOf("points")!==-1)&&r("hovertemplate"),V0.coerceSelectionMarkerOpacity(t,r)}function Dyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a{"use strict";var zyt=ba(),Fyt=Mr(),qyt=p4();function Qye(e,t,r,n,i){for(var a=i+"Layout",o=!1,s=0;s{"use strict";var SV=uo(),VI=Qa(),Byt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;u1e.exports=function(t,r){var n=t._fullLayout,i=VI.getFromId(t,r.xaxis||"x"),a=VI.getFromId(t,r.yaxis||"y"),o=[],s=r.type==="violin"?"_numViolins":"_numBoxes",l,u,c,f,h,d,v;r.orientation==="h"?(c=i,f="x",h=a,d="y",v=!!r.yperiodalignment):(c=a,f="y",h=i,d="x",v=!!r.xperiodalignment);var x=Nyt(r,d,h,n[s]),b=x[0],g=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,p,P,T=(r.boxpoints||r.points)==="all"?$f.identity:function(qt){return qt.vL.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l=L.q1&&L.q3>=L.med){var G=q("lowerfence");L.lf=G!==i0&&G<=L.q1?G:n1e(L,C,M);var N=q("upperfence");L.uf=N!==i0&&N>=L.q3?N:a1e(L,C,M);var W=q("mean");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q("sd");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=o1e(L),L.uo=s1e(L);var ae=q("notchspan");ae=ae!==i0&&ae>0?ae:l1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+L.q1,"median = "+L.med,"q3 = "+L.q3].join(` +`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=VI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Uyt(k,A),Te=k.length,Ee=Vyt(Te);for(l=0;l=0&&Ae0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(r1e),C=L[f]=_.map(i1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=n1e(L,C,M),L.uf=a1e(L,C,M),L.lo=o1e(L),L.uo=s1e(L);var ct=l1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=VI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return Hyt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,"median:"),min:Fy(t,"min:"),q1:Fy(t,"q1:"),q3:Fy(t,"q3:"),max:Fy(t,"max:"),mean:r.boxmean==="sd"||r.sizemode==="sd"?Fy(t,"mean \xB1 \u03C3:").replace("\u03C3",r.sdmultiple===1?"\u03C3":r.sdmultiple+"\u03C3"):Fy(t,"mean:"),lf:Fy(t,"lower fence:"),uf:Fy(t,"upper fence:")}},n[s]++,o):[{t:{empty:!0}}]};function Nyt(e,t,r,n){var i=t in e,a=t+"0"in e,o="d"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Byt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+"0"]:"name"in e&&(r.type==="category"||SV(e.name)&&["linear","log"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type==="date")?u=e.name:u=n;for(var c=r.type==="multicategory"?r.r2c_just_indices(u):r.d2c(u,0,e[t+"calendar"]),f=e._length,h=new Array(f),d=0;d{"use strict";var c1e=Qa(),Gyt=Mr(),jyt=Bb().getAxisGroup,f1e=["v","h"];function Wyt(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a1,E=1-a[e+"gap"],k=1-a[e+"groupgap"];for(l=0;l0;if(C==="positive"?(N=M*(_?1:.5),ae=re,W=ae=P):C==="negative"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u{"use strict";var MT=xa(),n2=Mr(),Zyt=ao(),v1e=5,Xyt=.01;function Yyt(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,"trace boxes").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation==="h"?(h=o,d=a):(h=a,d=o),p1e(l,{pos:h,val:d},f,c,i),g1e(l,{x:a,y:o},f,c),m1e(l,{pos:h,val:d},f,c)})}function p1e(e,t,r,n,i){var a=r.orientation==="h",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,g;Array.isArray(n.bdPos)?(b=n.bdPos[0],g=n.bdPos[1]):(b=n.bdPos,g=n.bdPos);var E=e.selectAll("path.box").data(r.type!=="violin"||r.box.visible?n2.identity:[]);E.enter().append("path").style("vector-effect",i?"none":"non-scaling-stroke").attr("class","box"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr("d","M0,0Z");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+g)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,p=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+g*x)+f,q=r.sizemode==="sd",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr("d","M"+X+","+T+"V"+F+"M"+V+","+L+"V"+_+(v?"H"+re+"L"+X+","+F+"L"+ae+","+_:"")+"H"+H+"V"+L+(v?"H"+ae+"L"+X+","+T+"L"+re+","+L:"")+"Z"+(d?"M"+V+","+C+"H"+N+"M"+H+","+C+"H"+W+(h===0?"":"M"+N+","+p+"V"+P+"M"+W+","+p+"V"+P):"")):MT.select(this).attr("d","M"+T+","+X+"H"+F+"M"+L+","+V+"H"+_+(v?"V"+re+"L"+F+","+X+"L"+_+","+ae:"")+"V"+H+"H"+L+(v?"V"+ae+"L"+T+","+X+"L"+L+","+re:"")+"Z"+(d?"M"+C+","+V+"V"+N+"M"+C+","+H+"V"+W+(h===0?"":"M"+p+","+N+"H"+P+"M"+p+","+W+"H"+P):""))})}function g1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll("g.points").data(l?u:[]);c.enter().append("g").attr("class","points"),c.exit().remove();var f=c.selectAll("path").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,g=x*Xyt,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;dh.lo&&(P.so=!0)}return v});f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(Zyt.translatePoints,i,a)}function m1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll("path.mean").data(r.type==="box"&&r.boxmean||r.type==="violin"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,g=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation==="h"?MT.select(this).attr("d","M"+E+","+x+"V"+b+(u==="sd"?"m0,0L"+k+","+g+"L"+E+","+x+"L"+A+","+g+"Z":"")):MT.select(this).attr("d","M"+x+","+E+"H"+b+(u==="sd"?"m0,0L"+g+","+k+"L"+x+","+E+"L"+g+","+A+"Z":""))})}y1e.exports={plot:Yyt,plotBoxAndWhiskers:p1e,plotPoints:g1e,plotBoxMean:m1e}});var jI=ye((zor,_1e)=>{"use strict";var EV=xa(),kV=va(),CV=ao();function Kyt(e,t,r){var n=r||EV.select(e).selectAll("g.trace.boxes");n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style("stroke-width",h+"px").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll("path.box");if(o.type==="candlestick")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style("opacity",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(kV.stroke,o.line.color);var c=a.selectAll("path.point");CV.pointStyle(c,o,e)}})}function Jyt(e,t,r){var n=t[0].trace,i=r.selectAll("path.point");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}_1e.exports={style:Kyt,styleOnSelect:Jyt}});var PV=ye((For,T1e)=>{"use strict";var $yt=Qa(),LV=Mr(),A_=Nc(),x1e=va(),Qyt=LV.fillText;function e1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf("boxes")!==-1&&(s=s.concat(b1e(e,t,r,n))),o.indexOf("points")!==-1&&(l=w1e(e,t,r)),n==="closest"?l?[l]:s:(l&&s.push(l),s)}function b1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type==="violin",c,f,h,d,v,x,b,g,E,k,A,L=l.bdPos,_,C,M=l.wHover,p=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!=="both"?(s.side==="positive"&&(E=function(Ce){var me=p(Ce);return A_.inbox(me,me+M,k)},_=L,C=0),s.side==="negative"&&(E=function(Ce){var me=p(Ce);return A_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=p(Ce);return A_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return A_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return A_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation==="h"?(v=t,x=r,b=P,g=E,c="y",h=o,f="x",d=a):(v=r,x=t,b=E,g=P,c="x",h=a,f="y",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+g(Ce))/2}var q=A_.getDistanceFunction(n,b,g,F);if(A_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;x1e.opacity(H)&&s.line.width?e.color=H:x1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+"0"]=h.c2p(V.pos+l.bPos-C,!0),e[c+"1"]=h.c2p(V.pos+l.bPos+_,!0),e[c+"LabelVal"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+"Spike";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode==="sd"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?["max","uf","q3","med","mean","q1","lf","min"]:W&&!N?["max","uf","q3","med","q1","lf","min"]:!W&&N?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],ae=d.range[1]{"use strict";A1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Oor,M1e)=>{"use strict";M1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s{"use strict";E1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:UI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:HI().crossTraceCalc,plot:GI().plot,style:jI().style,styleOnSelect:jI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:S1e(),selectPoints:IV(),moduleType:"trace",name:"box",basePlotModule:Jf(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}});var L1e=ye((Nor,C1e)=>{"use strict";C1e.exports=k1e()});var ET=ye((Uor,P1e)=>{"use strict";var n0=Uc(),t1t=vl(),r1t=Su(),RV=Oc().axisHoverFormat,i1t=Wo().hovertemplateAttrs,n1t=Wo().texttemplateAttrs,a1t=Kl(),Pp=no().extendFlat;P1e.exports=Pp({z:{valType:"data_array",editType:"calc"},x:Pp({},n0.x,{impliedEdits:{xtype:"array"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:"scaled"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:"scaled"}}),y:Pp({},n0.y,{impliedEdits:{ytype:"array"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:"scaled"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:Pp({},n0.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:RV("x"),yhoverformat:RV("y"),zhoverformat:RV("z",1),hovertemplate:i1t(),texttemplate:n1t({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:r1t({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:Pp({},t1t.showlegend,{dflt:!1}),zorder:n0.zorder},a1t("",{cLetter:"z",autoColorDflt:!1}))});var ZI=ye((Vor,R1e)=>{"use strict";var o1t=uo(),WI=Mr(),s1t=ba();R1e.exports=function(t,r,n,i,a,o){var s=n("z");a=a||"x",o=o||"y";var l,u;if(s===void 0||!s.length)return 0;if(WI.isArray1D(s)){l=n(a),u=n(o);var c=WI.minRowLength(l),f=WI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=I1e(a,n),u=I1e(o,n),!l1t(s))return 0;n("transpose"),r._length=null}var h=s1t.getComponentMethod("calendars","handleTraceDefaults");return h(t,r,[a,o],i),!0};function I1e(e,t){var r=t(e),n=r?t(e+"type","array"):"scaled";return n==="scaled"&&(t(e+"0"),t("d"+e)),r}function l1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a0&&(r=!0);for(var o=0;o{"use strict";var D1e=Mr();z1e.exports=function(t,r){t("texttemplate");var n=D1e.extendFlat({},r.font,{color:"auto",size:"auto"});D1e.coerceFont(t,"textfont",n)}});var DV=ye((Gor,F1e)=>{"use strict";F1e.exports=function(t,r,n){var i=n("zsmooth");i===!1&&(n("xgap"),n("ygap")),n("zhoverformat")}});var B1e=ye((jor,O1e)=>{"use strict";var q1e=Mr(),u1t=ZI(),c1t=y4(),f1t=Pg(),h1t=DV(),d1t=Uh(),v1t=ET();O1e.exports=function(t,r,n,i){function a(s,l){return q1e.coerce(t,r,v1t,s,l)}var o=u1t(t,r,a,i);if(!o){r.visible=!1;return}f1t(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hovertemplate"),c1t(a,i),h1t(t,r,a,i),a("hoverongaps"),a("connectgaps",q1e.isArray1D(r.z)&&r.zsmooth!==!1),d1t(t,r,i,a,{prefix:"",cLetter:"z"}),a("zorder")}});var zV=ye((Wor,N1e)=>{"use strict";var kT=uo();N1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]{"use strict";U1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i{"use strict";V1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a{"use strict";var CT=es(),a2=CT.ONEAVGYEAR,H1e=CT.ONEAVGMONTH,YI=CT.ONEDAY,G1e=CT.ONEHOUR,j1e=CT.ONEMIN,W1e=CT.ONESEC,Z1e=Qa().tickIncrement;K1e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(XI(u+s,u+l,i,a),XI(c+s,c+l,i,a)),h=Math.min(XI(u+o,u+s,i,a),XI(c+o,c+s,i,a)),d,v;if(f>h&&hYI){var x=d===a2?1:6,b=d===a2?"M12":"M1";return function(g,E){var k=i.c2d(g,a2,a),A=k.indexOf("-",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(LW1e?e>YI?e>a2*1.1?a2:e>H1e*1.1?H1e:YI:e>G1e?G1e:e>j1e?j1e:W1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function p1t(e,t,r,n,i,a){if(n&&e>YI){var o=Y1e(t,i,a),s=Y1e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function Y1e(e,t,r){var n=t.c2d(e,a2,r).split("-");return n[0]===""&&(n.unshift(),n[0]="-"+n[0]),n}});var UV=ye((Kor,Q1e)=>{"use strict";var BV=uo(),Vv=Mr(),J1e=ba(),H0=Qa(),g1t=c4(),$1e=zV(),m1t=FV(),y1t=qV(),_1t=OV();function x1t(e,t){var r=[],n=[],i=t.orientation==="h",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?"y":"x",s={x:"y",y:"x"}[o],l=t[o+"calendar"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size=="string",x=[],b=v?x:h,g=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf("density")!==-1,M,p,P;u.enabled&&C&&(L=L.replace(/ ?density$/,""),C=!1);var T=_==="max"||_==="min",F=T?null:0,q=$1e.count,V=m1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!=="count"&&(G=t[s],H=_==="avg",q=$1e[_]),c=X(h.start),p=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c=0&&P=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),g1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+"bins",o=e._fullLayout,s=t["_"+n+"bingroup"],l=o._histogramBinOpts[s],u=o.barmode==="overlay",c,f,h,d,v,x,b,g=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type==="date"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+"Found"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+"."+ge).set(Te[ge]))}if(t["_"+n+"autoBinFinished"])delete t["_"+n+"autoBinFinished"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;cr.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+".start").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+".start").set(q.end)}var ke="autobin"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function b1t(e,t,r,n,i){var a=e._fullLayout,o=w1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c=0;n--)s(n);else if(t==="increasing"){for(n=1;n=0;n--)e[n]+=e[n+1];r==="exclude"&&(e.push(0),e.shift())}}Q1e.exports={calc:x1t,calcAllAutoBins:NV}});var s_e=ye((Jor,o_e)=>{"use strict";var e_e=Mr(),LT=Qa(),t_e=zV(),A1t=FV(),S1t=qV(),M1t=OV(),r_e=UV().calcAllAutoBins;o_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=r_e(t,r,n,"x"),b=x[0],g=x[1],E=r_e(t,r,i,"y"),k=E[0],A=E[1],L=r._length;g.length>L&&g.splice(L,g.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],p=typeof b.size=="string",P=typeof k.size=="string",T=[],F=[],q=p?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf("density")!==-1,ae=W==="max"||W==="min",_e=ae?null:0,Me=t_e.count,ke=A1t[N],ge=!1,ie=[],Te=[],Ee="z"in r?r.z:"marker"in r&&Array.isArray(r.marker.color)?r.marker.color:"";Ee&&W!=="count"&&(ge=W==="avg",Me=t_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f=0&&d=0&&v{"use strict";var Im=Mr(),l_e=es().BADNUM,u_e=Rg();c_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=u_e(t,r,i,l).vals,u=u_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),g=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=g.length;for(v=0;v{"use strict";var E1t=uo(),k1t=Mr(),JI=es().BADNUM;f_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(g){if(E1t(g))return+g}if(r&&r.transpose){for(a=0,u=0;u{"use strict";var C1t=Mr(),h_e=.01,L1t=[[-1,0],[1,0],[0,-1],[0,1]];function P1t(e){return .5-.25*Math.min(1,e*.5)}v_e.exports=function(t,r){var n=1,i;for(d_e(t,r),i=0;ih_e;i++)n=d_e(t,r,P1t(n));return n>h_e&&C1t.log("interp2d didn't converge quickly",n),t};function d_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;sx&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var e8=ye((tsr,p_e)=>{"use strict";var I1t=Mr().maxRowLength;p_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=I1t(t),u,c,f,h,d,v,x,b;for(c=0;c=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw"findEmpties iterated with no new neighbors";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(g,E){return E[2]-g[2]})}});var VV=ye((rsr,y_e)=>{"use strict";var g_e=ba(),m_e=Mr().isArrayOrTypedArray;y_e.exports=function(t,r,n,i,a,o){var s=[],l=g_e.traceIs(t,"contour"),u=g_e.traceIs(t,"histogram"),c,f,h,d=m_e(r)&&r.length>1;if(d&&!u&&o.type!=="category"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type==="log"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type==="log"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h{"use strict";var __e=ba(),HV=Mr(),t8=Qa(),x_e=Rg(),R1t=s_e(),D1t=zv(),z1t=KI(),F1t=$I(),q1t=QI(),O1t=e8(),r8=VV(),GV=es().BADNUM;w_e.exports=function(t,r){var n=t8.getFromId(t,r.xaxis||"x"),i=t8.getFromId(t,r.yaxis||"y"),a=__e.traceIs(r,"contour"),o=__e.traceIs(r,"histogram"),s=a?"best":r.zsmooth,l,u,c,f,h,d,v,x,b,g,E;if(n._minDtick=0,i._minDtick=0,o)E=R1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(z1t(r,n,i,"x","y",["z"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,"x"):[],x=r.y?i.makeCalcdata(r,"y"):[],l=x_e(r,n,"x",f).vals,h=x_e(r,i,"y",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=F1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=B1t(l,h,b),o||(l=b_e(l),h=b_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=O1t(b),q1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: "fast": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(g=0;gH)return!1}return!0}r._islinear=!1,n.type==="log"||i.type==="log"?s==="fast"&&A("log axis found"):L(l)?L(h)?r._islinear=!0:s==="fast"&&A("y scale is not linear"):s==="fast"&&A("x scale is not linear");var _=HV.maxRowLength(b),C=r.xtype==="scaled"?"":l,M=r8(r,C,u,c,_,n),p=r.ytype==="scaled"?"":h,P=r8(r,p,d,v,b.length,i);r._extremes[n._id]=t8.findExtremes(n,M),r._extremes[i._id]=t8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),p&&p.length===P.length-1&&(T.yCenter=p),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||D1t(t,r,{vals:b,cLetter:"z"}),a&&r.contours&&r.contours.coloring==="heatmap"){var F={type:r.type==="contour"?"heatmap":"histogram2d",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=r8(F,C,u,c,_,n),T.yfill=r8(F,p,d,v,b.length,i)}return[T]};function b_e(e){for(var t=[],r=e.length,n=0;n{"use strict";n8.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]];n8.STYLE=n8.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")});var jV=ye((asr,S_e)=>{"use strict";var T_e=a8(),N1t=ao(),A_e=Mr(),PT=null;function U1t(){if(PT!==null)return PT;PT=!1;var e=A_e.isSafari()||A_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(T_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r=="function")PT=t.some(function(o){return r.apply(null,o)});else{var n=N1t.tester.append("image").attr("style",T_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}S_e.exports=U1t});var o8=ye((osr,D_e)=>{"use strict";var M_e=xa(),V1t=id(),H1t=ba(),G1t=ao(),j1t=Qa(),G0=Mr(),E_e=Ll(),W1t=JP(),Z1t=va(),X1t=Mu().extractOpts,Y1t=Mu().makeColorScaleFuncFromTrace,K1t=Zp(),J1t=Nh(),WV=J1t.LINE_SPACING,$1t=jV(),Q1t=a8().STYLE,I_e="heatmap-label";function R_e(e){return e.selectAll("g."+I_e)}function k_e(e){R_e(e).remove()}D_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,"hm").each(function(o){var s=M_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,g=H1t.traceIs(u,"contour"),E=g?"best":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,p,P,T,F,q,V;for(F=0;C===void 0&&F0;)M=i.c2p(d[F]),F--;for(M0;)T=a.c2p(v[F]),F--;T=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll("image").data([]);re.exit().remove(),k_e(s);return}var ae,_e;H==="fast"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement("canvas");Me.width=ae,Me.height=_e;var ke=Me.getContext("2d",{willReadFrequently:!0}),ge=Y1t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H==="fast"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!=="default"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H==="smooth"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?L_e:C_e,St=b?L_e:C_e,Et,dt,Ht;for(F=0;Far||ar>a._length))for(q=Se;qai||ai>i._length)){var jr=W1t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z="",jr.zLabel=""):(jr.z=ri,jr.zLabel=j1t.tickText(Ve,ri,"hover").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=""),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split("
"),Ni=Wi.length,_n=0;for(V=0;V{"use strict";z_e.exports={min:"zmin",max:"zmax"}});var s8=ye((lsr,F_e)=>{"use strict";var e_t=xa();F_e.exports=function(t){e_t.select(t).selectAll(".hm image").style("opacity",function(r){return r.trace.opacity})}});var u8=ye((usr,O_e)=>{"use strict";var q_e=Nc(),_4=Mr(),l8=_4.isArrayOrTypedArray,t_t=Qa(),r_t=Mu().extractOpts;O_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,g=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(q_e.inbox(r-f[0],r-f[f.length-1],0)>0||q_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M{"use strict";B_e.exports={attributes:ET(),supplyDefaults:B1e(),calc:i8(),plot:o8(),colorbar:S_(),style:s8(),hoverPoints:u8(),moduleType:"trace",name:"heatmap",basePlotModule:Jf(),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}});var V_e=ye((fsr,U_e)=>{"use strict";U_e.exports=N_e()});var ZV=ye((hsr,H_e)=>{"use strict";H_e.exports=function(t,r){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}});var j_e=ye((dsr,G_e)=>{"use strict";G_e.exports={eventDataKeys:["binNumber"]}});var c8=ye((vsr,X_e)=>{"use strict";var Ip=Lm(),W_e=Oc().axisHoverFormat,i_t=Wo().hovertemplateAttrs,n_t=Wo().texttemplateAttrs,XV=Su(),Z_e=ZV(),a_t=j_e(),YV=no().extendFlat;X_e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:W_e("x"),yhoverformat:W_e("y"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:Z_e("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:Z_e("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i_t({},{keys:a_t.eventDataKeys}),texttemplate:n_t({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:"plot",colorEditType:"style"}),outsidetextfont:XV({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextfont:XV({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var $_e=ye((psr,J_e)=>{"use strict";var Y_e=ba(),x4=Mr(),K_e=va(),o_t=r0().handleText,s_t=zI(),l_t=c8();J_e.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,l_t,E,k)}var o=a("x"),s=a("y"),l=a("cumulative.enabled");l&&(a("cumulative.direction"),a("cumulative.currentbin")),a("text");var u=a("textposition");o_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat");var c=a("orientation",s&&!o?"h":"v"),f=c==="v"?"x":"y",h=c==="v"?"y":"x",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=Y_e.getComponentMethod("calendars","handleTraceDefaults");v(t,r,["x","y"],i);var x=r[h];x&&a("histfunc"),a("histnorm"),a("autobin"+f),s_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,g=Y_e.getComponentMethod("errorbars","supplyDefaults");g(t,r,b||K_e.defaultLine,{axis:"y"}),g(t,r,b||K_e.defaultLine,{axis:"x",inherit:"y"}),a("zorder")}});var h8=ye((gsr,txe)=>{"use strict";var b4=Mr(),u_t=af(),f8=ba().traceIs,c_t=Hb(),f_t=r0().validateCornerradius,Q_e=b4.nestedProperty,KV=Bb().getAxisGroup,exe=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],h_t=["x","y"];txe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation==="v"?"x":"y"}function b(H,X){var G=u_t.getFromTrace({_fullLayout:r},H,X);return G.type}function g(H,X,G){var N=H.uid+"__"+G;X||(X=N);var W=b(H,G),re=H[G+"calendar"]||"",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn(["Attempted to group the bins of trace",H.index,"set on a","type:"+W,"axis","with bins on","type:"+ae.axType,"axis."].join(" ")),re!==ae.calendar&&b4.warn(["Attempted to group the bins of trace",H.index,"set with a",re,"calendar","with bins",ae.calendar?"on a "+ae.calendar+" calendar":"w/o a set calendar"].join(" ")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+"calendar"]||""}),H["_"+G+"bingroup"]=X}for(f=0;f{"use strict";var d_t=TT().hoverPoints,v_t=Qa().hoverLabelText;rxe.exports=function(t,r,n,i,a){var o=d_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation==="h"?"y":"x";t[u+"Label"]=v_t(t[u+"a"],[s.ph0,s.ph1],l[u+"hoverformat"])}return o}}});var JV=ye((ysr,nxe)=>{"use strict";nxe.exports=function(t,r,n,i,a){if(t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"zLabelVal"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l{"use strict";axe.exports={attributes:c8(),layoutAttributes:DI(),supplyDefaults:$_e(),crossTraceDefaults:h8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:"barlayer",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:ixe(),selectPoints:AT(),eventData:JV(),moduleType:"trace",name:"histogram",basePlotModule:Jf(),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}});var lxe=ye((xsr,sxe)=>{"use strict";sxe.exports=oxe()});var v8=ye((bsr,cxe)=>{"use strict";var Vg=c8(),uxe=ZV(),d8=ET(),p_t=vl(),$V=Oc().axisHoverFormat,g_t=Wo().hovertemplateAttrs,m_t=Wo().texttemplateAttrs,y_t=Kl(),w4=no().extendFlat;cxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:uxe("x"),nbinsy:Vg.nbinsy,ybins:uxe("y"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:d8.xgap,ygap:d8.ygap,zsmooth:d8.zsmooth,xhoverformat:$V("x"),yhoverformat:$V("y"),zhoverformat:$V("z",1),hovertemplate:g_t({},{keys:"z"}),texttemplate:m_t({arrayOk:!1,editType:"plot"},{keys:"z"}),textfont:d8.textfont,showlegend:w4({},p_t.showlegend,{dflt:!1})},y_t("",{cLetter:"z",autoColorDflt:!1}))});var QV=ye((wsr,hxe)=>{"use strict";var __t=ba(),fxe=Mr();hxe.exports=function(t,r,n,i){var a=n("x"),o=n("y"),s=fxe.minRowLength(a),l=fxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=__t.getComponentMethod("calendars","handleTraceDefaults");u(t,r,["x","y"],i);var c=n("z")||n("marker.color");c&&n("histfunc"),n("histnorm"),n("autobinx"),n("autobiny")}});var vxe=ye((Tsr,dxe)=>{"use strict";var x_t=Mr(),b_t=QV(),w_t=DV(),T_t=Uh(),A_t=y4(),S_t=v8();dxe.exports=function(t,r,n,i){function a(o,s){return x_t.coerce(t,r,S_t,o,s)}b_t(t,r,a,i),r.visible!==!1&&(w_t(t,r,a,i),T_t(t,r,i,a,{prefix:"",cLetter:"z"}),a("hovertemplate"),A_t(a,i),a("xhoverformat"),a("yhoverformat"))}});var mxe=ye((Asr,gxe)=>{"use strict";var M_t=u8(),pxe=Qa().hoverLabelText;gxe.exports=function(t,r,n,i,a){var o=M_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=pxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=pxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var _xe=ye((Ssr,yxe)=>{"use strict";yxe.exports={attributes:v8(),supplyDefaults:vxe(),crossTraceDefaults:h8(),calc:i8(),plot:o8(),layerName:"heatmaplayer",colorbar:S_(),style:s8(),hoverPoints:mxe(),eventData:JV(),moduleType:"trace",name:"histogram2d",basePlotModule:Jf(),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}});var bxe=ye((Msr,xxe)=>{"use strict";xxe.exports=_xe()});var p8=ye((Esr,wxe)=>{"use strict";wxe.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var T4=ye((ksr,Mxe)=>{"use strict";var Gh=ET(),g8=Uc(),Axe=Oc(),eH=Axe.axisHoverFormat,E_t=Axe.descriptionOnlyNumbers,k_t=Kl(),C_t=Ed().dash,L_t=Su(),IT=no().extendFlat,Sxe=p8(),P_t=Sxe.COMPARISON_OPS2,I_t=Sxe.INTERVAL_OPS,Txe=g8.line;Mxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:g8.xperiod0,yperiod0:g8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH("x"),yhoverformat:eH("y"),zhoverformat:eH("z",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:L_t({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:E_t("contour label")},operation:{valType:"enumerated",values:[].concat(P_t).concat(I_t),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:IT({},Txe.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:C_t,smoothing:IT({},Txe.smoothing,{}),editType:"plot"},zorder:g8.zorder},k_t("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))});var rH=ye((Csr,kxe)=>{"use strict";var Hv=v8(),qy=T4(),R_t=Kl(),tH=Oc().axisHoverFormat,Exe=no().extendFlat;kxe.exports=Exe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Exe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:"plot"},xhoverformat:tH("x"),yhoverformat:tH("y"),zhoverformat:tH("z",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},R_t("",{cLetter:"z",editTypeOverride:"calc"}))});var m8=ye((Lsr,Cxe)=>{"use strict";Cxe.exports=function(t,r,n,i){var a=i("contours.start"),o=i("contours.end"),s=a===!1||o===!1,l=n("contours.size"),u;s?u=r.autocontour=!0:u=n("autocontour",!1),(u||!l)&&n("ncontours")}});var iH=ye((Psr,Lxe)=>{"use strict";var D_t=Mr();Lxe.exports=function(t,r,n,i){i||(i={});var a=t("contours.showlabels");if(a){var o=r.font;D_t.coerceFont(t,"contours.labelfont",o,{overrideDflt:{color:n}}),t("contours.labelformat")}i.hasHover!==!1&&t("zhoverformat")}});var y8=ye((Isr,Pxe)=>{"use strict";var z_t=Uh(),F_t=iH();Pxe.exports=function(t,r,n,i,a){var o=n("contours.coloring"),s,l="";o==="fill"&&(s=n("contours.showlines")),s!==!1&&(o!=="lines"&&(l=n("line.color","#000")),n("line.width",.5),n("line.dash")),o!=="none"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,z_t(t,r,i,n,{prefix:"",cLetter:"z"})),n("line.smoothing"),F_t(n,i,l,a)}});var zxe=ye((Rsr,Dxe)=>{"use strict";var Ixe=Mr(),q_t=QV(),O_t=m8(),B_t=y8(),N_t=y4(),Rxe=rH();Dxe.exports=function(t,r,n,i){function a(s,l){return Ixe.coerce(t,r,Rxe,s,l)}function o(s){return Ixe.coerce2(t,r,Rxe,s)}q_t(t,r,a,i),r.visible!==!1&&(O_t(t,r,a,o),B_t(t,r,a,i),a("xhoverformat"),a("yhoverformat"),a("hovertemplate"),r.contours&&r.contours.coloring==="heatmap"&&N_t(a,i))}});var oH=ye((Dsr,qxe)=>{"use strict";var aH=Qa(),nH=Mr();qxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Fxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!=="constraint"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Fxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Fxe(e,t,r){var n={type:"linear",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((zsr,Oxe)=>{"use strict";Oxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((Fsr,Nxe)=>{"use strict";var Bxe=Mu(),U_t=i8(),V_t=oH(),H_t=A4();Nxe.exports=function(t,r){var n=U_t(t,r),i=n[0].z;V_t(r,i);var a=r.contours,o=Bxe.extractOpts(r),s;if(a.coloring==="heatmap"&&o.auto&&r.autocontour===!1){var l=a.start,u=H_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Bxe.calc(t,r,{vals:s,cLetter:"z"}),n}});var S4=ye((qsr,Uxe)=>{"use strict";Uxe.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}});var lH=ye((Osr,Vxe)=>{"use strict";var _8=S4();Vxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;se?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Bsr,jxe)=>{"use strict";var x8=Mr(),RT=S4();jxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){x8.log("Found bad marching index:",o,t,e.level);break}l.push(Gxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(","),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&x8.log("Infinite loop in contour?");var b=M4(l[0],l[l.length-1],n,i),g=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,p,P,T,F,q,V,H;for(d=1;d=A;d--)if(L=k[d],L=A&&L+k[_]F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Gxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var Yxe=ye((Nsr,Xxe)=>{"use strict";var cH=p8(),Z_t=uo();Xxe.exports={"[]":Wxe("[]"),"][":Wxe("]["),">":fH(">"),"<":fH("<"),"=":fH("=")};function Zxe(e,t){var r=Array.isArray(t),n;function i(a){return Z_t(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Wxe(e){return function(t){t=Zxe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=Zxe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Usr,Jxe)=>{"use strict";var Kxe=Mr(),X_t=Yxe(),Y_t=A4();Jxe.exports=function(t,r,n){for(var i=t.type==="constraint"?X_t[t._operation](t.value):t,a=i.size,o=[],s=Y_t(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c1e3){Kxe.warn("Too many contours, clipping at 1000",t);break}return o}});var dH=ye((Vsr,Qxe)=>{"use strict";var DT=Mr();Qxe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case"=":case"<":return e;case">":for(e.length!==1&&DT.warn("Contour data invalid for the specified inequality operation."),n=e[0],r=0;r{"use strict";ebe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case"levels":var a=Math.min(n[0][0],n[0][1]);for(i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i":f>u&&(r.prefixBoundary=!0);break;case"<":(fu||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case"][":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),hu&&(r.prefixBoundary=!0);break}break}}});var b8=ye(Gv=>{"use strict";var k4=xa(),Id=Mr(),Oy=ao(),K_t=Mu(),ibe=Ll(),tbe=Qa(),rbe=ym(),J_t=o8(),nbe=lH(),abe=uH(),$_t=hH(),Q_t=dH(),obe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,"contour").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=$_t(d,r,u),x=Id.ensureSingle(l,"g","heatmapcoloring"),b=[];d.coloring==="heatmap"&&(b=[s]),J_t(t,r,b,x),nbe(v),abe(v);var g=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[g,A],[E,A],[E,k],[g,k]],_=v;d.type==="constraint"&&(_=Q_t(v,d._operation)),ext(l,L,d),txt(l,_,L,d),rxt(l,v,t,u,d),nxt(l,r,t,u,L)})};function ext(e,t,r){var n=Id.ensureSingle(e,"g","contourbg"),i=n.selectAll("path").data(r.coloring==="fill"?[0]:[]);i.enter().append("path"),i.exit().remove(),i.attr("d","M"+t.join("L")+"Z").style("stroke","none")}function txt(e,t,r,n){var i=n.coloring==="fill"||n.type==="constraint"&&n._operation!=="=",a="M"+r.join("L")+"Z";i&&obe(t,n);var o=Id.ensureSingle(e,"g","contourfill"),s=o.selectAll("path").data(i?t:[]);s.enter().append("path"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:"")+sbe(l,r);u?k4.select(this).attr("d",u).style("stroke","none"):k4.select(this).remove()})}function sbe(e,t){var r="",n=0,i=e.edgepaths.map(function(g,E){return E}),a=!0,o,s,l,u,c,f;function h(g){return Math.abs(g[1]-t[0][1])<.01}function d(g){return Math.abs(g[1]-t[2][1])<.01}function v(g){return Math.abs(g[0]-t[0][0])<.01}function x(g){return Math.abs(g[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,"L"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log("Missing end?",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log("endpt to newendpt is not vert. or horz.",o,s,b)}if(o=s,u>=0)break;r+="L"+s}if(u===e.edgepaths.length){Id.log("unclosed perimeter path");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+="Z")}for(n=0;nRm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function ixt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,g=s+c,E=0;E{"use strict";var oxt=xa(),pH=Mu(),sxt=A4();lbe.exports=function(t){var r=t.contours,n=r.start,i=sxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring==="lines"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring==="heatmap"){for(v=0;v=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;vx&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]{"use strict";var w8=xa(),ube=ao(),lxt=s8(),uxt=gH();cbe.exports=function(t){var r=w8.select(t).selectAll("g.contour");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=w8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type==="constraint",f=!c&&o.coloring==="lines",h=!c&&o.coloring==="fill",d=f||h?uxt(a):null;i.selectAll("g.contourlevel").each(function(b){w8.select(this).selectAll("path").call(ube.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll("g.contourlabels text").each(function(b){ube.font(w8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll("g.contourfill path").style("fill",a.fillcolor);else if(h){var x;i.selectAll("g.contourfill path").style("fill",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll("g.contourbg path").style("fill",d(x-.5*l))}}),lxt(t)}});var A8=ye((Zsr,hbe)=>{"use strict";var fbe=Mu(),cxt=gH(),fxt=A4();function hxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=cxt(t,{isColorbar:!0});if(o==="heatmap"){var l=fbe.extractOpts(t);r._fillgradient=l.reversescale?fbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o==="fill"&&(r._fillcolor=s);r._line={color:o==="lines"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:fxt(n),size:a}}hbe.exports={min:"zmin",max:"zmax",calc:hxt}});var mH=ye((Xsr,dbe)=>{"use strict";var S8=va(),dxt=u8();dbe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=dxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type==="constraint"&&(l.fillcolor&&S8.opacity(l.fillcolor)?s.color=S8.addOpacity(l.fillcolor,1):l.contours.showlines&&S8.opacity(l.line.color)&&(s.color=S8.addOpacity(l.line.color,1)))}),o}});var pbe=ye((Ysr,vbe)=>{"use strict";vbe.exports={attributes:rH(),supplyDefaults:zxe(),crossTraceDefaults:h8(),calc:sH(),plot:b8().plot,layerName:"contourlayer",style:T8(),colorbar:A8(),hoverPoints:mH(),moduleType:"trace",name:"histogram2dcontour",basePlotModule:Jf(),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}});var mbe=ye((Ksr,gbe)=>{"use strict";gbe.exports=pbe()});var yH=ye((Jsr,Tbe)=>{"use strict";var ybe=uo(),vxt=iH(),bbe=va(),_be=bbe.addOpacity,pxt=bbe.opacity,wbe=p8(),xbe=Mr().isArrayOrTypedArray,gxt=wbe.CONSTRAINT_REDUCTION,mxt=wbe.COMPARISON_OPS2;Tbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n("contours.operation");if(s._operation=gxt[f],yxt(n,s),f==="="?l=s.showlines=!0:(l=n("contours.showlines"),c=n("fillcolor",_be((t.line||{}).color||a,.5))),l){var h=c&&pxt(c)?_be(r.fillcolor,1):a;u=n("line.color",h),n("line.width",2),n("line.dash")}n("line.smoothing"),vxt(n,i,u,o)};function yxt(e,t){var r;mxt.indexOf(t.operation)===-1?(e("contours.value",[0,1]),xbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:ybe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e("contours.value",0),ybe(t.value)||(xbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Mbe=ye(($sr,Sbe)=>{"use strict";var _H=Mr(),_xt=ZI(),xxt=Pg(),bxt=yH(),wxt=m8(),Txt=y8(),Axt=y4(),Abe=T4();Sbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Abe,u,c)}function o(u){return _H.coerce2(t,r,Abe,u)}var s=_xt(t,r,a,i);if(!s){r.visible=!1;return}xxt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hoverongaps"),a("hovertemplate");var l=a("contours.type")==="constraint";a("connectgaps",_H.isArray1D(r.z)),l?bxt(t,r,a,i,n):(wxt(t,r,a,o),Txt(t,r,a,i)),r.contours&&r.contours.coloring==="heatmap"&&Axt(a,i),a("zorder")}});var kbe=ye((Qsr,Ebe)=>{"use strict";Ebe.exports={attributes:T4(),supplyDefaults:Mbe(),calc:sH(),plot:b8().plot,style:T8(),colorbar:A8(),hoverPoints:mH(),moduleType:"trace",name:"contour",basePlotModule:Jf(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}});var Lbe=ye((elr,Cbe)=>{"use strict";Cbe.exports=kbe()});var xH=ye((tlr,Ibe)=>{"use strict";var Sxt=Wo().hovertemplateAttrs,Mxt=Wo().texttemplateAttrs,Ext=Eg(),a0=Uc(),kxt=vl(),Pbe=Kl(),Cxt=Ed().dash,M_=no().extendFlat,j0=a0.marker,C4=a0.line,Lxt=j0.line;Ibe.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:M_({},a0.mode,{dflt:"markers"}),text:M_({},a0.text,{}),texttemplate:Mxt({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:M_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Cxt,backoff:C4.backoff,shape:M_({},C4.shape,{values:["linear","spline"]}),smoothing:C4.smoothing,editType:"calc"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:M_({},a0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:Ext(),marker:M_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:M_({width:Lxt.width,editType:"calc"},Pbe("marker.line")),gradient:j0.gradient,editType:"calc"},Pbe("marker")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:M_({},kxt.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:a0.hoveron,hovertemplate:Sxt()}});var Fbe=ye((rlr,zbe)=>{"use strict";var Rbe=Mr(),Pxt=Sm(),zT=lu(),Ixt=$p(),Rxt=R0(),Dbe=J3(),Dxt=D0(),zxt=Ig(),Fxt=xH();zbe.exports=function(t,r,n,i){function a(h,d){return Rbe.coerce(t,r,Fxt,h,d)}var o=a("a"),s=a("b"),l=a("c"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a("sum"),a("text"),a("hovertext"),r.hoveron!=="fills"&&a("hovertemplate");var c=u{"use strict";var bH=Qa();qbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Vbe=ye((nlr,Ube)=>{"use strict";var wH=uo(),qxt=z0(),Oxt=km(),Bxt=F0(),Nxt=q0().calcMarkerSize,Bbe=["a","b","c"],Nbe={a:["b","c"],b:["a","c"],c:["a","b"]};Ube.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l{"use strict";var Uxt=iT();Hbe.exports=function(t,r,n){var i=r.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select("g.scatterlayer"),u=0;u{"use strict";var Vxt=sT();jbe.exports=function(t,r,n,i){var a=Vxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,g=[];function E(A,L){g.push(A._hovertitle+": "+L)}if(!h.hovertemplate){var k=b.split("+");k.indexOf("all")!==-1&&(k=["a","b","c"]),k.indexOf("a")!==-1&&E(d.aaxis,o.aLabel),k.indexOf("b")!==-1&&E(d.baxis,o.bLabel),k.indexOf("c")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=g.join("
"),o.hovertemplate=h.hovertemplate,a}});var Xbe=ye((slr,Zbe)=>{"use strict";Zbe.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var a2e=ye((llr,n2e)=>{"use strict";var e2e=xa(),Hxt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,M8=By._,qT=va(),E8=ao(),L4=ym(),AH=no().extendFlat,Gxt=Xu(),E_=Qa(),Ybe=gv(),Kbe=Nc(),t2e=Sg(),Jbe=t2e.freeMode,jxt=t2e.rectMode,SH=Mb(),Wxt=wf().prepSelect,Zxt=wf().selectOnClick,Xxt=wf().clearOutline,Yxt=wf().clearSelectionsCache,r2e=ad();function i2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}n2e.exports=i2e;var zm=i2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aFT*u?(g=u,b=g*FT):(b=l,g=b/FT),E=o*b/l,k=s*g/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-g/2,r.x0=v,r.y0=x,r.w=b,r.h=g,r.sum=c,r.xaxis={type:"linear",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:"x"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:"linear",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:"y"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:"free",position:0,_id:"y",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:"bottom",domain:r.xaxis.domain,anchor:"free",position:0,_id:"x",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:"free",position:0,_id:"y",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M="M"+v+","+(x+g)+"h"+b+"l-"+b/2+",-"+g+"Z";r.clipDef.select("path").attr("d",M),r.layers.plotbg.select("path").attr("d",M);var p="M0,"+g+"h"+b+"l-"+b/2+",-"+g+"Z";r.clipDefRelative.select("path").attr("d",p);var P=Dm(v,x);r.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),r.clipDefRelative.select("path").attr("transform",null);var T=Dm(v-_._offset,x+g);r.layers.baxis.attr("transform",T),r.layers.bgrid.attr("transform",T);var F=Dm(v+b/2,x)+"rotate(30)"+Dm(0,-L._offset);r.layers.aaxis.attr("transform",F),r.layers.agrid.attr("transform",F);var q=Dm(v+b/2,x)+"rotate(-30)"+Dm(0,-C._offset);r.layers.caxis.attr("transform",q),r.layers.cgrid.attr("transform",q),r.drawAxes(!0),r.layers.aline.select("path").attr("d",L.showline?"M"+v+","+(x+g)+"l"+b/2+",-"+g:"M0,0").call(qT.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),r.layers.bline.select("path").attr("d",_.showline?"M"+v+","+(x+g)+"h"+b:"M0,0").call(qT.stroke,_.linecolor||"#000").style("stroke-width",(_.linewidth||0)+"px"),r.layers.cline.select("path").attr("d",C.showline?"M"+(v+b/2)+","+x+"l"+b/2+","+g:"M0,0").call(qT.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),r.graphDiv._context.staticPlot||r.initInteractions(),E8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks==="outside"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks==="outside"?o.ticklen:0)+3;i["a-title"]=SH.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title",placeholder:M8(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),i["b-title"]=SH.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title",placeholder:M8(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,"text-anchor":"middle"}}),i["c-title"]=SH.draw(r,"c"+n,{propContainer:s,propName:t.id+".caxis.title",placeholder:M8(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,"text-anchor":"middle"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+"tickLayout",u=Kxt(e);t[l]!==u&&(o.selectAll("."+a+"tick").remove(),t[l]=u),e.setScale();var c=E_.calcTicks(e),f=E_.clipEnds(e,c),h=E_.makeTransTickFn(e),d=E_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,g=t.w,E=t.h,k=i==="b"?"M0,"+x+"l"+Math.sin(v)*b+","+Math.cos(v)*b:"M"+x+",0l"+Math.cos(v)*b+","+-Math.sin(v)*b,A={a:"M0,0l"+E+",-"+g/2,b:"M0,0l-"+g/2+",-"+E,c:"M0,0l-"+E+","+g/2}[i];E_.drawTicks(r,e,{vals:e.ticks==="inside"?f:c,layer:o,path:k,transFn:h,crisp:!1}),E_.drawGrid(r,e,{vals:f,layer:t.layers[i+"grid"],path:A,transFn:h,crisp:!1}),E_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:E_.makeLabelFns(e,0,s)})};function Kxt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=r2e.MINZOOM/2+.87,Jxt="m-0.87,.5h"+fd+"v3h-"+(fd+5.2)+"l"+(fd/2+2.6)+",-"+(fd*.87+4.5)+"l2.6,1.5l-"+fd/2+","+fd*.87+"Z",$xt="m0.87,.5h-"+fd+"v3h"+(fd+5.2)+"l-"+(fd/2+2.6)+",-"+(fd*.87+4.5)+"l-2.6,1.5l"+fd/2+","+fd*.87+"Z",Qxt="m0,1l"+fd/2+","+fd*.87+"l2.6,-1.5l-"+(fd/2+2.6)+",-"+(fd*.87+4.5)+"l-"+(fd/2+2.6)+","+(fd*.87+4.5)+"l2.6,1.5l"+fd/2+",-"+fd*.87+"Z",ebt="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",$be=!0;zm.clearOutline=function(){Yxt(this.dragOptions),Xxt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select("path").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;Jbe(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V==="zoom"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=g,e.dragOptions.doneFn=C,E(T,F,q)):V==="pan"?(e.dragOptions.moveFn=p,e.dragOptions.clickFn=g,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(jxt(V)||Jbe(V))&&Wxt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+".aaxis.min"]=T.a,F[e.id+".baxis.min"]=T.b,F[e.id+".caxis.min"]=T.c,F}function g(T,F){var q=r._fullLayout.clickmode;Qbe(r),T===2&&(r.emit("plotly_doubleclick",null),TH.call("_guiRelayout",r,b({a:0,b:0,c:0}))),q.indexOf("select")>-1&&T===1&&Zxt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf("event")>-1&&Kbe.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=Hxt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h="M0,"+e.h+"L"+e.w/2+", 0L"+e.w+","+e.h+"Z",d=!1,v=n.append("path").attr("class","zoombox").attr("transform",Dm(e.x0,e.y0)).style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),x=n.append("path").attr("class","zoombox-corners").attr("transform",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),x.transition().style("opacity",1).duration(200),d=!0),r.emit("plotly_relayouting",b(c))}function C(){Qbe(r),c!==l&&(TH.call("_guiRelayout",r,b(c)),$be&&r.data&&r._context.showTips&&(By.notifier(M8(r,"Double-click to zoom back out"),"long"),$be=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function p(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",G);var N=Dm(-T,-F);e.clipDefRelative.select("path").attr("transform",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(".scatterlayer").selectAll(".trace").call(E8.hideOutsideRangePoints,e),r.emit("plotly_relayouting",b(c))}function P(){TH.call("_guiRelayout",r,b(c))}t.onmousemove=function(T){Kbe.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||Ybe.unhover(r,T)},Ybe.init(this.dragOptions)};function Qbe(e){e2e.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}});var kH=ye((ulr,o2e)=>{"use strict";var tbt=dh(),rbt=Ju().attributes,ql=Cd(),ibt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:ql.title.text,font:ql.title.font},color:ql.color,tickmode:ql.minor.tickmode,nticks:MH({},ql.nticks,{dflt:6,min:1}),tick0:ql.tick0,dtick:ql.dtick,tickvals:ql.tickvals,ticktext:ql.ticktext,ticks:ql.ticks,ticklen:ql.ticklen,tickwidth:ql.tickwidth,tickcolor:ql.tickcolor,ticklabelstep:ql.ticklabelstep,showticklabels:ql.showticklabels,labelalias:ql.labelalias,showtickprefix:ql.showtickprefix,tickprefix:ql.tickprefix,showticksuffix:ql.showticksuffix,ticksuffix:ql.ticksuffix,showexponent:ql.showexponent,exponentformat:ql.exponentformat,minexponent:ql.minexponent,separatethousands:ql.separatethousands,tickfont:ql.tickfont,tickangle:ql.tickangle,tickformat:ql.tickformat,tickformatstops:ql.tickformatstops,hoverformat:ql.hoverformat,showline:MH({},ql.showline,{dflt:!0}),linecolor:ql.linecolor,linewidth:ql.linewidth,showgrid:MH({},ql.showgrid,{dflt:!0}),gridcolor:ql.gridcolor,gridwidth:ql.gridwidth,griddash:ql.griddash,layer:ql.layer,min:{valType:"number",dflt:0,min:0}},k8=o2e.exports=ibt({domain:rbt({name:"ternary"}),bgcolor:{valType:"color",dflt:tbt.background},sum:{valType:"number",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},"plot","from-root");k8.uirevision={valType:"any",editType:"none"};k8.aaxis.uirevision=k8.baxis.uirevision=k8.caxis.uirevision={valType:"any",editType:"none"}});var k_=ye((clr,s2e)=>{"use strict";var nbt=Mr(),abt=Vs(),obt=Ju().defaults;s2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||"x",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\d+$/,""),h,d;function v(E,k){return nbt.coerce(h,d,o,E,k)}for(var x=0;x{"use strict";var sbt=va(),lbt=Vs(),C8=Mr(),ubt=k_(),cbt=e_(),fbt=t_(),hbt=T3(),dbt=xb(),vbt=YM(),u2e=kH(),l2e=["aaxis","baxis","caxis"];c2e.exports=function(t,r,n){ubt(t,r,n,{type:"ternary",attributes:u2e,handleDefaults:pbt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function pbt(e,t,r,n){var i=r("bgcolor"),a=r("sum");n.bgColor=sbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function gbt(e,t,r,n){var i=u2e[t._name];function a(d,v){return C8.coerce(e,t,i,d,v)}a("uirevision",n.uirevision),t.type="linear";var o=a("color"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c="Component "+u,f=a("title.text",c);t._hovertitle=f===c?f:u,C8.coerceFont(a,"title.font",r.font,{overrideDflt:{size:C8.bigFont(r.font.size),color:s}}),a("min"),dbt(e,t,a,"linear"),fbt(e,t,a,"linear"),cbt(e,t,a,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),hbt(e,t,a,{outerTicks:!0});var h=a("showticklabels");h&&(C8.coerceFont(a,"tickfont",r.font,{overrideDflt:{color:s}}),a("tickangle"),a("tickformat")),vbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a("hoverformat"),a("layer")}});var h2e=ye(W0=>{"use strict";var mbt=a2e(),ybt=kd().getSubplotCalcData,_bt=Mr().counterRegex,OT="ternary";W0.name=OT;var xbt=W0.attr="subplot";W0.idRoot=OT;W0.idRegex=W0.attrRegex=_bt(OT);var bbt=W0.attributes={};bbt[xbt]={valType:"subplotid",dflt:"ternary",editType:"calc"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=f2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a{"use strict";d2e.exports={attributes:xH(),supplyDefaults:Fbe(),colorbar:Kd(),formatLabels:Obe(),calc:Vbe(),plot:Gbe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Wbe(),selectPoints:lT(),eventData:Xbe(),moduleType:"trace",name:"scatterternary",basePlotModule:h2e(),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}});var g2e=ye((vlr,p2e)=>{"use strict";p2e.exports=v2e()});var CH=ye((plr,y2e)=>{"use strict";var jh=v4(),BT=no().extendFlat,m2e=Oc().axisHoverFormat;y2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:m2e("x"),yhoverformat:m2e("y"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"},zorder:jh.zorder}});var IH=ye((glr,_2e)=>{"use strict";var LH=p4(),PH=Mr().extendFlat;_2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var A2e=ye((mlr,T2e)=>{"use strict";var x2e=Mr(),wbt=va(),b2e=m4(),w2e=CH();T2e.exports=function(t,r,n,i){function a(L,_){return x2e.coerce(t,r,w2e,L,_)}function o(L,_){return x2e.coerce2(t,r,w2e,L,_)}if(b2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a("bandwidth"),a("side");var s=a("width");s||(a("scalegroup",r.name),a("scalemode"));var l=a("span"),u;Array.isArray(l)&&(u="manual"),a("spanmode",u);var c=a("line.color",(t.marker||{}).color||n),f=a("line.width"),h=a("fillcolor",wbt.addOpacity(r.line.color,.5));b2e.handlePointsDefaults(t,r,a,{prefix:""});var d=o("box.width"),v=o("box.fillcolor",h),x=o("box.line.color",c),b=o("box.line.width",f),g=a("box.visible",!!(d||v||x||b));g||(r.box={visible:!1});var E=o("meanline.color",c),k=o("meanline.width",f),A=a("meanline.visible",!!(E||k));A||(r.meanline={visible:!1}),a("quartilemethod"),a("zorder")}}});var M2e=ye((ylr,S2e)=>{"use strict";var Tbt=Mr(),Abt=IH(),Sbt=UI();S2e.exports=function(t,r,n){function i(a,o){return Tbt.coerce(t,r,Abt,a,o)}Sbt._supply(t,r,n,i,"violin")}});var L8=ye(o2=>{"use strict";var Mbt=Mr(),Ebt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Ebt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u{"use strict";var RH=Mr(),DH=Qa(),kbt=MV(),E2e=L8(),Cbt=es().BADNUM;k2e.exports=function(t,r){var n=kbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation==="h"?"xaxis":"yaxis"]),o=1/0,s=-1/0,l=0,u=0,c=0;c{"use strict";var Rbt=HI().setPositionOffset,L2e=["v","h"];P2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o{"use strict";var zH=xa(),FH=Mr(),Dbt=ao(),qH=GI(),zbt=fU(),Fbt=L8();R2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=zbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return Dbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,"trace violins").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,g=r[d.valLetter+"axis"],E=r[d.posLetter+"axis"],k=v.side==="both",A=k||v.side==="positive",L=k||v.side==="negative",_=f.selectAll("path.violin").data(FH.identity);_.enter().append("path").style("vector-effect",a?"none":"non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode==="count"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge{"use strict";var z2e=xa(),NT=va(),qbt=op().stylePoints;F2e.exports=function(t){var r=z2e.select(t).selectAll("g.trace.violins");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=z2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll("path.violin").style("stroke-width",i.line.width+"px").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll("path.box").style("stroke-width",s.width+"px").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};a.selectAll("path.mean").style(c).call(NT.stroke,l.color),a.selectAll("path.meanline").style(c).call(NT.stroke,l.color),qbt(a,i,t)})}});var U2e=ye((Alr,N2e)=>{"use strict";var Obt=va(),OH=Mr(),Bbt=Qa(),O2e=PV(),B2e=L8();N2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf("violins")!==-1,f=u.indexOf("kde")!==-1,h=[],d,v;if(c||f){var x=O2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,g=t.ya,E,k,A,L,_;l.orientation==="h"?(_=r,E="y",A=g,k="x",L=b):(_=n,E="x",A=b,k="y",L=g);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),p=L.c2p(_,!0),P=B2e.getKdeValue(C,l,_),T=B2e.getPositionOnKdePath(C,l,p),F=A._offset,q=A._length;M[E+"0"]=T[0],M[E+"1"]=T[1],M[k+"0"]=M[k+"1"]=p,M[k+"Label"]=k+": "+Bbt.hoverLabelText(L,_,l[k+"hoverformat"])+", "+s[0].t.labels.kde+" "+P.toFixed(3);for(var V=0,H=0;H{"use strict";V2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:A2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:M2e(),calc:C2e(),crossTraceCalc:I2e(),plot:D2e(),style:q2e(),styleOnSelect:op().styleOnSelect,hoverPoints:U2e(),selectPoints:IV(),moduleType:"trace",name:"violin",basePlotModule:Jf(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}});var j2e=ye((Mlr,G2e)=>{"use strict";G2e.exports=H2e()});var Z2e=ye((Elr,W2e)=>{"use strict";W2e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}});var NH=ye((klr,K2e)=>{"use strict";var lc=Lm(),BH=Uc().line,Nbt=vl(),X2e=Oc().axisHoverFormat,Ubt=Wo().hovertemplateAttrs,Vbt=Wo().texttemplateAttrs,Y2e=Z2e(),Ny=no().extendFlat,Hbt=va();K2e.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:X2e("x"),yhoverformat:X2e("y"),hovertext:lc.hovertext,hovertemplate:Ubt({},{keys:Y2e.eventDataKeys}),hoverinfo:Ny({},Nbt.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:Vbt({editType:"plot"},{keys:Y2e.eventDataKeys.concat(["label","value"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:"middle"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Gbt(),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:Ny({},BH.color,{dflt:Hbt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:"plot"}),dash:BH.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Gbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Clr,J2e)=>{"use strict";J2e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var HH=ye((Llr,Q2e)=>{"use strict";var P8=Mr(),jbt=Hb(),Wbt=r0().handleText,Zbt=K3(),Xbt=Pg(),$2e=NH(),VH=va();function Ybt(e,t,r,n){function i(f,h){return P8.coerce(e,t,$2e,f,h)}var a=Zbt(e,t,n,i);if(!a){t.visible=!1;return}Xbt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("orientation",t.y&&!t.x?"v":"h"),i("offset"),i("width");var o=i("text");i("hovertext"),i("hovertemplate");var s=i("textposition");Wbt(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&!t.texttemplate&&i("textinfo",P8.isArrayOrTypedArray(o)?"text+value":"value");var l=i("marker.color",r);i("marker.line.color",VH.defaultLine),i("marker.line.width");var u=i("connector.visible");if(u){i("connector.fillcolor",Kbt(l));var c=i("connector.line.width");c&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function Kbt(e){var t=P8.isArrayOrTypedArray(e)?"#000":e;return VH.addOpacity(t,.5*VH.opacity(t))}function Jbt(e,t){var r,n;function i(o){return P8.coerce(n._input,n,$2e,o)}for(var a=0;a{"use strict";var $bt=Mr(),Qbt=UH();ewe.exports=function(e,t,r){var n=!1;function i(s,l){return $bt.coerce(e,t,Qbt,s,l)}for(var a=0;a{"use strict";var UT=Mr();rwe.exports=function(t,r){for(var n=0;n{"use strict";var nwe=Qa(),awe=Rg(),e2t=iwe(),t2t=F0(),P4=es().BADNUM;owe.exports=function(t,r){var n=nwe.getFromId(t,r.xaxis||"x"),i=nwe.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f,h;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=awe(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=awe(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f{"use strict";var lwe=Gb().setGroupPositions;uwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var I8=xa(),L_=Mr(),fwe=ao(),C_=es().BADNUM,r2t=i2(),i2t=_v().clearMinTextSize;dwe.exports=function(t,r,n,i){var a=t._fullLayout;i2t("funnel",a),n2t(t,r,n,i),a2t(t,r,n,i),r2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function n2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;L_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=I8.select(this),l=o[0].trace,u=L_.ensureSingle(s,"g","regions");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.region").data(L_.identity);f.enter().append("g").classed("region",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=hwe(d,i,a,c),b=x[0],g=x[1],E="";b[0]!==C_&&g[0]!==C_&&b[1]!==C_&&g[1]!==C_&&b[2]!==C_&&g[2]!==C_&&b[3]!==C_&&g[3]!==C_&&(c?E+="M"+b[0]+","+g[1]+"L"+b[2]+","+g[2]+"H"+b[3]+"L"+b[1]+","+g[1]+"Z":E+="M"+b[1]+","+g[1]+"L"+b[2]+","+g[3]+"V"+g[2]+"L"+b[1]+","+g[0]+"Z"),E===""&&(E="M0,0Z"),L_.ensureSingle(I8.select(this),"path").attr("d",E).call(fwe.setClipUrl,t.layerClipId,e)}})})}function a2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;L_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=I8.select(this),l=o[0].trace,u=L_.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.line").data(L_.identity);f.enter().append("g").classed("line",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=hwe(d,i,a,c),b=x[0],g=x[1],E="";b[3]!==void 0&&g[3]!==void 0&&(c?(E+="M"+b[0]+","+g[1]+"L"+b[2]+","+g[2],E+="M"+b[1]+","+g[1]+"L"+b[3]+","+g[2]):(E+="M"+b[1]+","+g[1]+"L"+b[2]+","+g[3],E+="M"+b[1]+","+g[0]+"L"+b[2]+","+g[2])),E===""&&(E="M0,0Z"),L_.ensureSingle(I8.select(this),"path").attr("d",E).call(fwe.setClipUrl,t.layerClipId,e)}})})}function hwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var mwe=ye((Flr,gwe)=>{"use strict";var I4=xa(),pwe=ao(),jH=va(),o2t=N1().DESELECTDIM,s2t=N0(),l2t=_v().resizeText,u2t=s2t.styleTextPoints;function c2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^="funnellayer"]').selectAll("g.trace");l2t(e,n,"funnel"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(pwe.dashLine,l.line.dash,s.mlw||l.line.width).style("opacity",o.selectedpoints&&!s.selected?o2t:1)}}),u2t(a,o,e),a.selectAll(".regions").each(function(){I4.select(this).selectAll("path").style("stroke-width",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(".lines").each(function(){var s=o.connector.line;pwe.lineGroupStyle(I4.select(this).selectAll("path"),s.width,s.color,s.dash)})})}gwe.exports={style:c2t}});var xwe=ye((qlr,_we)=>{"use strict";var ywe=va().opacity,f2t=TT().hoverOnBars,WH=Mr().formatPercent;_we.exports=function(t,r,n,i,a){var o=f2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=o.index,f=s[c],h=u?"x":"y";o[h+"LabelVal"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!=="none"&&d!=="skip"){var x=d==="all",b=d.split("+"),g=function(E){return x||b.indexOf(E)!==-1};g("percent initial")&&v.push(o.percentInitialLabel+" of initial"),g("percent previous")&&v.push(o.percentPreviousLabel+" of previous"),g("percent total")&&v.push(o.percentTotalLabel+" of total")}return o.extraText=v.join("
"),o.color=h2t(l,f),[o]}};function h2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(ywe(n))return n;if(ywe(i)&&a)return i}});var wwe=ye((Olr,bwe)=>{"use strict";bwe.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"percentInitial"in r&&(t.percentInitial=r.percentInitial),"percentPrevious"in r&&(t.percentPrevious=r.percentPrevious),"percentTotal"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Awe=ye((Blr,Twe)=>{"use strict";Twe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:twe(),calc:swe(),crossTraceCalc:cwe(),plot:vwe(),style:mwe().style,hoverPoints:xwe(),eventData:wwe(),selectPoints:AT(),moduleType:"trace",name:"funnel",basePlotModule:Jf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var Mwe=ye((Nlr,Swe)=>{"use strict";Swe.exports=Awe()});var kwe=ye((Ulr,Ewe)=>{"use strict";Ewe.exports={eventDataKeys:["initial","delta","final"]}});var YH=ye((Vlr,Pwe)=>{"use strict";var Uu=Lm(),ZH=Uc().line,d2t=vl(),Cwe=Oc().axisHoverFormat,v2t=Wo().hovertemplateAttrs,p2t=Wo().texttemplateAttrs,Lwe=kwe(),VT=no().extendFlat,g2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:"style"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:"style"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}Pwe.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Cwe("x"),yhoverformat:Cwe("y"),hovertext:Uu.hovertext,hovertemplate:v2t({},{keys:Lwe.eventDataKeys}),hoverinfo:VT({},d2t.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:p2t({editType:"plot"},{keys:Lwe.eventDataKeys.concat(["label"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH("increasing"),decreasing:XH("decreasing"),totals:XH("intermediate sums and total"),connector:{line:{color:VT({},ZH.color,{dflt:g2t.defaultLine}),width:VT({},ZH.width,{editType:"plot"}),dash:ZH.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye((Hlr,Iwe)=>{"use strict";Iwe.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var HT=ye((Glr,Rwe)=>{"use strict";Rwe.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}});var $H=ye((jlr,qwe)=>{"use strict";var Dwe=Mr(),m2t=Hb(),y2t=r0().handleText,_2t=K3(),x2t=Pg(),zwe=YH(),b2t=va(),Fwe=HT(),w2t=Fwe.INCREASING.COLOR,T2t=Fwe.DECREASING.COLOR,A2t="#4499FF";function JH(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",b2t.defaultLine),e(t+".marker.line.width")}function S2t(e,t,r,n){function i(u,c){return Dwe.coerce(e,t,zwe,u,c)}var a=_2t(e,t,n,i);if(!a){t.visible=!1;return}x2t(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("measure"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");y2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&(i("texttemplate"),t.texttemplate||i("textinfo")),JH(i,"increasing",w2t),JH(i,"decreasing",T2t),JH(i,"totals",A2t);var s=i("connector.visible");if(s){i("connector.mode");var l=i("connector.line.width");l&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function M2t(e,t){var r,n;function i(o){return Dwe.coerce(n._input,n,zwe,o)}if(t.waterfallmode==="group")for(var a=0;a{"use strict";var E2t=Mr(),k2t=KH();Owe.exports=function(e,t,r){var n=!1;function i(s,l){return E2t.coerce(e,t,k2t,s,l)}for(var a=0;a{"use strict";var Nwe=Qa(),Uwe=Rg(),Vwe=Mr().mergeArray,C2t=F0(),Hwe=es().BADNUM;function QH(e){return e==="a"||e==="absolute"}function eG(e){return e==="t"||e==="total"}Gwe.exports=function(t,r){var n=Nwe.getFromId(t,r.xaxis||"x"),i=Nwe.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=Uwe(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=Uwe(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b{"use strict";var Wwe=Gb().setGroupPositions;Zwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var Ywe=xa(),R8=Mr(),L2t=ao(),GT=es().BADNUM,P2t=i2(),I2t=_v().clearMinTextSize;Kwe.exports=function(t,r,n,i){var a=t._fullLayout;I2t("waterfall",a),P2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),R2t(t,r,n,i)};function R2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;R8.makeTraceGroups(n,r,"trace bars").each(function(o){var s=Ywe.select(this),l=o[0].trace,u=R8.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=l.connector.mode,h=u.selectAll("g.line").data(R8.identity);h.enter().append("g").classed("line",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=D2t(v,i,a,c),g=b[0],E=b[1],k="";g[0]!==GT&&E[0]!==GT&&g[1]!==GT&&E[1]!==GT&&(f==="spanning"&&!v.isSum&&x>0&&(c?k+="M"+g[0]+","+E[1]+"V"+E[0]:k+="M"+g[1]+","+E[0]+"H"+g[0]),f!=="between"&&(v.isSum||x{"use strict";var D8=xa(),$we=ao(),Qwe=va(),z2t=N1().DESELECTDIM,F2t=N0(),q2t=_v().resizeText,O2t=F2t.styleTextPoints;function B2t(e,t,r){var n=r||D8.select(e).selectAll('g[class^="waterfalllayer"]').selectAll("g.trace");q2t(e,n,"waterfall"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=D8.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;D8.select(this).call(Qwe.fill,l.color).call(Qwe.stroke,l.line.color).call($we.dashLine,l.line.dash,l.line.width).style("opacity",o.selectedpoints&&!s.selected?z2t:1)}}),O2t(a,o,e),a.selectAll(".lines").each(function(){var s=o.connector.line;$we.lineGroupStyle(D8.select(this).selectAll("path"),s.width,s.color,s.dash)})})}e3e.exports={style:B2t}});var o3e=ye((Jlr,a3e)=>{"use strict";var N2t=Qa().hoverLabelText,r3e=va().opacity,U2t=TT().hoverOnBars,i3e=HT(),n3e={increasing:i3e.INCREASING.SYMBOL,decreasing:i3e.DECREASING.SYMBOL};a3e.exports=function(t,r,n,i,a){var o=U2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=u?"x":"y",f=u?t.xa:t.ya;function h(_){return N2t(f,_,l[c+"hoverformat"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?"("+b+")":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var g=v.hi||l.hoverinfo,E=[];if(g&&g!=="none"&&g!=="skip"){var k=g==="all",A=g.split("+"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L("final")&&(u?!L("x"):!L("y"))&&E.push(o.finalLabel),L("delta")&&(x<0?E.push(o.deltaLabel+" "+n3e.decreasing):E.push(o.deltaLabel+" "+n3e.increasing)),L("initial")&&E.push("Initial: "+o.initialLabel))}return E.length&&(o.extraText=E.join("
")),o.color=V2t(l,v),[o]};function V2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(r3e(n))return n;if(r3e(i)&&a)return i}});var l3e=ye(($lr,s3e)=>{"use strict";s3e.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"initial"in r&&(t.initial=r.initial),"delta"in r&&(t.delta=r.delta),"final"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var c3e=ye((Qlr,u3e)=>{"use strict";u3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Bwe(),calc:jwe(),crossTraceCalc:Xwe(),plot:Jwe(),style:t3e().style,hoverPoints:o3e(),eventData:l3e(),selectPoints:AT(),moduleType:"trace",name:"waterfall",basePlotModule:Jf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var h3e=ye((eur,f3e)=>{"use strict";f3e.exports=c3e()});var jT=ye((tur,d3e)=>{"use strict";d3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%",""]}}}});var tG=ye((rur,p3e)=>{"use strict";var H2t=vl(),G2t=Uc().zorder,j2t=Wo().hovertemplateAttrs,v3e=no().extendFlat,W2t=jT().colormodel,D4=["rgb","rgba","rgba256","hsl","hsla"],Z2t=[],X2t=[];for(WT=0;WT{"use strict";var Y2t=Mr(),K2t=tG(),g3e=jT(),J2t=Ly().IMAGE_URL_PREFIX;m3e.exports=function(t,r){function n(o,s){return Y2t.coerce(t,r,K2t,o,s)}n("source"),r.source&&!r.source.match(J2t)&&delete r.source,r._hasSource=!!r.source;var i=n("z");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n("x0"),n("y0"),n("dx"),n("dy");var a;r._hasZ?(n("colormodel","rgb"),a=g3e.colormodel[r.colormodel],n("zmin",a.zminDflt||a.min),n("zmax",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel="rgba256",a=g3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n("zsmooth"),n("text"),n("hovertext"),n("hovertemplate"),r._length=null,n("zorder")}});var Uy=ye((nur,rG)=>{typeof Object.create=="function"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((aur,_3e)=>{_3e.exports=vb().EventEmitter});var w3e=ye(z8=>{"use strict";z8.byteLength=Q2t;z8.toByteArray=twt;z8.fromByteArray=nwt;var Fm=[],Z0=[],$2t=typeof Uint8Array!="undefined"?Uint8Array:Array,nG="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(s2=0,x3e=nG.length;s20)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Q2t(e){var t=b3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function ewt(e,t,r){return(t+r)*3/4-r}function twt(e){var t,r=b3e(e),n=r[0],i=r[1],a=new $2t(ewt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function rwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function iwt(e,t,r){for(var n,i=[],a=t;as?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+"=")),i.join("")}});var T3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{"use strict";var oG=w3e(),XT=T3e(),A3e=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;KT.Buffer=In;KT.SlowBuffer=cwt;KT.INSPECT_MAX_BYTES=50;var F8=2147483647;KT.kMaxLength=F8;In.TYPED_ARRAY_SUPPORT=awt();!In.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function awt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,"parent",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,"offset",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>F8)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return cG(e)}return k3e(e,t,r)}In.poolSize=8192;function k3e(e,t,r){if(typeof e=="string")return swt(e,t);if(ArrayBuffer.isView(e))return lwt(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=uwt(e);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return In.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}In.from=function(e,t,r){return k3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function C3e(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function owt(e,t,r){return C3e(e),e<=0?Vy(e):t!==void 0?typeof r=="string"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return owt(e,t,r)};function cG(e){return C3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function swt(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!In.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=L3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n=F8)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+F8.toString(16)+" bytes");return e|0}function cwt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);ai.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=o.length}return i};function L3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return uG(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return B3e(e).length;default:if(i)return n?-1:uG(e).length;t=(""+t).toLowerCase(),i=!0}}In.byteLength=L3e;function fwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return bwt(this,t,r);case"utf8":case"utf-8":return I3e(this,t,r);case"ascii":return _wt(this,t,r);case"latin1":case"binary":return xwt(this,t,r);case"base64":return mwt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wwt(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};A3e&&(In.prototype[A3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:S3e(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):S3e(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function S3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;uo&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;fi&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return hwt(this,t,r,n);case"utf8":case"utf-8":return dwt(this,t,r,n);case"ascii":case"latin1":case"binary":return vwt(this,t,r,n);case"base64":return pwt(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gwt(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function I3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return ywt(n)}var M3e=4096;function ywt(e){let t=e.length;if(t<=M3e)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=P_(function(t){t=t>>>0,YT(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,YT(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=P_(function(t){t=t>>>0,YT(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,YT(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function R3e(e,t,r,n,i){O3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function D3e(e,t,r,n,i){O3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=P_(function(t,r=0){return R3e(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});In.prototype.writeBigUInt64BE=P_(function(t,r=0){return D3e(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=P_(function(t,r=0){return R3e(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});In.prototype.writeBigInt64BE=P_(function(t,r=0){return D3e(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function z3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F3e(e,t,r,n,i){return t=+t,r=r>>>0,i||z3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return F3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return F3e(this,t,r,!1,n)};function q3e(e,t,r,n,i){return t=+t,r=r>>>0,i||z3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return q3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return q3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=E3e(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=E3e(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function E3e(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Twt(e,t,r){YT(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function O3e(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE("value",s,e)}Twt(n,i,a)}function YT(e,t){if(typeof e!="number")throw new ZT.ERR_INVALID_ARG_TYPE(t,"number",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Awt=/[^+/0-9A-Za-z-_]/g;function Swt(e){if(e=e.split("=")[0],e=e.trim().replace(Awt,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function Mwt(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function B3e(e){return oG.toByteArray(Swt(e))}function q8(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var kwt=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function P_(e){return typeof BigInt=="undefined"?Cwt:e}function Cwt(){throw new Error("BigInt not supported")}});var O8=ye((cur,N3e)=>{"use strict";N3e.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((fur,U3e)=>{"use strict";var Lwt=O8();U3e.exports=function(){return Lwt()&&!!Symbol.toStringTag}});var H3e=ye((hur,V3e)=>{"use strict";V3e.exports=Error});var j3e=ye((dur,G3e)=>{"use strict";G3e.exports=EvalError});var Z3e=ye((vur,W3e)=>{"use strict";W3e.exports=RangeError});var Y3e=ye((pur,X3e)=>{"use strict";X3e.exports=ReferenceError});var vG=ye((gur,K3e)=>{"use strict";K3e.exports=SyntaxError});var q4=ye((mur,J3e)=>{"use strict";J3e.exports=TypeError});var Q3e=ye((yur,$3e)=>{"use strict";$3e.exports=URIError});var rTe=ye((_ur,tTe)=>{"use strict";var eTe=typeof Symbol!="undefined"&&Symbol,Pwt=O8();tTe.exports=function(){return typeof eTe!="function"||typeof Symbol!="function"||typeof eTe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Pwt()}});var aTe=ye((xur,nTe)=>{"use strict";var iTe={foo:{}},Iwt=Object;nTe.exports=function(){return{__proto__:iTe}.foo===iTe.foo&&!({__proto__:null}instanceof Iwt)}});var lTe=ye((bur,sTe)=>{"use strict";var Rwt="Function.prototype.bind called on incompatible ",Dwt=Object.prototype.toString,zwt=Math.max,Fwt="[object Function]",oTe=function(t,r){for(var n=[],i=0;i{"use strict";var Bwt=lTe();uTe.exports=Function.prototype.bind||Bwt});var fTe=ye((Tur,cTe)=>{"use strict";var Nwt=Function.prototype.call,Uwt=Object.prototype.hasOwnProperty,Vwt=B8();cTe.exports=Vwt.call(Nwt,Uwt)});var t5=ye((Aur,gTe)=>{"use strict";var Gl,Hwt=H3e(),Gwt=j3e(),jwt=Z3e(),Wwt=Y3e(),e5=vG(),QT=q4(),Zwt=Q3e(),pTe=Function,pG=function(e){try{return pTe('"use strict"; return ('+e+").constructor;")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},"")}catch(e){c2=null}var gG=function(){throw new QT},Xwt=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,"callee").get}catch(t){return gG}}}():gG,JT=rTe()(),Ywt=aTe()(),Qd=Object.getPrototypeOf||(Ywt?function(e){return e.__proto__}:null),$T={},Kwt=typeof Uint8Array=="undefined"||!Qd?Gl:Qd(Uint8Array),f2={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Gl:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Gl:ArrayBuffer,"%ArrayIteratorPrototype%":JT&&Qd?Qd([][Symbol.iterator]()):Gl,"%AsyncFromSyncIteratorPrototype%":Gl,"%AsyncFunction%":$T,"%AsyncGenerator%":$T,"%AsyncGeneratorFunction%":$T,"%AsyncIteratorPrototype%":$T,"%Atomics%":typeof Atomics=="undefined"?Gl:Atomics,"%BigInt%":typeof BigInt=="undefined"?Gl:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Gl:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Gl:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Gl:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Hwt,"%eval%":eval,"%EvalError%":Gwt,"%Float32Array%":typeof Float32Array=="undefined"?Gl:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Gl:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Gl:FinalizationRegistry,"%Function%":pTe,"%GeneratorFunction%":$T,"%Int8Array%":typeof Int8Array=="undefined"?Gl:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Gl:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Gl:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":JT&&Qd?Qd(Qd([][Symbol.iterator]())):Gl,"%JSON%":typeof JSON=="object"?JSON:Gl,"%Map%":typeof Map=="undefined"?Gl:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!JT||!Qd?Gl:Qd(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Gl:Promise,"%Proxy%":typeof Proxy=="undefined"?Gl:Proxy,"%RangeError%":jwt,"%ReferenceError%":Wwt,"%Reflect%":typeof Reflect=="undefined"?Gl:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Gl:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!JT||!Qd?Gl:Qd(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Gl:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":JT&&Qd?Qd(""[Symbol.iterator]()):Gl,"%Symbol%":JT?Symbol:Gl,"%SyntaxError%":e5,"%ThrowTypeError%":Xwt,"%TypedArray%":Kwt,"%TypeError%":QT,"%Uint8Array%":typeof Uint8Array=="undefined"?Gl:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Gl:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Gl:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Gl:Uint32Array,"%URIError%":Zwt,"%WeakMap%":typeof WeakMap=="undefined"?Gl:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Gl:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Gl:WeakSet};if(Qd)try{null.error}catch(e){hTe=Qd(Qd(e)),f2["%Error.prototype%"]=hTe}var hTe,Jwt=function e(t){var r;if(t==="%AsyncFunction%")r=pG("async function () {}");else if(t==="%GeneratorFunction%")r=pG("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=pG("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},dTe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},O4=B8(),N8=fTe(),$wt=O4.call(Function.call,Array.prototype.concat),Qwt=O4.call(Function.apply,Array.prototype.splice),vTe=O4.call(Function.call,String.prototype.replace),U8=O4.call(Function.call,String.prototype.slice),e3t=O4.call(Function.call,RegExp.prototype.exec),t3t=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,r3t=/\\(\\)?/g,i3t=function(t){var r=U8(t,0,1),n=U8(t,-1);if(r==="%"&&n!=="%")throw new e5("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new e5("invalid intrinsic syntax, expected opening `%`");var i=[];return vTe(t,t3t,function(a,o,s,l){i[i.length]=s?vTe(l,r3t,"$1"):o||a}),i},n3t=function(t,r){var n=t,i;if(N8(dTe,n)&&(i=dTe[n],n="%"+i[0]+"%"),N8(f2,n)){var a=f2[n];if(a===$T&&(a=Jwt(n)),typeof a=="undefined"&&!r)throw new QT("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new e5("intrinsic "+t+" does not exist!")};gTe.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new QT("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new QT('"allowMissing" argument must be a boolean');if(e3t(/^%?[^%]*%?$/,t)===null)throw new e5("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=i3t(t),i=n.length>0?n[0]:"",a=n3t("%"+i+"%",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],Qwt(n,$wt([0,1],u)));for(var c=1,f=!0;c=n.length){var x=c2(s,h);f=!!x,f&&"get"in x&&!("originalValue"in x.get)?s=x.get:s=s[h]}else f=N8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var H8=ye((Sur,mTe)=>{"use strict";var a3t=t5(),V8=a3t("%Object.defineProperty%",!0)||!1;if(V8)try{V8({},"a",{value:1})}catch(e){V8=!1}mTe.exports=V8});var B4=ye((Mur,yTe)=>{"use strict";var o3t=t5(),G8=o3t("%Object.getOwnPropertyDescriptor%",!0);if(G8)try{G8([],"length")}catch(e){G8=null}yTe.exports=G8});var wTe=ye((Eur,bTe)=>{"use strict";var _Te=H8(),s3t=vG(),r5=q4(),xTe=B4();bTe.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new r5("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new r5("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r5("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r5("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r5("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r5("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!xTe&&xTe(t,r);if(_Te)_Te(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new s3t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var yG=ye((kur,ATe)=>{"use strict";var mG=H8(),TTe=function(){return!!mG};TTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],"length",{value:1}).length!==1}catch(t){return!0}};ATe.exports=TTe});var CTe=ye((Cur,kTe)=>{"use strict";var l3t=t5(),STe=wTe(),u3t=yG()(),MTe=B4(),ETe=q4(),c3t=l3t("%Math.floor%");kTe.exports=function(t,r){if(typeof t!="function")throw new ETe("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||c3t(r)!==r)throw new ETe("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if("length"in t&&MTe){var o=MTe(t,"length");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(u3t?STe(t,"length",r,!0,!0):STe(t,"length",r)),t}});var N4=ye((Lur,j8)=>{"use strict";var _G=B8(),W8=t5(),f3t=CTe(),h3t=q4(),ITe=W8("%Function.prototype.apply%"),RTe=W8("%Function.prototype.call%"),DTe=W8("%Reflect.apply%",!0)||_G.call(RTe,ITe),LTe=H8(),d3t=W8("%Math.max%");j8.exports=function(t){if(typeof t!="function")throw new h3t("a function is required");var r=DTe(_G,RTe,arguments);return f3t(r,1+d3t(0,t.length-(arguments.length-1)),!0)};var PTe=function(){return DTe(_G,ITe,arguments)};LTe?LTe(j8.exports,"apply",{value:PTe}):j8.exports.apply=PTe});var i5=ye((Pur,qTe)=>{"use strict";var zTe=t5(),FTe=N4(),v3t=FTe(zTe("String.prototype.indexOf"));qTe.exports=function(t,r){var n=zTe(t,!!r);return typeof n=="function"&&v3t(t,".prototype.")>-1?FTe(n):n}});var NTe=ye((Iur,BTe)=>{"use strict";var p3t=F4()(),g3t=i5(),xG=g3t("Object.prototype.toString"),Z8=function(t){return p3t&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:xG(t)==="[object Arguments]"},OTe=function(t){return Z8(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&xG(t)!=="[object Array]"&&xG(t.callee)==="[object Function]"},m3t=function(){return Z8(arguments)}();Z8.isLegacyArguments=OTe;BTe.exports=m3t?Z8:OTe});var HTe=ye((Rur,VTe)=>{"use strict";var y3t=Object.prototype.toString,_3t=Function.prototype.toString,x3t=/^\s*(?:function)?\*/,UTe=F4()(),bG=Object.getPrototypeOf,b3t=function(){if(!UTe)return!1;try{return Function("return function*() {}")()}catch(e){}},wG;VTe.exports=function(t){if(typeof t!="function")return!1;if(x3t.test(_3t.call(t)))return!0;if(!UTe){var r=y3t.call(t);return r==="[object GeneratorFunction]"}if(!bG)return!1;if(typeof wG=="undefined"){var n=b3t();wG=n?bG(n):!1}return bG(t)===wG}});var ZTe=ye((Dur,WTe)=>{"use strict";var jTe=Function.prototype.toString,n5=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,AG,X8;if(typeof n5=="function"&&typeof Object.defineProperty=="function")try{AG=Object.defineProperty({},"length",{get:function(){throw X8}}),X8={},n5(function(){throw 42},null,AG)}catch(e){e!==X8&&(n5=null)}else n5=null;var w3t=/^\s*class\b/,SG=function(t){try{var r=jTe.call(t);return w3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(jTe.call(t),!0)}catch(r){return!1}},Y8=Object.prototype.toString,T3t="[object Object]",A3t="[object Function]",S3t="[object GeneratorFunction]",M3t="[object HTMLAllCollection]",E3t="[object HTML document.all class]",k3t="[object HTMLCollection]",C3t=typeof Symbol=="function"&&!!Symbol.toStringTag,L3t=!(0 in[,]),MG=function(){return!1};typeof document=="object"&&(GTe=document.all,Y8.call(GTe)===Y8.call(document.all)&&(MG=function(t){if((L3t||!t)&&(typeof t=="undefined"||typeof t=="object"))try{var r=Y8.call(t);return(r===M3t||r===E3t||r===k3t||r===T3t)&&t("")==null}catch(n){}return!1}));var GTe;WTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{n5(t,null,AG)}catch(r){if(r!==X8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(C3t)return TG(t);if(SG(t))return!1;var r=Y8.call(t);return r!==A3t&&r!==S3t&&!/^\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((zur,YTe)=>{"use strict";var P3t=ZTe(),I3t=Object.prototype.toString,XTe=Object.prototype.hasOwnProperty,R3t=function(t,r,n){for(var i=0,a=t.length;i=3&&(i=n),I3t.call(t)==="[object Array]"?R3t(t,r,i):typeof t=="string"?D3t(t,r,i):z3t(t,r,i)};YTe.exports=F3t});var CG=ye((Fur,KTe)=>{"use strict";var kG=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],q3t=typeof globalThis=="undefined"?window:globalThis;KTe.exports=function(){for(var t=[],r=0;r{"use strict";var J8=EG(),O3t=CG(),JTe=N4(),IG=i5(),K8=B4(),B3t=IG("Object.prototype.toString"),QTe=F4()(),$Te=typeof globalThis=="undefined"?window:globalThis,PG=O3t(),RG=IG("String.prototype.slice"),LG=Object.getPrototypeOf,N3t=IG("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1?r:r!=="Object"?!1:V3t(t)}return K8?U3t(t):null}});var s5e=ye((Our,o5e)=>{"use strict";var r5e=EG(),H3t=CG(),zG=i5(),G3t=zG("Object.prototype.toString"),i5e=F4()(),Q8=B4(),j3t=typeof globalThis=="undefined"?window:globalThis,n5e=H3t(),W3t=zG("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1}return Q8?X3t(t):!1}});var OG=ye(Ol=>{"use strict";var Y3t=NTe(),K3t=HTe(),Hg=t5e(),l5e=s5e();function a5(e){return e.call.bind(e)}var u5e=typeof BigInt!="undefined",c5e=typeof Symbol!="undefined",X0=a5(Object.prototype.toString),J3t=a5(Number.prototype.valueOf),$3t=a5(String.prototype.valueOf),Q3t=a5(Boolean.prototype.valueOf);u5e&&(f5e=a5(BigInt.prototype.valueOf));var f5e;c5e&&(h5e=a5(Symbol.prototype.valueOf));var h5e;function V4(e,t){if(typeof e!="object")return!1;try{return t(e),!0}catch(r){return!1}}Ol.isArgumentsObject=Y3t;Ol.isGeneratorFunction=K3t;Ol.isTypedArray=l5e;function eTt(e){return typeof Promise!="undefined"&&e instanceof Promise||e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function"}Ol.isPromise=eTt;function tTt(e){return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?ArrayBuffer.isView(e):l5e(e)||v5e(e)}Ol.isArrayBufferView=tTt;function rTt(e){return Hg(e)==="Uint8Array"}Ol.isUint8Array=rTt;function iTt(e){return Hg(e)==="Uint8ClampedArray"}Ol.isUint8ClampedArray=iTt;function nTt(e){return Hg(e)==="Uint16Array"}Ol.isUint16Array=nTt;function aTt(e){return Hg(e)==="Uint32Array"}Ol.isUint32Array=aTt;function oTt(e){return Hg(e)==="Int8Array"}Ol.isInt8Array=oTt;function sTt(e){return Hg(e)==="Int16Array"}Ol.isInt16Array=sTt;function lTt(e){return Hg(e)==="Int32Array"}Ol.isInt32Array=lTt;function uTt(e){return Hg(e)==="Float32Array"}Ol.isFloat32Array=uTt;function cTt(e){return Hg(e)==="Float64Array"}Ol.isFloat64Array=cTt;function fTt(e){return Hg(e)==="BigInt64Array"}Ol.isBigInt64Array=fTt;function hTt(e){return Hg(e)==="BigUint64Array"}Ol.isBigUint64Array=hTt;function eR(e){return X0(e)==="[object Map]"}eR.working=typeof Map!="undefined"&&eR(new Map);function dTt(e){return typeof Map=="undefined"?!1:eR.working?eR(e):e instanceof Map}Ol.isMap=dTt;function tR(e){return X0(e)==="[object Set]"}tR.working=typeof Set!="undefined"&&tR(new Set);function vTt(e){return typeof Set=="undefined"?!1:tR.working?tR(e):e instanceof Set}Ol.isSet=vTt;function rR(e){return X0(e)==="[object WeakMap]"}rR.working=typeof WeakMap!="undefined"&&rR(new WeakMap);function pTt(e){return typeof WeakMap=="undefined"?!1:rR.working?rR(e):e instanceof WeakMap}Ol.isWeakMap=pTt;function qG(e){return X0(e)==="[object WeakSet]"}qG.working=typeof WeakSet!="undefined"&&qG(new WeakSet);function gTt(e){return qG(e)}Ol.isWeakSet=gTt;function iR(e){return X0(e)==="[object ArrayBuffer]"}iR.working=typeof ArrayBuffer!="undefined"&&iR(new ArrayBuffer);function d5e(e){return typeof ArrayBuffer=="undefined"?!1:iR.working?iR(e):e instanceof ArrayBuffer}Ol.isArrayBuffer=d5e;function nR(e){return X0(e)==="[object DataView]"}nR.working=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"&&nR(new DataView(new ArrayBuffer(1),0,1));function v5e(e){return typeof DataView=="undefined"?!1:nR.working?nR(e):e instanceof DataView}Ol.isDataView=v5e;var FG=typeof SharedArrayBuffer!="undefined"?SharedArrayBuffer:void 0;function U4(e){return X0(e)==="[object SharedArrayBuffer]"}function p5e(e){return typeof FG=="undefined"?!1:(typeof U4.working=="undefined"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Ol.isSharedArrayBuffer=p5e;function mTt(e){return X0(e)==="[object AsyncFunction]"}Ol.isAsyncFunction=mTt;function yTt(e){return X0(e)==="[object Map Iterator]"}Ol.isMapIterator=yTt;function _Tt(e){return X0(e)==="[object Set Iterator]"}Ol.isSetIterator=_Tt;function xTt(e){return X0(e)==="[object Generator]"}Ol.isGeneratorObject=xTt;function bTt(e){return X0(e)==="[object WebAssembly.Module]"}Ol.isWebAssemblyCompiledModule=bTt;function g5e(e){return V4(e,J3t)}Ol.isNumberObject=g5e;function m5e(e){return V4(e,$3t)}Ol.isStringObject=m5e;function y5e(e){return V4(e,Q3t)}Ol.isBooleanObject=y5e;function _5e(e){return u5e&&V4(e,f5e)}Ol.isBigIntObject=_5e;function x5e(e){return c5e&&V4(e,h5e)}Ol.isSymbolObject=x5e;function wTt(e){return g5e(e)||m5e(e)||y5e(e)||_5e(e)||x5e(e)}Ol.isBoxedPrimitive=wTt;function TTt(e){return typeof Uint8Array!="undefined"&&(d5e(e)||p5e(e))}Ol.isAnyArrayBuffer=TTt;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(e){Object.defineProperty(Ol,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})})});var BG=ye((Nur,b5e)=>{b5e.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}});var jG=ye(Bl=>{var w5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Bl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=STt),lR(r,e,r.depth)}Bl.inspect=I_;I_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};I_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function STt(e,t){var r=I_.styles[t];return r?"\x1B["+I_.colors[r][0]+"m"+e+"\x1B["+I_.colors[r][1]+"m":e}function MTt(e,t){return e}function ETt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function lR(e,t,r){if(e.customInspect&&t&&sR(t.inspect)&&t.inspect!==Bl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return fR(n)||(n=lR(e,n,r)),n}var i=kTt(e,t);if(i)return i;var a=Object.keys(t),o=ETt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return NG(t);if(a.length===0){if(sR(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(uR(t))return e.stylize(Date.prototype.toString.call(t),"date");if(G4(t))return NG(t)}var l="",u=!1,c=["{","}"];if(A5e(t)&&(u=!0,c=["[","]"]),sR(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(H4(t)&&(l=" "+RegExp.prototype.toString.call(t)),uR(t)&&(l=" "+Date.prototype.toUTCString.call(t)),G4(t)&&(l=" "+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=CTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),LTt(h,l,c)}function kTt(e,t){if(d2(t))return e.stylize("undefined","undefined");if(fR(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(S5e(t))return e.stylize(""+t,"number");if(HG(t))return e.stylize(""+t,"boolean");if(cR(t))return e.stylize("null","null")}function NG(e){return"["+Error.prototype.toString.call(e)+"]"}function CTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` +`).map(function(u){return" "+u}).join(` +`).slice(2):s=` +`+s.split(` +`).map(function(u){return" "+u}).join(` +`))):s=e.stylize("[Circular]","special")),d2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function LTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` +`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` + `)+" "+e.join(`, + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}Bl.types=OG();function A5e(e){return Array.isArray(e)}Bl.isArray=A5e;function HG(e){return typeof e=="boolean"}Bl.isBoolean=HG;function cR(e){return e===null}Bl.isNull=cR;function PTt(e){return e==null}Bl.isNullOrUndefined=PTt;function S5e(e){return typeof e=="number"}Bl.isNumber=S5e;function fR(e){return typeof e=="string"}Bl.isString=fR;function ITt(e){return typeof e=="symbol"}Bl.isSymbol=ITt;function d2(e){return e===void 0}Bl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)==="[object RegExp]"}Bl.isRegExp=H4;Bl.types.isRegExp=H4;function o5(e){return typeof e=="object"&&e!==null}Bl.isObject=o5;function uR(e){return o5(e)&&GG(e)==="[object Date]"}Bl.isDate=uR;Bl.types.isDate=uR;function G4(e){return o5(e)&&(GG(e)==="[object Error]"||e instanceof Error)}Bl.isError=G4;Bl.types.isNativeError=G4;function sR(e){return typeof e=="function"}Bl.isFunction=sR;function RTt(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}Bl.isPrimitive=RTt;Bl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?"0"+e.toString(10):e.toString(10)}var DTt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function zTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(":");return[e.getDate(),DTt[e.getMonth()],t].join(" ")}Bl.log=function(){console.log("%s - %s",zTt(),Bl.format.apply(Bl,arguments))};Bl.inherits=Uy();Bl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function M5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;Bl.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function E5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function OTt(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i}},{key:"concat",value:function(r){if(this.length===0)return hR.alloc(0);for(var n=hR.allocUnsafe(r>>>0),i=this.head,a=0;i;)jTt(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:"consume",value:function(r,n){var i;return ro.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:"_getBuffer",value:function(r){var n=hR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:GTt,value:function(r,n){return WG(this,OTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye((Hur,I5e)=>{"use strict";function WTt(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(dR,r):(r._writableState.errorEmitted=!0,process.nextTick(P5e,r,a)):process.nextTick(P5e,r,a):t?(process.nextTick(dR,r),t(a)):process.nextTick(dR,r)}),this)}function P5e(e,t){ZG(e,t),dR(e)}function dR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function ZTt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit("error",t)}function XTt(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}I5e.exports={destroy:WTt,undestroy:ZTt,errorOrDestroy:XTt}});var v2=ye((Gur,z5e)=>{"use strict";function YTt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var D5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t=="string"?t:t(a,o,s)}var i=function(a){YTt(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,D5e[e]=i}function R5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function KTt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function JTt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function $Tt(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Y0("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&KTt(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(JTt(e," argument"))i="The ".concat(e," ").concat(n," ").concat(R5e(t,"type"));else{var a=$Tt(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(R5e(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);Y0("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Y0("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Y0("ERR_STREAM_PREMATURE_CLOSE","Premature close");Y0("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Y0("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Y0("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Y0("ERR_STREAM_WRITE_AFTER_END","write after end");Y0("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Y0("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Y0("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");z5e.exports.codes=D5e});var YG=ye((jur,F5e)=>{"use strict";var QTt=v2().codes.ERR_INVALID_OPT_VALUE;function e5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function t5t(e,t,r,n){var i=e5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:"highWaterMark";throw new QTt(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}F5e.exports={getHighWaterMark:t5t}});var O5e=ye((Wur,q5e)=>{q5e.exports=r5t;function r5t(e,t){if(KG("noDeprecation"))return e;var r=!1;function n(){if(!r){if(KG("throwDeprecation"))throw new Error(t);KG("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var QG=ye((Zur,G5e)=>{"use strict";G5e.exports=_h;function N5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){C5t(t,e)}}var s5;_h.WritableState=W4;var i5t={deprecate:O5e()},U5e=iG(),pR=u2().Buffer,n5t=window.Uint8Array||function(){};function a5t(e){return pR.from(e)}function o5t(e){return pR.isBuffer(e)||e instanceof n5t}var $G=XG(),s5t=YG(),l5t=s5t.getHighWaterMark,R_=v2().codes,u5t=R_.ERR_INVALID_ARG_TYPE,c5t=R_.ERR_METHOD_NOT_IMPLEMENTED,f5t=R_.ERR_MULTIPLE_CALLBACK,h5t=R_.ERR_STREAM_CANNOT_PIPE,d5t=R_.ERR_STREAM_DESTROYED,v5t=R_.ERR_STREAM_NULL_VALUES,p5t=R_.ERR_STREAM_WRITE_AFTER_END,g5t=R_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,U5e);function m5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!="boolean"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l5t(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){A5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new N5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,"buffer",{get:i5t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}})();var vR;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(vR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return vR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):vR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!vR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),U5e.call(this)}_h.prototype.pipe=function(){l5(this,new h5t)};function y5t(e,t){var r=new p5t;l5(e,r),process.nextTick(t,r)}function _5t(e,t,r,n){var i;return r===null?i=new v5t:typeof r!="string"&&!t.objectMode&&(i=new u5t("chunk",["string","Buffer"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&o5t(e);return a&&!pR.isBuffer(e)&&(e=a5t(e)),typeof t=="function"&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=m5t),n.ending?y5t(this,r):(a||_5t(this,n,e,r))&&(n.pendingcb++,i=b5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&V5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new g5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function x5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=pR.from(t,r)),t}Object.defineProperty(_h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function b5t(e,t,r,n,i,a){if(!r){var o=x5t(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length{"use strict";var L5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};W5e.exports=Om;var j5e=rj(),tj=QG();Uy()(Om,j5e);for(ej=L5t(tj.prototype),gR=0;gR{var yR=u2(),Bm=yR.Buffer;function Z5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?X5e.exports=yR:(Z5e(yR,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);Z5e(Bm,g2);g2.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Bm(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return yR.SlowBuffer(e)}});var oj=ye(J5e=>{"use strict";var aj=Y5e().Buffer,K5e=aj.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function R5t(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function D5t(e){var t=R5t(e);if(typeof t!="string"&&(aj.isEncoding===K5e||!K5e(e)))throw new Error("Unknown encoding: "+e);return t||e}J5e.StringDecoder=Z4;function Z4(e){this.encoding=D5t(e);var t;switch(this.encoding){case"utf16le":this.text=N5t,this.end=U5t,t=4;break;case"utf8":this.fillLast=q5t,t=4;break;case"base64":this.text=V5t,this.end=H5t,t=3;break;default:this.write=G5t,this.end=j5t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function z5t(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function F5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function q5t(e){var t=this.lastTotal-this.lastNeed,r=F5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function O5t(e,t){var r=z5t(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function B5t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function N5t(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function U5t(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function V5t(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function H5t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function G5t(e){return e.toString(this.encoding)}function j5t(e){return e&&e.length?this.write(e):""}});var _R=ye((Kur,eAe)=>{"use strict";var $5e=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function W5t(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";var xR;function D_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Y5t=_R(),z_=Symbol("lastResolve"),m2=Symbol("lastReject"),X4=Symbol("error"),bR=Symbol("ended"),y2=Symbol("lastPromise"),sj=Symbol("handlePromise"),_2=Symbol("stream");function F_(e,t){return{value:e,done:t}}function K5t(e){var t=e[z_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[z_]=null,e[m2]=null,t(F_(r,!1)))}}function J5t(e){process.nextTick(K5t,e)}function $5t(e,t){return function(r,n){e.then(function(){if(t[bR]){r(F_(void 0,!0));return}t[sj](r,n)},n)}}var Q5t=Object.getPrototypeOf(function(){}),eAt=Object.setPrototypeOf((xR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[bR])return Promise.resolve(F_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(F_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise($5t(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(F_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},D_(xR,Symbol.asyncIterator,function(){return this}),D_(xR,"return",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(F_(void 0,!0))})})}),xR),Q5t),tAt=function(t){var r,n=Object.create(eAt,(r={},D_(r,_2,{value:t,writable:!0}),D_(r,z_,{value:null,writable:!0}),D_(r,m2,{value:null,writable:!0}),D_(r,X4,{value:null,writable:!0}),D_(r,bR,{value:t._readableState.endEmitted,writable:!0}),D_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[z_]=null,n[m2]=null,a(F_(s,!1))):(n[z_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,Y5t(t,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a=n[m2];a!==null&&(n[y2]=null,n[z_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[z_];o!==null&&(n[y2]=null,n[z_]=null,n[m2]=null,o(F_(void 0,!0))),n[bR]=!0}),t.on("readable",J5t.bind(null,n)),n};tAe.exports=tAt});var nAe=ye(($ur,iAe)=>{iAe.exports=function(){throw new Error("Readable.from is not available in the browser")}});var rj=ye((ecr,vAe)=>{"use strict";vAe.exports=vu;var u5;vu.ReadableState=lAe;var Qur=vb().EventEmitter,sAe=function(t,r){return t.listeners(r).length},K4=iG(),wR=u2().Buffer,rAt=window.Uint8Array||function(){};function iAt(e){return wR.from(e)}function nAt(e){return wR.isBuffer(e)||e instanceof rAt}var lj=jG(),Pl;lj&&lj.debuglog?Pl=lj.debuglog("stream"):Pl=function(){};var aAt=L5e(),pj=XG(),oAt=YG(),sAt=oAt.getHighWaterMark,TR=v2().codes,lAt=TR.ERR_INVALID_ARG_TYPE,uAt=TR.ERR_STREAM_PUSH_AFTER_EOF,cAt=TR.ERR_METHOD_NOT_IMPLEMENTED,fAt=TR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=["error","close","destroy","pause","resume"];function hAt(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function lAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!="boolean"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=sAt(this,e,"readableHighWaterMark",r),this.buffer=new aAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new lAe(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=wR.from(e,t),t=""),n=!0),uAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return uAe(this,e,null,!0,!1)};function uAe(e,t,r,n,i){Pl("readableAddChunk",t);var a=e._readableState;if(t===null)a.reading=!1,pAt(e,a);else{var o;if(i||(o=dAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!="string"&&!a.objectMode&&Object.getPrototypeOf(t)!==wR.prototype&&(t=iAt(t)),n)a.endEmitted?Y4(e,new fAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new uAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length=aAe?e=aAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function oAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=vAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Pl("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Pl("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?dj(this):AR(this),null;if(e=oAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Pl("need readable",n),(t.length===0||t.length-e0?i=hAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit("data",i),i};function pAt(e,t){if(Pl("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?AR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,cAe(e)))}}function AR(e){var t=e._readableState;Pl("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Pl("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(cAe,e))}function cAe(e){var t=e._readableState;Pl("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(gAt,e,t))}function gAt(e,t){for(;!t.reading&&!t.ended&&(t.length1&&dAe(n.pipes,e)!==-1)&&!u&&(Pl("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Pl("onerror",b),x(),e.removeListener("error",h),sAe(e,"error")===0&&Y4(e,b)}hAt(e,"error",h);function d(){e.removeListener("finish",v),x()}e.once("close",d);function v(){Pl("onfinish"),e.removeListener("close",d),x()}e.once("finish",v);function x(){Pl("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(Pl("pipe resume"),r.resume()),e};function mAt(e){return function(){var r=e._readableState;Pl("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&sAe(e,"data")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Pl("on readable",n.length,n.reading),n.length?AR(this):n.reading||process.nextTick(yAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(fAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(fAe,this),t};function fAe(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function yAt(e){Pl("readable nexttick read 0"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Pl("resume"),e.flowing=!e.readableListening,_At(this,e)),e.paused=!1,this};function _At(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(xAt,e,t))}function xAt(e,t){Pl("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Pl("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Pl("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Pl("flow",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(Pl("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on("data",function(o){if(Pl("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Pl("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(bAt,t,e))}function bAt(e,t){if(Pl("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(vu.from=function(e,t){return cj===void 0&&(cj=nAe()),cj(vu,e,t)});function dAe(e,t){for(var r=0,n=e.length;r{"use strict";gAe.exports=Hy;var SR=v2().codes,wAt=SR.ERR_METHOD_NOT_IMPLEMENTED,TAt=SR.ERR_MULTIPLE_CALLBACK,AAt=SR.ERR_TRANSFORM_ALREADY_TRANSFORMING,SAt=SR.ERR_TRANSFORM_WITH_LENGTH_0,MR=p2();Uy()(Hy,MR);function MAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new TAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";yAe.exports=J4;var mAe=mj();Uy()(J4,mAe);function J4(e){if(!(this instanceof J4))return new J4(e);mAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var AAe=ye((icr,TAe)=>{"use strict";var yj;function kAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var wAe=v2().codes,CAt=wAe.ERR_MISSING_ARGS,LAt=wAe.ERR_STREAM_DESTROYED;function xAe(e){if(e)throw e}function PAt(e){return e.setHeader&&typeof e.abort=="function"}function IAt(e,t,r,n){n=kAt(n);var i=!1;e.on("close",function(){i=!0}),yj===void 0&&(yj=_R()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,PAt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new LAt("pipe"))}}}function bAe(e){e()}function RAt(e,t){return e.pipe(t)}function DAt(e){return!e.length||typeof e[e.length-1]!="function"?xAe:e.pop()}function zAt(){for(var e=arguments.length,t=new Array(e),r=0;r0;return IAt(o,l,u,function(c){i||(i=c),c&&a.forEach(bAe),!l&&(a.forEach(bAe),n(i))})});return t.reduce(RAt)}TAe.exports=zAt});var MAe=ye((ncr,SAe)=>{SAe.exports=K0;var _j=vb().EventEmitter,FAt=Uy();FAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=_Ae();K0.finished=_R();K0.pipeline=AAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,"error")===0)throw c}r.on("error",l),e.on("error",l);function u(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}});var h5=ye(Nl=>{var EAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Nl._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=OAt),LR(r,e,r.depth)}Nl.inspect=q_;q_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};q_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function OAt(e,t){var r=q_.styles[t];return r?"\x1B["+q_.colors[r][0]+"m"+e+"\x1B["+q_.colors[r][1]+"m":e}function BAt(e,t){return e}function NAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function LR(e,t,r){if(e.customInspect&&t&&CR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return RR(n)||(n=LR(e,n,r)),n}var i=UAt(e,t);if(i)return i;var a=Object.keys(t),o=NAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return xj(t);if(a.length===0){if(CR(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(PR(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Q4(t))return xj(t)}var l="",u=!1,c=["{","}"];if(CAe(t)&&(u=!0,c=["[","]"]),CR(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if($4(t)&&(l=" "+RegExp.prototype.toString.call(t)),PR(t)&&(l=" "+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=" "+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=VAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),HAt(h,l,c)}function UAt(e,t){if(b2(t))return e.stylize("undefined","undefined");if(RR(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(LAe(t))return e.stylize(""+t,"number");if(Tj(t))return e.stylize(""+t,"boolean");if(IR(t))return e.stylize("null","null")}function xj(e){return"["+Error.prototype.toString.call(e)+"]"}function VAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` +`).map(function(u){return" "+u}).join(` +`).slice(2):s=` +`+s.split(` +`).map(function(u){return" "+u}).join(` +`))):s=e.stylize("[Circular]","special")),b2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function HAt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` +`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` + `)+" "+e.join(`, + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}Nl.types=OG();function CAe(e){return Array.isArray(e)}Nl.isArray=CAe;function Tj(e){return typeof e=="boolean"}Nl.isBoolean=Tj;function IR(e){return e===null}Nl.isNull=IR;function GAt(e){return e==null}Nl.isNullOrUndefined=GAt;function LAe(e){return typeof e=="number"}Nl.isNumber=LAe;function RR(e){return typeof e=="string"}Nl.isString=RR;function jAt(e){return typeof e=="symbol"}Nl.isSymbol=jAt;function b2(e){return e===void 0}Nl.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)==="[object RegExp]"}Nl.isRegExp=$4;Nl.types.isRegExp=$4;function f5(e){return typeof e=="object"&&e!==null}Nl.isObject=f5;function PR(e){return f5(e)&&Aj(e)==="[object Date]"}Nl.isDate=PR;Nl.types.isDate=PR;function Q4(e){return f5(e)&&(Aj(e)==="[object Error]"||e instanceof Error)}Nl.isError=Q4;Nl.types.isNativeError=Q4;function CR(e){return typeof e=="function"}Nl.isFunction=CR;function WAt(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}Nl.isPrimitive=WAt;Nl.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?"0"+e.toString(10):e.toString(10)}var ZAt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function XAt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(":");return[e.getDate(),ZAt[e.getMonth()],t].join(" ")}Nl.log=function(){console.log("%s - %s",XAt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function PAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;Nl.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function O_(e){"@babel/helpers - typeof";return O_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},O_(e)}function IAe(e,t){for(var r=0;r2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function oSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function sSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function lSt(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError);eE("ERR_INVALID_ARG_TYPE",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e=="string","'name' must be a string");var n;typeof t=="string"&&oSt(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(sSt(e," argument"))i="The ".concat(e," ").concat(n," ").concat(RAe(t,"type"));else{var a=lSt(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(RAe(t,"type"))}return i+=". Received type ".concat(O_(r)),i},TypeError);eE("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError);eE("ERR_INVALID_RETURN_VALUE",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n="instance of ".concat(r.constructor.name):n="type ".concat(O_(r)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(n,".")},TypeError);eE("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(a){return'"'.concat(a,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments");break}return"".concat(n," must be specified")},TypeError);zAe.exports.codes=DAe});var jAe=ye((scr,GAe)=>{"use strict";function FAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qAe(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}function _St(e,t){if(t=Math.floor(t),e.length==0||t==0)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg="",rE="",iE="",xv="",w2={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},xSt=10;function NAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,"message",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function bSt(e,t,r){var n="",i="",a=0,o="",s=!1,l=nE(e),u=l.split(` +`),c=nE(t).split(` +`),f=0,h="";if(r==="strictEqual"&&Dp(e)==="object"&&Dp(t)==="object"&&e!==null&&t!==null&&(r="strictEqualObject"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=xSt){if((Dp(e)!=="object"||e===null)&&(Dp(t)!=="object"||t===null)&&(e!==0||t!==0))return"".concat(w2[r],` + +`)+"".concat(u[0]," !== ").concat(c[0],` +`)}else if(r!=="strictEqualObject"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d2&&(h=` + `.concat(_St(" ",f),"^"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=` + `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var g=Math.max(u.length,c.length);if(g===0){var E=l.split(` +`);if(E.length>30)for(E[26]="".concat(Gg,"...").concat(xv);E.length>27;)E.pop();return"".concat(w2.notIdentical,` + +`).concat(E.join(` +`),` +`)}f>3&&(o=` +`.concat(Gg,"...").concat(xv).concat(o),s=!0),n!==""&&(o=` + `.concat(n).concat(o),n="");var k=0,A=w2[r]+` +`.concat(rE,"+ actual").concat(xv," ").concat(iE,"- expected").concat(xv),L=" ".concat(Gg,"...").concat(xv," Lines skipped");for(f=0;f1&&f>2&&(_>4?(i+=` +`.concat(Gg,"...").concat(xv),s=!0):_>3&&(i+=` + `.concat(c[f-2]),k++),i+=` + `.concat(c[f-1]),k++),a=f,n+=` +`.concat(iE,"-").concat(xv," ").concat(c[f]),k++;else if(c.length1&&f>2&&(_>4?(i+=` +`.concat(Gg,"...").concat(xv),s=!0):_>3&&(i+=` + `.concat(u[f-2]),k++),i+=` + `.concat(u[f-1]),k++),a=f,i+=` +`.concat(rE,"+").concat(xv," ").concat(u[f]),k++;else{var C=c[f],M=u[f],p=M!==C&&(!BAe(M,",")||M.slice(0,-1)!==C);p&&BAe(C,",")&&C.slice(0,-1)===M&&(p=!1,M+=","),p?(_>1&&f>2&&(_>4?(i+=` +`.concat(Gg,"...").concat(xv),s=!0):_>3&&(i+=` + `.concat(u[f-2]),k++),i+=` + `.concat(u[f-1]),k++),a=f,i+=` +`.concat(rE,"+").concat(xv," ").concat(M),n+=` +`.concat(iE,"-").concat(xv," ").concat(C),k+=2):(i+=n,n="",(_===1||f===0)&&(i+=` + `.concat(M),k++))}if(k>20&&f30)for(d[26]="".concat(Gg,"...").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,"".concat(h," ").concat(d[0])):a=r.call(this,"".concat(h,` + +`).concat(d.join(` +`),` +`))}else{var v=nE(u),x="",b=w2[s];s==="notDeepEqual"||s==="notEqual"?(v="".concat(w2[s],` + +`).concat(v),v.length>1024&&(v="".concat(v.slice(0,1021),"..."))):(x="".concat(nE(c)),v.length>512&&(v="".concat(v.slice(0,509),"...")),x.length>512&&(x="".concat(x.slice(0,509),"...")),s==="deepEqual"||s==="equal"?v="".concat(b,` + +`).concat(v,` + +should equal + +`):x=" ".concat(s," ").concat(x)),a=r.call(this,"".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),a.code="ERR_ASSERTION",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name="AssertionError",VAe(a)}return fSt(n,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,qAe(qAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);GAe.exports=wSt});var Pj=ye((lcr,ZAe)=>{"use strict";var WAe=Object.prototype.toString;ZAe.exports=function(t){var r=WAe.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&WAe.call(t.callee)==="[object Function]"),n}});var rSe=ye((ucr,tSe)=>{"use strict";var eSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,XAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,YAe=!Rj.call({toString:null},"toString"),KAe=Rj.call(function(){},"prototype"),lE=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],FR=function(e){var t=e.constructor;return t&&t.prototype===e},JAe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},$Ae=function(){if(typeof window=="undefined")return!1;for(var e in window)try{if(!JAe["$"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{FR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),QAe=function(e){if(typeof window=="undefined"||!$Ae)return FR(e);try{return FR(e)}catch(t){return!1}},eSe=function(t){var r=t!==null&&typeof t=="object",n=Ij.call(t)==="[object Function]",i=XAe(t),a=r&&Ij.call(t)==="[object String]",o=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var s=KAe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l0)for(var u=0;u{"use strict";var TSt=Array.prototype.slice,ASt=Pj(),iSe=Object.keys,qR=iSe?function(t){return iSe(t)}:rSe(),nSe=Object.keys;qR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return ASt(n)?nSe(TSt.call(n)):nSe(n)})}else Object.keys=qR;return Object.keys||qR};aSe.exports=qR});var fSe=ye((fcr,cSe)=>{"use strict";var SSt=Dj(),lSe=O8()(),uSe=i5(),oSe=Object,MSt=uSe("Array.prototype.push"),sSe=uSe("Object.prototype.propertyIsEnumerable"),ESt=lSe?Object.getOwnPropertySymbols:null;cSe.exports=function(t,r){if(t==null)throw new TypeError("target must be an object");var n=oSe(t);if(arguments.length===1)return n;for(var i=1;i{"use strict";var zj=fSe(),kSt=function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),r={},n=0;n{"use strict";var vSe=function(e){return e!==e};pSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||vSe(t)&&vSe(r))}});var OR=ye((vcr,gSe)=>{"use strict";var LSt=Fj();gSe.exports=function(){return typeof Object.is=="function"?Object.is:LSt}});var uE=ye((pcr,xSe)=>{"use strict";var PSt=Dj(),ISt=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",RSt=Object.prototype.toString,DSt=Array.prototype.concat,mSe=Object.defineProperty,zSt=function(e){return typeof e=="function"&&RSt.call(e)==="[object Function]"},FSt=yG()(),ySe=mSe&&FSt,qSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!zSt(n)||!n())return}ySe?mSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},_Se=function(e,t){var r=arguments.length>2?arguments[2]:{},n=PSt(t);ISt&&(n=DSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{"use strict";var OSt=OR(),BSt=uE();bSe.exports=function(){var t=OSt();return BSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var MSe=ye((mcr,SSe)=>{"use strict";var NSt=uE(),USt=N4(),VSt=Fj(),TSe=OR(),HSt=wSe(),ASe=USt(TSe(),Object);NSt(ASe,{getPolyfill:TSe,implementation:VSt,shim:HSt});SSe.exports=ASe});var qj=ye((ycr,ESe)=>{"use strict";ESe.exports=function(t){return t!==t}});var Oj=ye((_cr,kSe)=>{"use strict";var GSt=qj();kSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:GSt}});var LSe=ye((xcr,CSe)=>{"use strict";var jSt=uE(),WSt=Oj();CSe.exports=function(){var t=WSt();return jSt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var DSe=ye((bcr,RSe)=>{"use strict";var ZSt=N4(),XSt=uE(),YSt=qj(),PSe=Oj(),KSt=LSe(),ISe=ZSt(PSe(),Number);XSt(ISe,{getPolyfill:PSe,implementation:YSt,shim:KSt});RSe.exports=ISe});var eMe=ye((wcr,QSe)=>{"use strict";function zSe(e,t){return eMt(e)||QSt(e,t)||$St(e,t)||JSt()}function JSt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $St(e,t){if(e){if(typeof e=="string")return FSe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return FSe(e,t)}}function FSe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function UR(e){return Object.keys(e).filter(uMt).concat(HR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function YSe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i{"use strict";function jg(e){"@babel/helpers - typeof";return jg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jg(e)}function tMe(e,t){for(var r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,zMt=mE*365.25;_Me.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return FMt(e);if(r==="number"&&isNaN(e)===!1)return t.long?OMt(e):qMt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function FMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*zMt;case"days":case"day":case"d":return r*mE;case"hours":case"hour":case"hrs":case"hr":case"h":return r*gE;case"minutes":case"minute":case"mins":case"min":case"m":return r*pE;case"seconds":case"second":case"secs":case"sec":case"s":return r*vE;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function qMt(e){return e>=mE?Math.round(e/mE)+"d":e>=gE?Math.round(e/gE)+"h":e>=pE?Math.round(e/pE)+"m":e>=vE?Math.round(e/vE)+"s":e+"ms"}function OMt(e){return JR(e,mE,"day")||JR(e,gE,"hour")||JR(e,pE,"minute")||JR(e,vE,"second")||e+" ms"}function JR(e,t,r){if(!(e{$u=bMe.exports=jj.debug=jj.default=jj;$u.coerce=HMt;$u.disable=UMt;$u.enable=NMt;$u.enabled=VMt;$u.humanize=xMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function BMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o{lp=AMe.exports=wMe();lp.log=WMt;lp.formatArgs=jMt;lp.save=ZMt;lp.load=TMe;lp.useColors=GMt;lp.storage=typeof chrome!="undefined"&&typeof chrome.storage!="undefined"?chrome.storage.local:XMt();lp.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function GMt(){return typeof window!="undefined"&&window.process&&window.process.type==="renderer"?!0:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}};function jMt(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+lp.humanize(this.diff),!!t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!=="%%"&&(n++,a==="%c"&&(i=n))}),e.splice(i,0,r)}}function WMt(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function ZMt(e){try{e==null?lp.storage.removeItem("debug"):lp.storage.debug=e}catch(t){}}function TMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!="undefined"&&"env"in process&&(e=process.env.DEBUG),e}lp.enable(TMe());function XMt(){try{return window.localStorage}catch(e){}}});var RMe=ye((Scr,IMe)=>{var p5=tE(),V_=SMe()("stream-parser");IMe.exports=KMt;var EMe=-1,$R=0,YMt=1,kMe=2;function KMt(e){var t=e&&typeof e._transform=="function",r=e&&typeof e._write=="function";if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");V_("extending Parser into stream"),e._bytes=JMt,e._skipBytes=$Mt,t&&(e._passthrough=QMt),t?e._transform=t4t:e._write=e4t}function yE(e){V_("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=EMe,e._parserCallback=null,typeof e.push=="function"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function JMt(e,t){p5(!this._parserCallback,'there is already a "callback" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||yE(this),V_("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=$R}function $Mt(e,t){p5(!this._parserCallback,'there is already a "callback" set!'),p5(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||yE(this),V_("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=YMt}function QMt(e,t){p5(!this._parserCallback,'There is already a "callback" set!'),p5(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||yE(this),V_("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=kMe}function e4t(e,t,r){this._parserInit||yE(this),V_("write(%o bytes)",e.length),typeof t=="function"&&(r=t),LMe(this,e,null,r)}function t4t(e,t,r){this._parserInit||yE(this),V_("transform(%o bytes)",e.length),typeof t!="function"&&(t=this._parserOutput),LMe(this,e,t,r)}function CMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error("got data but not currently parsing anything")):t.length<=e._parserBytesLeft?function(){return MMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return MMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return CMe(e,t.slice(i.length),r,n)}})}}function MMe(e,t,r,n){if(e._parserBytesLeft-=t.length,V_("%o bytes left for stream piece",e._parserBytesLeft),e._parserState===$R?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===kMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===$R&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==$R&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=EMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(PMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var LMe=PMe(CMe);function PMe(e){return function(){for(var t=e.apply(this,arguments);typeof t=="function";)t=t();return t}}});var Eu=ye(Gy=>{"use strict";var DMe=MAe().Transform,r4t=RMe();function _E(){DMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(DMe.prototype);_E.prototype.constructor=_E;r4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i{"use strict";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;sa.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}eD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(s4t(e,t),!!t.sizes.length){var r=l4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type==="imir"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type==="irot")for(var l=0;l{"use strict";function tD(e,t){var r=new Error(e);return r.code=t,r}function u4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!=="II*\0"&&n!=="MM\0*")throw tD("invalid TIFF signature","EBADDATA");this.big_endian=n[0]==="M"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw tD("unexpected EOF","EBADDATA");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw tD("unexpected EOF","EBADDATA");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;ithis.input.length)throw tD("unexpected EOF","EBADDATA");for(var h=[],d=c,v=0;v0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var qMe=ye((Ccr,FMe)=>{"use strict";var c4t=Eu().str2arr,f4t=Eu().sliceEq,h4t=Eu().readUInt32BE,iD=zMe(),d4t=rD(),v4t=c4t("ftyp");FMe.exports=function(e){if(f4t(e,4,v4t)){var t=iD.unbox(e,0);if(t){var r=iD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=iD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype==="mdat")return;if(a.boxtype==="meta"){n=a.data;break}}if(n){var o=iD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=h4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=d4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var NMe=ye((Lcr,BMe)=>{"use strict";var p4t=Eu().str2arr,g4t=Eu().sliceEq,OMe=Eu().readUInt16LE,m4t=p4t("BM");BMe.exports=function(e){if(!(e.length<26)&&g4t(e,0,m4t))return{width:OMe(e,18),height:OMe(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}});var jMe=ye((Pcr,GMe)=>{"use strict";var HMe=Eu().str2arr,UMe=Eu().sliceEq,VMe=Eu().readUInt16LE,y4t=HMe("GIF87a"),_4t=HMe("GIF89a");GMe.exports=function(e){if(!(e.length<10)&&!(!UMe(e,0,y4t)&&!UMe(e,0,_4t)))return{width:VMe(e,6),height:VMe(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}});var XMe=ye((Icr,ZMe)=>{"use strict";var Yj=Eu().readUInt16LE,x4t=0,b4t=1,WMe=16;ZMe.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==x4t||r!==b4t||!n)){for(var i=[],a={width:0,height:0},o=0;oa.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}});var KMe=ye((Rcr,YMe)=>{"use strict";var Kj=Eu().readUInt16BE,w4t=Eu().str2arr,T4t=Eu().sliceEq,A4t=rD(),S4t=w4t("Exif\0\0");YMe.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&T4t(e,t,S4t)&&(i=A4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(a.orientation=i),a}t+=n}}});var t4e=ye((Dcr,e4e)=>{"use strict";var QMe=Eu().str2arr,JMe=Eu().sliceEq,$Me=Eu().readUInt32BE,M4t=QMe(`\x89PNG\r + +`),E4t=QMe("IHDR");e4e.exports=function(e){if(!(e.length<24)&&JMe(e,0,M4t)&&JMe(e,12,E4t))return{width:$Me(e,16),height:$Me(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}});var n4e=ye((zcr,i4e)=>{"use strict";var k4t=Eu().str2arr,C4t=Eu().sliceEq,r4e=Eu().readUInt32BE,L4t=k4t("8BPS\0");i4e.exports=function(e){if(!(e.length<22)&&C4t(e,0,L4t))return{width:r4e(e,18),height:r4e(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}});var s4e=ye((Fcr,o4e)=>{"use strict";function P4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e=="number"&&isFinite(e)&&e>0}function I4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,D4t=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,z4t=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,F4t=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,q4t=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,a4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function O4t(e){var t=e.match(z4t),r=e.match(F4t),n=e.match(q4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return a4e.test(e)?e.match(a4e)[0]:"px"}o4e.exports=function(e){if(I4t(e)){for(var t="",r=0;r{"use strict";var c4e=Eu().str2arr,l4e=Eu().sliceEq,B4t=Eu().readUInt16LE,N4t=Eu().readUInt16BE,U4t=Eu().readUInt32LE,V4t=Eu().readUInt32BE,H4t=c4e("II*\0"),G4t=c4e("MM\0*");function nD(e,t,r){return r?N4t(e,t):B4t(e,t)}function Jj(e,t,r){return r?V4t(e,t):U4t(e,t)}function u4e(e,t,r){var n=nD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?nD(e,t+8,r):Jj(e,t+8,r)}f4e.exports=function(e){if(!(e.length<8)&&!(!l4e(e,0,H4t)&&!l4e(e,0,G4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=nD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n{"use strict";var p4e=Eu().str2arr,d4e=Eu().sliceEq,v4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,j4t=rD(),W4t=p4e("RIFF"),Z4t=p4e("WEBP");function X4t(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:v4e(e,t+6)&16383,height:v4e(e,t+8)&16383,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function Y4t(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function K4t(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||X4t(e,t+8):a==="VP8L"&&o>=9?r=r||Y4t(e,t+8):a==="VP8X"&&o>=10?r=r||K4t(e,t+8):a==="EXIF"&&(n=j4t.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var _4e=ye((Bcr,y4e)=>{"use strict";y4e.exports={avif:qMe(),bmp:NMe(),gif:jMe(),ico:XMe(),jpeg:KMe(),png:t4e(),psd:n4e(),svg:s4e(),tiff:h4e(),webp:m4e()}});var x4e=ye((Ncr,eW)=>{"use strict";var Qj=_4e();function J4t(e){for(var t=Object.keys(Qj),r=0;r{"use strict";var $4t=x4e(),Q4t=Ly().IMAGE_URL_PREFIX,eEt=u2().Buffer;b4e.getImageSize=function(e){var t=e.replace(Q4t,""),r=new eEt(t,"base64");return $4t(r)}});var S4e=ye((Vcr,A4e)=>{"use strict";var T4e=Mr(),tEt=jT(),rEt=uo(),aD=Qa(),iEt=Mr().maxRowLength,nEt=w4e().getImageSize;A4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=iEt(r.z);else if(r._hasSource){var a=nEt(r.source);n=a.height,i=a.width}var o=aD.getFromId(t,r.xaxis||"x"),s=aD.getFromId(t,r.yaxis||"y"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type==="log")for(c=0;c{"use strict";var lEt=xa(),T2=Mr(),M4e=T2.strTranslate,uEt=Zp(),cEt=jT(),fEt=jV(),hEt=a8().STYLE;E4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&fEt();T2.makeTraceGroups(i,n,"im").each(function(l){var u=lEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth==="fast"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type==="linear"&&o.type==="linear";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,g=c.h,E=f.dx,k=f.dy,A,L,_,C,M,p;for(p=0;A===void 0&&p0;)L=a.c2p(v+p*E),p--;for(p=0;C===void 0&&p0;)M=o.c2p(x+p*k),p--;if(LW[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+="transform:"+M4e(_e+"px",Me+"px")+"scale("+(re?-1:1)+","+(ae?-1:1)+")"+M4e(-_e+"px",-Me+"px")+";"}}X.attr("style",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===g&&f._canvas.source===f.source)ge();else{var ie=document.createElement("canvas");ie.width=b,ie.height=g;var Te=ie.getContext("2d",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute("src",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL("image/png");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext("2d",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,g).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL("image/png")}X.attr({"xlink:href":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var L4e=ye((Gcr,C4e)=>{"use strict";var dEt=xa();C4e.exports=function(t){dEt.select(t).selectAll(".im image").style("opacity",function(r){return r[0].trace.opacity})}});var D4e=ye((jcr,R4e)=>{"use strict";var P4e=Nc(),I4e=Mr(),oD=I4e.isArrayOrTypedArray,vEt=jT();R4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(P4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||P4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split("+");d.indexOf("all")!==-1&&(d=["color"]),d.indexOf("color")!==-1&&(h=!0)}var v=vEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,g=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push("["+[g[0]+E[0],g[1]+E[1],g[2]+E[2]].join(", ")),b===4&&k.push(", "+g[3]+E[3]),k.push("]"),k=k.join(""),t.extraText=x.toUpperCase()+": "+k);var A;oD(a.hovertext)&&oD(a.hovertext[u])?A=a.hovertext[u][l]:oD(a.text)&&oD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M="["+c.slice(0,a.colormodel.length).join(", ")+"]";return[I4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:g,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,"color[0]Label":g[0]+E[0],"color[1]Label":g[1]+E[1],"color[2]Label":g[2]+E[2],"color[3]Label":g[3]+E[3]}})]}}}});var F4e=ye((Wcr,z4e)=>{"use strict";z4e.exports=function(t,r){return"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var O4e=ye((Zcr,q4e)=>{"use strict";q4e.exports={attributes:tG(),supplyDefaults:y3e(),calc:S4e(),plot:k4e(),style:L4e(),hoverPoints:D4e(),eventData:F4e(),moduleType:"trace",name:"image",basePlotModule:Jf(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}});var N4e=ye((Xcr,B4e)=>{"use strict";B4e.exports=O4e()});var A2=ye((Ycr,U4e)=>{"use strict";var pEt=vl(),gEt=Ju().attributes,mEt=Su(),yEt=dh(),_Et=Wo().hovertemplateAttrs,xEt=Wo().texttemplateAttrs,bE=no().extendFlat,bEt=Ed().pattern,sD=mEt({editType:"plot",arrayOk:!0,colorEditType:"plot"});U4e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:yEt.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:bEt,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:bE({},pEt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:_Et({},{keys:["label","color","value","percent","text"]}),texttemplate:xEt({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:bE({},sD,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:bE({},sD,{}),outsidetextfont:bE({},sD,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:bE({},sD,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:gEt({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}});var S2=ye((Kcr,G4e)=>{"use strict";var wEt=uo(),wE=Mr(),TEt=A2(),AEt=Ju().defaults,SEt=r0().handleText,MEt=Mr().coercePattern;function V4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function H4e(e,t,r,n,i){var a=n("marker.line.width");a&&n("marker.line.color",i?void 0:r.paper_bgcolor);var o=n("marker.colors");MEt(n,"marker.pattern",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function EEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,TEt,E,k)}var a=i("labels"),o=i("values"),s=V4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i("label0"),i("dlabel")),!l){t.visible=!1;return}t._length=l,H4e(e,t,n,i,!0),i("scalegroup");var u=i("text"),c=i("texttemplate"),f;if(c||(f=i("textinfo",wE.isArrayOrTypedArray(u)?"text+percent":"percent")),i("hovertext"),i("hovertemplate"),c||f&&f!=="none"){var h=i("textposition");SEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h==="auto",v=d||h==="outside";v&&i("automargin"),(h==="inside"||h==="auto"||Array.isArray(h))&&i("insidetextorientation")}else f==="none"&&i("textposition","none");AEt(t,n,i);var x=i("hole"),b=i("title.text");if(b){var g=i("title.position",x?"middle center":"top center");!x&&g==="middle center"&&(t.title.position="top center"),wE.coerceFont(i,"title.font",n.font)}i("sort"),i("direction"),i("rotation"),i("pull")}G4e.exports={handleLabelsAndValues:V4e,handleMarkerDefaults:H4e,supplyDefaults:EEt}});var lD=ye((Jcr,j4e)=>{"use strict";j4e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var Z4e=ye(($cr,W4e)=>{"use strict";var kEt=Mr(),CEt=lD();W4e.exports=function(t,r){function n(i,a){return kEt.coerce(t,r,CEt,i,a)}n("hiddenlabels"),n("piecolorway",r.colorway),n("extendpiecolors")}});var y5=ye((Qcr,K4e)=>{"use strict";var LEt=uo(),tW=id(),PEt=va(),IEt={};function REt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c=0});var A=t.type==="funnelarea"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function X4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=PEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function DEt(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,a=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=Y4e(a,IEt));for(var s=0,l=0;l{"use strict";var zEt=rp().appendArrayMultiPointValues;J4e.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),zEt(n,r,t.pts),r.type==="funnelarea"&&(delete n.v,delete n.i),n}});var hD=ye((tfr,_Ee)=>{"use strict";var zp=xa(),FEt=Xu(),uD=Nc(),nEe=va(),Wy=ao(),ev=Mr(),qEt=ev.strScale,Q4e=ev.strTranslate,rW=Ll(),aEe=_v(),OEt=aEe.recordMinTextSize,BEt=aEe.clearMinTextSize,oEe=Qb().TEXTPAD,Zo=l_(),cD=$4e(),eEe=Mr().isValidTextValue;function NEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;BEt("pie",n),uEe(t,e),gEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,"trace").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;YEt(o),s.attr("stroke-linejoin","round"),s.each(function(){var c=zp.select(this).selectAll("g.slice").data(o);c.enter().append("g").classed("slice",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll("path,g").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),p=M.selectAll("path.surface").data([A]);if(p.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),M.call(sEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return"a"+ae*l.r+","+ae*l.r+" 0 "+A.largeArc+(re?" 1 ":" 0 ")+_e+","+Me}var F=u.hole;if(A.v===l.vTotal){var q="M"+(_+A.px0[0])+","+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+"Z";F?p.attr("d","M"+(_+F*A.px0[0])+","+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+"Z"+q):p.attr("d",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;p.attr("d","M"+(_+F*A.px1[0])+","+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+"l"+H*A.px0[0]+","+H*A.px0[1]+V+"Z")}else p.attr("d","M"+_+","+C+"l"+A.px0[0]+","+A.px0[1]+V+"Z")}mEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll("g.slicetext").data(A.text&&X!=="none"?[0]:[]);G.enter().append("g").classed("slicetext",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),"text","",function(ie){ie.attr("data-notex",1)}),W=ev.ensureUniformFontSize(e,X==="outside"?VEt(u,A,n.font):lEe(u,A,n.font));N.text(A.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X==="outside")ae=iEe(re,A);else if(ae=cEe(re,A,l),X==="auto"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=iEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:fD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),yEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,OEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll("g.titletext").data(u.title.text?[0]:[]);if(d.enter().append("g").classed("titletext",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),"text","",function(C){C.attr("data-notex",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position==="middle center"?_=jEt(l):_=vEe(l,i),A.attr("transform",Q4e(_.x,_.y)+qEt(Math.min(1,_.scale))+Q4e(_.tx,_.ty))}),h&&ZEt(f,u),UEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),g=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*g-l.r)/i.h;FEt.autoMargin(e,"pie."+u.uid+".automargin",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll("tspan").each(function(){var o=zp.select(this);o.attr("dy")&&o.attr("dy",o.attr("dy"))})},0)}function UEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select("path.textline").remove();return}var i=n.select("g.slicetext text");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s="M"+a+","+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+="l"+c*r.pxmid[0]/r.pxmid[1]+","+c+"H"+(a+r.labelExtraX+l):s+="l"+r.labelExtraX+","+u+"v"+(c-u)+"h"+l}else s+="V"+(r.yLabelMid+r.labelExtraY)+"h"+l;ev.ensureSingle(n,"path","textline").call(nEe.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:s,fill:"none"})})}function sEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type==="funnelarea";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),e.on("mouseover",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=uD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f==="all"&&(f="label+text+value+percent+name"),c.hovertemplate||f!=="none"&&f!=="skip"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf("label")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf("text")!==-1){var g=l.text;ev.isValidTextValue(g)&&b.push(g)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf("value")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf("percent")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];uD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join("
"),name:c.hovertemplate||f.indexOf("name")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?"left":"right",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[cD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit("plotly_hover",{points:[cD(l,c)],event:zp.event})}}),e.on("mouseout",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit("plotly_unhover",{points:[cD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(uD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on("click",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[cD(l,c)],uD.click(t,zp.event))})}function VEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function lEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||nEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function uEe(e,t){for(var r,n,i=0;i=-4;E-=2)g(Math.PI*E,"tan");for(E=4;E>=-4;E-=2)g(Math.PI*(E+1),"tan")}if(f||d){for(E=4;E>=-4;E-=2)g(Math.PI*(E+1.5),"rad");for(E=4;E>=-4;E-=2)g(Math.PI*(E+.5),"rad")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=tEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=rEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_=1)break}return x[A]}function HEt(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function jEt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function vEe(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=pEe(a),a.title.position.indexOf("top")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf("bottom")!==-1&&(o.y+=(1+i)*e.r);var l=WEt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf("left")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf("center")!==-1?u*=2:a.title.position.indexOf("right")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function WEt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function pEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function ZEt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function g(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),p=L-_,P,T,F,q,V,H;if(p*l>0&&(k.labelExtraY=p),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),p=q-_-k.labelExtraY,p*l>0&&(k.labelExtraY+=p)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=GEt(u,t))}function fD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function mEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!=="none"){var s=o.split("+"),l=function(A){return s.indexOf(A)!==-1},u=l("label"),c=l("text"),f=l("value"),h=l("percent"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);eEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join("
")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,"customdata")}}if(a){var g=ev.castOption(i,t.i,"texttemplate");if(!g)t.text="";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(eEe(k)||k==="")&&(E.text=k),t.text=ev.texttemplateString(g,E,e._fullLayout._d3locale,E,i._meta||{})}}}function yEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}_Ee.exports={plot:NEt,formatSliceLabel:mEe,transformInsideText:cEe,determineInsideTextFont:lEe,positionTitleOutside:vEe,prerenderTitles:uEe,layoutAreas:gEe,attachFxHandlers:sEe,computeTransform:yEe}});var wEe=ye((rfr,bEe)=>{"use strict";var xEe=xa(),KEt=z3(),JEt=_v().resizeText;bEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(".trace");JEt(t,r,"pie"),r.each(function(n){var i=n[0],a=i.trace,o=xEe.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){xEe.select(this).call(KEt,s,a,t)})})}});var AEe=ye(_5=>{"use strict";var TEe=Xu();_5.name="pie";_5.plot=function(e,t,r,n){TEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){TEe.cleanBasePlot(_5.name,e,t,r,n)}});var MEe=ye((nfr,SEe)=>{"use strict";SEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:Z4e(),layoutAttributes:lD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:hD().plot,style:wEe(),styleOne:z3(),moduleType:"trace",name:"pie",basePlotModule:AEe(),categories:["pie-like","pie","showLegend"],meta:{}}});var kEe=ye((afr,EEe)=>{"use strict";EEe.exports=MEe()});var LEe=ye(x5=>{"use strict";var CEe=Xu();x5.name="sunburst";x5.plot=function(e,t,r,n){CEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){CEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((sfr,PEe)=>{"use strict";PEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}});var AE=ye((lfr,REe)=>{"use strict";var $Et=vl(),QEt=Wo().hovertemplateAttrs,ekt=Wo().texttemplateAttrs,tkt=Kl(),rkt=Ju().attributes,Zy=A2(),IEe=nW(),TE=no().extendFlat,ikt=Ed().pattern;REe.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:TE({colors:{valType:"data_array",editType:"calc"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:"calc"},pattern:ikt,editType:"calc"},tkt("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:Zy.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:ekt({editType:"plot"},{keys:IEe.eventDataKeys.concat(["label","value"])}),hovertext:Zy.hovertext,hoverinfo:TE({},$Et.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:QEt({},{keys:IEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:Zy.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:rkt({name:"sunburst",trace:!0,editType:"calc"})}});var aW=ye((ufr,DEe)=>{"use strict";DEe.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var OEe=ye((cfr,qEe)=>{"use strict";var zEe=Mr(),nkt=AE(),akt=Ju().defaults,okt=r0().handleText,skt=S2().handleMarkerDefaults,FEe=Mu(),lkt=FEe.hasColorscale,ukt=FEe.handleDefaults;qEe.exports=function(t,r,n,i){function a(h,d){return zEe.coerce(t,r,nkt,h,d)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),skt(t,r,i,a);var u=r._hasColorscale=lkt(t,"marker","colors")||(t.marker||{}).coloraxis;u&&ukt(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",u?1:.7);var c=a("text");a("texttemplate"),r.texttemplate||a("textinfo",zEe.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate");var f="auto";okt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("insidetextorientation"),a("sort"),a("rotation"),a("root.color"),akt(r,i,a),r._length=null}});var NEe=ye((ffr,BEe)=>{"use strict";var ckt=Mr(),fkt=aW();BEe.exports=function(t,r){function n(i,a){return ckt.coerce(t,r,fkt,i,a)}n("sunburstcolorway",r.colorway),n("extendsunburstcolors")}});var SE=ye((dD,UEe)=>{(function(e,t){typeof dD=="object"&&typeof UEe!="undefined"?t(dD):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(dD,function(e){"use strict";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=g(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function g(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(p)}function M(Ve){return Ve.children}function p(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;htVt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt0)throw new Error("cycle");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.xjr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn>>1;ar[ft]Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,"__esModule",{value:!0})})});var EE=ye(ME=>{"use strict";var VEe=SE(),hkt=uo(),b5=Mr(),dkt=Mu().makeColorScaleFuncFromTrace,vkt=y5().makePullColorFn,pkt=y5().generateExtendedColors,gkt=Mu().calc,mkt=es().ALMOST_EQUAL,ykt={},_kt={},xkt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G=="number"},v=function(G){return!l||hkt(s[G])&&s[G]>=0},x,b,g;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},g=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},g=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E1){for(var M=b5.randstr(),p=0;p{});function Vm(){}function jEe(){return this.rgb().formatHex()}function kkt(){return this.rgb().formatHex8()}function Ckt(){return $Ee(this).formatHsl()}function WEe(){return this.rgb().formatRgb()}function j_(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=bkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?ZEe(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?pD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?pD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=wkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Tkt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Akt.exec(e))?pD(t[1],t[2],t[3],t[4]):(t=Skt.exec(e))?pD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Mkt.exec(e))?KEe(t[1],t[2]/100,t[3]/100,1):(t=Ekt.exec(e))?KEe(t[1],t[2]/100,t[3]/100,t[4]):GEe.hasOwnProperty(e)?ZEe(GEe[e]):e==="transparent"?new hd(NaN,NaN,NaN,0):null}function ZEe(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function pD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=j_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function XEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Lkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function YEe(){let e=mD(this.opacity);return`${e===1?"rgb(":"rgba("}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?")":`, ${e})`}`}function mD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?"0":"")+e.toString(16)}function KEe(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function $Ee(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=j_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?$Ee(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function JEe(e){return e=(e||0)%360,e<0?e+360:e}function gD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var G_,k2,w5,kE,Um,bkt,wkt,Tkt,Akt,Skt,Mkt,Ekt,GEe,yD=su(()=>{vD();G_=.7,k2=1/G_,w5="\\s*([+-]?\\d+)\\s*",kE="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Um="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",bkt=/^#([0-9a-f]{3,8})$/,wkt=new RegExp(`^rgb\\(${w5},${w5},${w5}\\)$`),Tkt=new RegExp(`^rgb\\(${Um},${Um},${Um}\\)$`),Akt=new RegExp(`^rgba\\(${w5},${w5},${w5},${kE}\\)$`),Skt=new RegExp(`^rgba\\(${Um},${Um},${Um},${kE}\\)$`),Mkt=new RegExp(`^hsl\\(${kE},${Um},${Um}\\)$`),Ekt=new RegExp(`^hsla\\(${kE},${Um},${Um},${kE}\\)$`),GEe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xy(Vm,j_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:jEe,formatHex:jEe,formatHex8:kkt,formatHsl:Ckt,formatRgb:WEe,toString:WEe});Xy(hd,T5,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),mD(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:XEe,formatHex:XEe,formatHex8:Lkt,formatRgb:YEe,toString:YEe}));Xy(Zg,LE,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(JEe(this.h),gD(this.s),gD(this.l),mD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=mD(this.opacity);return`${e===1?"hsl(":"hsla("}${JEe(this.h)}, ${gD(this.s)*100}%, ${gD(this.l)*100}%${e===1?")":`, ${e})`}`}}))});var _D,xD,sW=su(()=>{_D=Math.PI/180,xD=180/Math.PI});function nke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return ake(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/eke),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/QEe),o=lW((.0139322*t+.0971045*r+.7141733*n)/tke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?nke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Pkt?Math.pow(e,1/3):e/ike+rke}function uW(e){return e>A5?e*e*e:ike*(e-rke)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ikt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=nke(e)),e.a===0&&e.b===0)return new Yy(NaN,0{vD();yD();sW();bD=18,QEe=.96422,eke=1,tke=.82521,rke=4/29,A5=6/29,ike=3*A5*A5,Pkt=A5*A5*A5;Xy(Hm,S5,H_(Vm,{brighter(e){return new Hm(this.l+bD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-bD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=QEe*uW(t),e=eke*uW(e),r=tke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,H_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+bD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-bD*(e==null?1:e),this.opacity)},rgb(){return ake(this).rgb()}}))});function Rkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(uke*n+ske*t-lke*r)/(uke+ske-lke),a=n-i,o=(IE*(r-i)-dW*a)/wD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*xD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Rkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var cke,hW,dW,wD,IE,ske,lke,uke,fke=su(()=>{vD();yD();sW();cke=-.14861,hW=1.78277,dW=-.29227,wD=-.90649,IE=1.97294,ske=IE*wD,lke=IE*hW,uke=hW*dW-wD*cke;Xy(C2,M5,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*_D,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(cke*n+hW*i)),255*(t+r*(dW*n+wD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=su(()=>{yD();oke();fke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function TD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n{});function SD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=su(()=>{AD()});var E5,gW=su(()=>{E5=e=>()=>e});function hke(e,t){return function(r){return e+r*t}}function Dkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function W_(e,t){var r=t-e;return r?hke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function dke(e){return(e=+e)==1?qf:function(t,r){return r-t?Dkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?hke(e,r):E5(isNaN(e)?t:e)}var P2=su(()=>{gW()});function vke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o{L2();AD();pW();P2();RE=function e(t){var r=dke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return n.gamma=e,n}(1);pke=vke(TD),gke=vke(SD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i{});function mke(e,t){return(MD(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{DE();ED()});function kD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=su(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=su(()=>{});function CD(e,t){var r={},n={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?r[i]=Z_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=su(()=>{DE()});function zkt(e){return function(){return e}}function Fkt(e){return function(t){return e(t)+""}}function LD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+"",t=t+"";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r{zE();TW=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wW=new RegExp(TW.source,"g")});function Z_(e,t){var r=typeof t,n;return t==null||r==="boolean"?E5(t):(r==="number"?Fp:r==="string"?(n=j_(t))?(t=n,RE):LD:t instanceof j_?RE:t instanceof Date?kD:MD(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?CD:Fp)(e,t)}var DE=su(()=>{L2();mW();_W();xW();zE();bW();AW();gW();ED()});function yke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var _ke=su(()=>{});function xke(e,t){var r=W_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var bke=su(()=>{P2()});function wke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var Tke=su(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{Ake=180/Math.PI,PD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Mke(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?PD:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Eke(e){return e==null?PD:(ID||(ID=document.createElementNS("http://www.w3.org/2000/svg","g")),ID.setAttribute("transform",e),(e=ID.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):PD)}var ID,kke=su(()=>{Ske()});function Cke(e,t,r,n){function i(u){return u.length?u.pop()+" ":""}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push("translate(",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push("translate("+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+"rotate("+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+"skewX("+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+"scale(",null,",",null,")");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v{zE();kke();Lke=Cke(Mke,"px, ","px)","deg)"),Pke=Cke(Eke,", ",")",")")});function Rke(e){return((e=Math.exp(e))+1/e)/2}function Okt(e){return((e=Math.exp(e))-1/e)/2}function Bkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var qkt,Dke,zke=su(()=>{qkt=1e-12;Dke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,g;if(x{L2();P2();qke=Fke(W_),Oke=Fke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+""}}var Nke=su(()=>{L2();P2()});function Uke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+""}}}var Vke,Hke,Gke=su(()=>{L2();P2();Vke=Uke(W_),Hke=Uke(qf)});function jke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+""}}return n.gamma=t,n}(1)}var Wke,Zke,Xke=su(()=>{L2();P2();Wke=jke(W_),Zke=jke(qf)});function EW(e,t){t===void 0&&(t=e,e=Z_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r{DE()});function Kke(e,t){for(var r=new Array(t),n=0;n{});var I2={};BQe(I2,{interpolate:()=>Z_,interpolateArray:()=>mke,interpolateBasis:()=>TD,interpolateBasisClosed:()=>SD,interpolateCubehelix:()=>Wke,interpolateCubehelixLong:()=>Zke,interpolateDate:()=>kD,interpolateDiscrete:()=>yke,interpolateHcl:()=>Vke,interpolateHclLong:()=>Hke,interpolateHsl:()=>qke,interpolateHslLong:()=>Oke,interpolateHue:()=>xke,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>CD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>pke,interpolateRgbBasisClosed:()=>gke,interpolateRound:()=>wke,interpolateString:()=>LD,interpolateTransformCss:()=>Lke,interpolateTransformSvg:()=>Pke,interpolateZoom:()=>Dke,piecewise:()=>EW,quantize:()=>Kke});var R2=su(()=>{DE();_W();AD();pW();xW();_ke();bke();zE();ED();bW();Tke();AW();Ike();zke();mW();Bke();Nke();Gke();Xke();Yke();Jke()});var RD=ye((tdr,$ke)=>{"use strict";var Nkt=ao(),Ukt=va();$ke.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Nkt.pointStyle(t,n,i,r)}else Ukt.fill(t,l)}});var kW=ye((rdr,iCe)=>{"use strict";var Qke=xa(),eCe=va(),tCe=Mr(),Vkt=_v().resizeText,Hkt=RD();function Gkt(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");Vkt(e,t,"sunburst"),t.each(function(r){var n=Qke.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){Qke.select(this).call(rCe,o,a,e)})})}function rCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=tCe.castOption(r,o,"marker.line.color")||eCe.defaultLine,l=tCe.castOption(r,o,"marker.line.width")||0;e.call(Hkt,t,r,n).style("stroke-width",l).call(eCe.stroke,s).style("opacity",a?r.leaf.opacity:null)}iCe.exports={style:Gkt,styleOne:rCe}});var Ky=ye(bs=>{"use strict";var D2=Mr(),jkt=va(),Wkt=Tg(),nCe=l_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function aCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,aCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,"label").join("/")+"/"};bs.formatValue=nCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r==="0%"&&(r=nCe.formatPiePercent(e,t)),r}});var OE=ye((ndr,lCe)=>{"use strict";var C5=xa(),oCe=ba(),Ykt=rp().appendArrayPointValue,FE=Nc(),sCe=Mr(),Kkt=g3(),Wh=Ky(),Jkt=l_(),$kt=Jkt.formatPieValue;lCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type==="sunburst",c=s.type==="treemap"||s.type==="icicle";"_hasHoverLabel"in s||(s._hasHoverLabel=!1),"_hasHoverEvent"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],g=v.data.data,E=g.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return sCe.castOption(b,E,Me)},C=_("hovertemplate"),M=FE.castHoverinfo(b,x,E),p=x.separators,P;if(C||M&&M!=="none"&&M!=="skip"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M==="all"?b._module.attributes.hoverinfo.flags:M.split("+")),q.label=g.label,X("label")&&q.label&&H.push(q.label),g.hasOwnProperty("v")&&(q.value=g.v,q.valueLabel=$kt(q.value,p),X("value")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X("current path")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X("percent parent")&&(G=Wh.formatPercent(q.percentParent,p)+" of "+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X("percent entry")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,p)+" of "+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X("percent root")&&!k&&(G=Wh.formatPercent(q.percentRoot,p)+" of "+q.root,W()),q.text=_("hovertext")||_("text"),X("text")&&(G=q.text,sCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join("
"),name:C||X("name")?b.name:void 0,color:_("hoverlabel.bgcolor")||g.color,borderColor:_("hoverlabel.bordercolor"),fontFamily:_("hoverlabel.font.family"),fontSize:_("hoverlabel.font.size"),fontColor:_("hoverlabel.font.color"),fontWeight:_("hoverlabel.font.weight"),fontStyle:_("hoverlabel.font.style"),fontVariant:_("hoverlabel.font.variant"),nameLength:_("hoverlabel.namelength"),textAlign:_("hoverlabel.align"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?"left":"right"),c&&(re.x=T,re.idealAlign=T<0?"left":"right");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select("path.surface");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit("plotly_hover",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],g=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit("plotly_unhover",{points:[qE(g,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select("path.surface");a.styleOne(E,g,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],g=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};g||(L.nextLevel=A);var _=Kkt.triggerHandler(n,"plotly_"+s.type+"click",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!g&&_!==!1&&!n._dragging&&!n._transitioning){oCe.call("_storeDirectGUIEdit",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:"immediate",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),oCe.call("animate",n,C,M)}};t.on("mouseover",f),t.on("mouseout",h),t.on("click",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a{"use strict";var BE=xa(),Qkt=SE(),Xg=(R2(),ab(I2)).interpolate,uCe=ao(),bv=Mr(),eCt=Ll(),dCe=_v(),cCe=dCe.recordMinTextSize,tCt=dCe.clearMinTextSize,vCe=hD(),rCt=l_().getRotationAngle,iCt=vCe.computeTransform,nCt=vCe.transformInsideText,aCt=kW().styleOne,oCt=N0().resizeText,sCt=OE(),CW=nW(),sl=Ky();DD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(tCt("sunburst",i),o=a.selectAll("g.trace.sunburst").data(t,function(f){return f[0].trace.uid}),o.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()});c.each(function(){a.selectAll("g.trace").each(function(f){fCe(e,f,this,r)})})}else o.each(function(f){fCe(e,f,this,r)}),i.uniformtext.mode&&oCt(e,i._sunburstlayer.selectAll(".trace"),"sunburst");l&&o.exit().remove()};function fCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll("g.slice"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),g=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,g),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-g/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=lCt(h).descendants(),M=h.height+1,p=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,p=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=rCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-p)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+hCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+hCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append("g").classed("slice",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select("path.surface");ie.transition().attrTween("d",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select("g.slicetext");Te.attr("opacity",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each("end",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,"path","surface",function(Re){Re.style("pointer-events",i?"none":"all")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=uCt(ge,c),o?Te.transition().attrTween("d",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr("d",H),ie.call(sCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(aCt,ge,c,e);var Ee=bv.ensureSingle(ie,"g","slicetext"),Ae=bv.ensureSingle(Ee,"text","",function(Re){Re.attr("data-notex",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(DD.formatSliceLabel(ge,h,c,t,a)).classed("slicetext",!0).attr("text-anchor","middle").call(uCe.font,ze).call(eCt.convertToTspans,e);var Ce=uCe.bBox(Ae.node());ge.transform=nCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return iCt(Ge,ce),Ge.fontSize=ze.size,cCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween("transform",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr("transform",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return cCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function lCt(e){return Qkt.partition().size([2*Math.PI,e.height+1])(e)}DD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o==="none"))return"";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split("+"),x=function(p){return v.indexOf(p)!==-1},b=[],g;if(x("label")&&u.label&&b.push(u.label),u.hasOwnProperty("v")&&x("value")&&b.push(sl.formatValue(u.v,s)),!f){x("current path")&&b.push(sl.getPath(e.data));var E=0;x("percent parent")&&E++,x("percent entry")&&E++,x("percent root")&&E++;var k=E>1;if(E){var A,L=function(p){g=sl.formatPercent(A,s),k&&(g+=" of "+p),b.push(g)};x("percent parent")&&!f&&(A=d/sl.getValue(h),L("parent")),x("percent entry")&&(A=d/sl.getValue(t),L("entry")),x("percent root")&&(A=d/sl.getValue(c),L("root"))}}return x("text")&&(g=bv.castOption(r,u.i,"text"),bv.isValidTextValue(g)&&b.push(g)),b.join("
")}var _=bv.castOption(r,u.i,"texttemplate");if(!_)return"";var C={};u.label&&(C.label=u.label),u.hasOwnProperty("v")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty("color")&&(C.color=u.color);var M=bv.castOption(r,u.i,"text");return(bv.isValidTextValue(M)||M==="")&&(C.text=M),C.customdata=bv.castOption(r,u.i,"customdata"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function uCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function hCe(e){return cCt(e.rpx1,e.transform.textPosAngle)}function cCt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var gCe=ye((odr,pCe)=>{"use strict";pCe.exports={moduleType:"trace",name:"sunburst",basePlotModule:LEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:OEe(),supplyLayoutDefaults:NEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:zD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var yCe=ye((sdr,mCe)=>{"use strict";mCe.exports=gCe()});var xCe=ye(L5=>{"use strict";var _Ce=Xu();L5.name="treemap";L5.plot=function(e,t,r,n){_Ce.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){_Ce.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((udr,bCe)=>{"use strict";bCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}});var FD=ye((cdr,TCe)=>{"use strict";var fCt=Wo().hovertemplateAttrs,hCt=Wo().texttemplateAttrs,dCt=Kl(),vCt=Ju().attributes,F2=A2(),Q0=AE(),wCe=z2(),LW=no().extendFlat,pCt=Ed().pattern;TCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:LW({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:Q0.marker.colors,pattern:pCt,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:Q0.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},dCt("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:LW({},F2.textfont,{}),editType:"calc"},text:F2.text,textinfo:Q0.textinfo,texttemplate:hCt({editType:"plot"},{keys:wCe.eventDataKeys.concat(["label","value"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:fCt({},{keys:wCe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:F2.sort,root:Q0.root,domain:vCt({name:"treemap",trace:!0,editType:"calc"})}});var PW=ye((fdr,ACe)=>{"use strict";ACe.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var kCe=ye((hdr,ECe)=>{"use strict";var SCe=Mr(),gCt=FD(),mCt=va(),yCt=Ju().defaults,_Ct=r0().handleText,xCt=Qb().TEXTPAD,bCt=S2().handleMarkerDefaults,MCe=Mu(),wCt=MCe.hasColorscale,TCt=MCe.handleDefaults;ECe.exports=function(t,r,n,i){function a(b,g){return SCe.coerce(t,r,gCt,b,g)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth");var u=a("tiling.packing");u==="squarify"&&a("tiling.squarifyratio"),a("tiling.flip"),a("tiling.pad");var c=a("text");a("texttemplate"),r.texttemplate||a("textinfo",SCe.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate");var f=a("pathbar.visible"),h="auto";_Ct(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition");var d=r.textposition.indexOf("bottom")!==-1;bCt(t,r,i,a);var v=r._hasColorscale=wCt(t,"marker","colors")||(t.marker||{}).coloraxis;v?TCt(t,r,i,a,{prefix:"marker.",cLetter:"c"}):a("marker.depthfade",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a("marker.pad.t",d?x/4:x),a("marker.pad.l",x/4),a("marker.pad.r",x/4),a("marker.pad.b",d?x:x/4),a("marker.cornerradius"),r._hovered={marker:{line:{width:2,color:mCt.contrast(i.paper_bgcolor)}}},f&&(a("pathbar.thickness",r.pathbar.textfont.size+2*xCt),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),yCt(r,i,a),r._length=null}});var LCe=ye((ddr,CCe)=>{"use strict";var ACt=Mr(),SCt=PW();CCe.exports=function(t,r){function n(i,a){return ACt.coerce(t,r,SCt,i,a)}n("treemapcolorway",r.colorway),n("extendtreemapcolors")}});var RW=ye(IW=>{"use strict";var PCe=EE();IW.calc=function(e,t){return PCe.calc(e,t)};IW.crossTraceCalc=function(e){return PCe._runCrossTraceCalc("treemap",e)}});var DW=ye((pdr,ICe)=>{"use strict";ICe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o{"use strict";var P5=SE(),MCt=DW();RCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing==="dice-slice",s=n.pad[a?"bottom":"top"],l=n.pad[i?"right":"left"],u=n.pad[i?"left":"right"],c=n.pad[a?"top":"bottom"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(ECt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&MCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function ECt(e,t){switch(e){case"squarify":return P5.treemapSquarify.ratio(t);case"binary":return P5.treemapBinary;case"dice":return P5.treemapDice;case"slice":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var qD=ye((mdr,qCe)=>{"use strict";var DCe=xa(),I5=va(),zCe=Mr(),FW=Ky(),kCt=_v().resizeText,CCt=RD();function LCt(e){var t=e._fullLayout._treemaplayer.selectAll(".trace");kCt(e,t,"treemap"),t.each(function(r){var n=DCe.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){DCe.select(this).call(FCe,o,a,e,{hovered:!1})})})}function FCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l="rgba(0,0,0,0)",u=0;else if(l=zCe.castOption(r,s,"marker.line.color")||I5.defaultLine,u=zCe.castOption(r,s,"marker.line.width")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var g=0;g{"use strict";var OCe=xa(),OD=Mr(),BCe=ao(),PCt=Ll(),ICt=zW(),NCe=qD().styleOne,qW=z2(),R5=Ky(),RCt=OE(),OW=!0;UCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,g=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,p=R5.listPath(n.data,"id"),P=ICt(C.copy(),[s,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=p.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append("g").classed("pathbar",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each("end",function(){var F=OCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=OCe.select(this),V=OD.ensureSingle(q,"path","surface",function(N){N.style("pointer-events",k?"none":"all")});v?V.transition().attrTween("d",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr("d",f),q.call(RCt,n,t,r,{styleOne:NCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(NCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||"").split("
").join(" ")||"";var H=OD.ensureSingle(q,"g","slicetext"),X=OD.ensureSingle(H,"text","",function(N){N.attr("data-notex",1)}),G=OD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(BCe.font,G).call(PCt.convertToTspans,t),F.textBB=BCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween("transform",function(N){var W=g(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr("transform",d(F))})}});var WCe=ye((_dr,jCe)=>{"use strict";var HCe=xa(),BW=(R2(),ab(I2)).interpolate,X_=Ky(),NE=Mr(),GCe=Qb().TEXTPAD,DCt=i2(),zCt=DCt.toMoveInsideBar,FCt=_v(),NW=FCt.recordMinTextSize,qCt=z2(),OCt=VCe();function q2(e){return X_.isHierarchyRoot(e)?"":X_.getPtId(e)}jCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u==="icicle",f=s.hierarchy,h=X_.findEntryWithLevel(f,l.level),d=HCe.select(n),v=d.selectAll("g.pathbar"),x=d.selectAll("g.slice");if(!h){v.remove(),x.remove();return}var b=X_.isHierarchyRoot(h),g=!o.uniformtext.mode&&X_.hasTransition(i),E=X_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth-1?C+P:-(p+P):0,F={x0:M,x1:M,y0:T,y1:T+p},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+","+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=p/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===">"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce==="/"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce==="\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce==="<"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),"M"+Ee($t.x,$t.y)+"L"+Ee(fr.x,fr.y)+"L"+Ee(Ht.x,Ht.y)+"L"+Ee(_r.x,_r.y)+"L"+Ee(Br.x,Br.y)+"L"+Ee(dt.x,dt.y)+"Z"},Re=l[c?"tiling":"marker"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce("top"),nt=ce("left"),ct=ce("right"),qt=ce("bottom"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return"";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?"a"+Ee($t,$t)+" 0 0 1 "+Ee(_r,Br):""};return"M"+Ee(xt,Lt+$t)+fr($t,-$t)+"L"+Ee(bt-$t,Lt)+fr($t,$t)+"L"+Ee(bt,St-$t)+fr(-$t,$t)+"L"+Ee(xt+$t,St)+fr(-$t,-$t)+"Z"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?"start":qt?"end":"middle",fr=ce("right"),_r=ce("left")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-GCe,Lt-=(c?Re:Re.r)-GCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St{"use strict";var BCt=xa(),NCt=Ky(),UCt=_v(),VCt=UCt.clearMinTextSize,HCt=N0().resizeText,ZCe=WCe();XCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l["_"+o+"layer"],c,f,h=!n;if(VCt(o,l),c=u.selectAll("g.trace."+o).data(r,function(v){return v[0].trace.uid}),c.enter().append("g").classed("trace",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&NCt.hasTransition(n)){i&&(f=i());var d=BCt.transition().duration(n.duration).ease(n.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()});d.each(function(){u.selectAll("g.trace").each(function(v){ZCe(t,v,this,n,s)})})}else c.each(function(v){ZCe(t,v,this,n,s)}),l.uniformtext.mode&&HCt(t,u.selectAll(".trace"),o);h&&c.exit().remove()}});var QCe=ye((bdr,$Ce)=>{"use strict";var YCe=xa(),BD=Mr(),KCe=ao(),GCt=Ll(),jCt=zW(),JCe=qD().styleOne,VW=z2(),Y_=Ky(),WCt=OE(),ZCt=zD().formatSliceLabel,HW=!1;$Ce.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf("left")!==-1,M=_.textposition.indexOf("right")!==-1,p=_.textposition.indexOf("bottom")!==-1,P=!p&&!_.marker.pad.t||p&&!_.marker.pad.b,T=jCt(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf("x")>-1,flipY:_.tiling.flip.indexOf("y")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,Y_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append("g").classed("slice",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&g){var X=Y_.getPtId(g);i.each(function(W){H===null&&Y_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each("end",function(){var W=YCe.select(this);Y_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=Y_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(p?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=YCe.select(this),_e=BD.ensureSingle(ae,"path","surface",function(Ee){Ee.style("pointer-events",k?"none":"all")});d?_e.transition().attrTween("d",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr("d",c),ae.call(WCt,n,t,r,{styleOne:JCe,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(Y_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(JCe,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text="":re?W._text=P?"":Y_.getPtLabel(W)||"":W._text=ZCt(W,n,_,r,A)||"";var Me=BD.ensureSingle(ae,"g","slicetext"),ke=BD.ensureSingle(Me,"text","",function(Ee){Ee.attr("data-notex",1)}),ge=BD.ensureUniformFontSize(t,Y_.determineTextFont(_,W,A.font)),ie=W._text||" ",Te=re&&ie.indexOf("
")===-1;ke.text(ie).classed("slicetext",!0).attr("text-anchor",M?"end":C||Te?"start":"middle").call(KCe.font,ge).call(GCt.convertToTspans,t),W.textBB=KCe.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween("transform",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr("transform",h(W))}),H}});var t6e=ye((wdr,e6e)=>{"use strict";var XCt=UW(),YCt=QCe();e6e.exports=function(t,r,n,i){return XCt(t,r,n,i,{type:"treemap",drawDescendants:YCt})}});var i6e=ye((Tdr,r6e)=>{"use strict";r6e.exports={moduleType:"trace",name:"treemap",basePlotModule:xCe(),categories:[],animatable:!0,attributes:FD(),layoutAttributes:PW(),supplyDefaults:kCe(),supplyLayoutDefaults:LCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:t6e(),style:qD().style,colorbar:Kd(),meta:{}}});var a6e=ye((Adr,n6e)=>{"use strict";n6e.exports=i6e()});var s6e=ye(D5=>{"use strict";var o6e=Xu();D5.name="icicle";D5.plot=function(e,t,r,n){o6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){o6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((Mdr,u6e)=>{"use strict";var KCt=Wo().hovertemplateAttrs,JCt=Wo().texttemplateAttrs,$Ct=Kl(),QCt=Ju().attributes,UE=A2(),o0=AE(),ND=FD(),l6e=z2(),e6t=no().extendFlat,t6t=Ed().pattern;u6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:ND.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:e6t({colors:o0.marker.colors,line:o0.marker.line,pattern:t6t,editType:"calc"},$Ct("marker",{colorAttr:"colors",anim:!1})),leaf:o0.leaf,pathbar:ND.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:JCt({editType:"plot"},{keys:l6e.eventDataKeys.concat(["label","value"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:KCt({},{keys:l6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:ND.outsidetextfont,textposition:ND.textposition,sort:UE.sort,root:o0.root,domain:QCt({name:"icicle",trace:!0,editType:"calc"})}});var jW=ye((Edr,c6e)=>{"use strict";c6e.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var v6e=ye((kdr,d6e)=>{"use strict";var f6e=Mr(),r6t=GW(),i6t=va(),n6t=Ju().defaults,a6t=r0().handleText,o6t=Qb().TEXTPAD,s6t=S2().handleMarkerDefaults,h6e=Mu(),l6t=h6e.hasColorscale,u6t=h6e.handleDefaults;d6e.exports=function(t,r,n,i){function a(d,v){return f6e.coerce(t,r,r6t,d,v)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),a("tiling.orientation"),a("tiling.flip"),a("tiling.pad");var u=a("text");a("texttemplate"),r.texttemplate||a("textinfo",f6e.isArrayOrTypedArray(u)?"text+label":"label"),a("hovertext"),a("hovertemplate");var c=a("pathbar.visible"),f="auto";a6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition"),s6t(t,r,i,a);var h=r._hasColorscale=l6t(t,"marker","colors")||(t.marker||{}).coloraxis;h&&u6t(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",h?1:.7),r._hovered={marker:{line:{width:2,color:i6t.contrast(i.paper_bgcolor)}}},c&&(a("pathbar.thickness",r.pathbar.textfont.size+2*o6t),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),n6t(r,i,a),r._length=null}});var g6e=ye((Cdr,p6e)=>{"use strict";var c6t=Mr(),f6t=jW();p6e.exports=function(t,r){function n(i,a){return c6t.coerce(t,r,f6t,i,a)}n("iciclecolorway",r.colorway),n("extendiciclecolors")}});var ZW=ye(WW=>{"use strict";var m6e=EE();WW.calc=function(e,t){return m6e.calc(e,t)};WW.crossTraceCalc=function(e){return m6e._runCrossTraceCalc("icicle",e)}});var _6e=ye((Pdr,y6e)=>{"use strict";var h6t=SE(),d6t=DW();y6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation==="h",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=h6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&d6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Idr,A6e)=>{"use strict";var x6e=xa(),b6e=va(),w6e=Mr(),v6t=_v().resizeText,p6t=RD();function g6t(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");v6t(e,t,"icicle"),t.each(function(r){var n=x6e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){x6e.select(this).call(T6e,o,a,e)})})}function T6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=w6e.castOption(r,o,"marker.line.color")||b6e.defaultLine,l=w6e.castOption(r,o,"marker.line.width")||0;e.call(p6t,t,r,n).style("stroke-width",l).call(b6e.stroke,s).style("opacity",a?r.leaf.opacity:null)}A6e.exports={style:g6t,styleOne:T6e}});var C6e=ye((Rdr,k6e)=>{"use strict";var S6e=xa(),UD=Mr(),M6e=ao(),m6t=Ll(),y6t=_6e(),E6e=XW().styleOne,YW=z2(),z5=Ky(),_6t=OE(),x6t=zD().formatSliceLabel,KW=!1;k6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf("left")!==-1,M=_.textposition.indexOf("right")!==-1,p=_.textposition.indexOf("bottom")!==-1,P=y6t(n,[o,s],{flipX:_.tiling.flip.indexOf("x")>-1,flipY:_.tiling.flip.indexOf("y")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append("g").classed("slice",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&g){var H=z5.getPtId(g);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each("end",function(){var N=S6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(p?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=S6e.select(this),re=UD.ensureSingle(W,"path","surface",function(ke){ke.style("pointer-events",k?"none":"all")});d?re.transition().attrTween("d",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf("x")>-1,flipY:_.tiling.flip.indexOf("y")>-1});return function(ie){return c(ge(ie))}}):re.attr("d",c),W.call(_6t,n,t,r,{styleOne:E6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(E6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text="":N._text=x6t(N,n,_,r,A)||"";var ae=UD.ensureSingle(W,"g","slicetext"),_e=UD.ensureSingle(ae,"text","",function(ke){ke.attr("data-notex",1)}),Me=UD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||" ").classed("slicetext",!0).attr("text-anchor",M?"end":C?"start":"middle").call(M6e.font,Me).call(m6t.convertToTspans,t),N.textBB=M6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween("transform",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr("transform",h(N))}),V}});var P6e=ye((Ddr,L6e)=>{"use strict";var b6t=UW(),w6t=C6e();L6e.exports=function(t,r,n,i){return b6t(t,r,n,i,{type:"icicle",drawDescendants:w6t})}});var R6e=ye((zdr,I6e)=>{"use strict";I6e.exports={moduleType:"trace",name:"icicle",basePlotModule:s6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:v6e(),supplyLayoutDefaults:g6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:P6e(),style:XW().style,colorbar:Kd(),meta:{}}});var z6e=ye((Fdr,D6e)=>{"use strict";D6e.exports=R6e()});var q6e=ye(F5=>{"use strict";var F6e=Xu();F5.name="funnelarea";F5.plot=function(e,t,r,n){F6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){F6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Odr,O6e)=>{"use strict";var tv=A2(),T6t=vl(),A6t=Ju().attributes,S6t=Wo().hovertemplateAttrs,M6t=Wo().texttemplateAttrs,O2=no().extendFlat;O6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:"calc"},pattern:tv.marker.pattern,editType:"calc"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:["label","text","value","percent"]}),texttemplate:M6t({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:O2({},T6t.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:S6t({},{keys:["label","color","value","text","percent"]}),textposition:O2({},tv.textposition,{values:["inside","none"],dflt:"inside"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:A6t({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}});var $W=ye((Bdr,B6e)=>{"use strict";var E6t=lD().hiddenlabels;B6e.exports={hiddenlabels:E6t,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var V6e=ye((Ndr,U6e)=>{"use strict";var N6e=Mr(),k6t=JW(),C6t=Ju().defaults,L6t=r0().handleText,P6t=S2().handleLabelsAndValues,I6t=S2().handleMarkerDefaults;U6e.exports=function(t,r,n,i){function a(x,b){return N6e.coerce(t,r,k6t,x,b)}var o=a("labels"),s=a("values"),l=P6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a("label0"),a("dlabel")),!u){r.visible=!1;return}r._length=u,I6t(t,r,i,a),a("scalegroup");var c=a("text"),f=a("texttemplate"),h;if(f||(h=a("textinfo",Array.isArray(c)?"text+percent":"percent")),a("hovertext"),a("hovertemplate"),f||h&&h!=="none"){var d=a("textposition");L6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h==="none"&&a("textposition","none");C6t(r,i,a);var v=a("title.text");v&&(a("title.position"),N6e.coerceFont(a,"title.font",i.font)),a("aspectratio"),a("baseratio")}});var G6e=ye((Udr,H6e)=>{"use strict";var R6t=Mr(),D6t=$W();H6e.exports=function(t,r){function n(i,a){return R6t.coerce(t,r,D6t,i,a)}n("hiddenlabels"),n("funnelareacolorway",r.colorway),n("extendfunnelareacolors")}});var QW=ye((Vdr,W6e)=>{"use strict";var j6e=y5();function z6t(e,t){return j6e.calc(e,t)}function F6t(e){j6e.crossTraceCalc(e,{type:"funnelarea"})}W6e.exports={calc:z6t,crossTraceCalc:F6t}});var J6e=ye((Hdr,K6e)=>{"use strict";var B2=xa(),eZ=ao(),K_=Mr(),q6t=K_.strScale,Z6e=K_.strTranslate,X6e=Ll(),O6t=i2(),B6t=O6t.toMoveInsideBar,Y6e=_v(),N6t=Y6e.recordMinTextSize,U6t=Y6e.clearMinTextSize,V6t=l_(),q5=hD(),H6t=q5.attachFxHandlers,G6t=q5.determineInsideTextFont,j6t=q5.layoutAreas,W6t=q5.prerenderTitles,Z6t=q5.positionTitleOutside,X6t=q5.formatSliceLabel;K6e.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;U6t("funnelarea",i),W6t(r,t),j6t(r,i._size),K_.makeTraceGroups(i._funnelarealayer,r,"trace").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;K6t(a),o.each(function(){var u=B2.select(this).selectAll("g.slice").data(a);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll("path,g").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll("path.surface").data([f]);b.enter().append("path").classed("surface",!0).style({"pointer-events":n?"none":"all"}),x.call(H6t,t,a);var g="M"+(d+f.TR[0])+","+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+"Z";b.attr("d",g),X6t(t,f,s);var E=V6t.castOption(l.textposition,f.pts),k=x.selectAll("g.slicetext").data(f.text&&E!=="none"?[0]:[]);k.enter().append("g").classed("slicetext",!0),k.exit().remove(),k.each(function(){var A=K_.ensureSingle(B2.select(this),"text","",function(F){F.attr("data-notex",1)}),L=K_.ensureUniformFontSize(t,G6t(l,f,i.font));A.text(f.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(eZ.font,L).call(X6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,p,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,p=Math.min(f.TR[0],f.BR[0])+d,C=B6t(M,p,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),C.fontSize=L.size,N6t(l.type,C,i),a[h].transform=C,K_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll("g.titletext").data(l.title.text?[0]:[]);c.enter().append("g").classed("titletext",!0),c.exit().remove(),c.each(function(){var f=K_.ensureSingle(B2.select(this),"text","",function(v){v.attr("data-notex",1)}),h=l.title.text;l._meta&&(h=K_.templateString(h,l._meta)),f.text(h).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(eZ.font,l.title.font).call(X6e.convertToTspans,t);var d=Z6t(s,i._size);f.attr("transform",Z6e(d.x,d.y)+q6t(Math.min(1,d.scale))+Z6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return"l"+r+","+n}function Y6t(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function K6t(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var g=1/0,E=-1/0;for(v=0;v-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=p,x.pxmid=Y6t(x.TR,x.BR),M=x.TL,p=x.TR}}});var eLe=ye((Gdr,Q6e)=>{"use strict";var $6e=xa(),J6t=z3(),$6t=_v().resizeText;Q6e.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(".trace");$6t(t,r,"funnelarea"),r.each(function(n){var i=n[0],a=i.trace,o=$6e.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){$6e.select(this).call(J6t,s,a,t)})})}});var rLe=ye((jdr,tLe)=>{"use strict";tLe.exports={moduleType:"trace",name:"funnelarea",basePlotModule:q6e(),categories:["pie-like","funnelarea","showLegend"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:V6e(),supplyLayoutDefaults:G6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:J6e(),style:eLe(),styleOne:z3(),meta:{}}});var nLe=ye((Wdr,iLe)=>{"use strict";iLe.exports=rLe()});var Rd=ye((Zdr,aLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){"use strict";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError("Cannot call a class as a function")}function u(Le,xe){for(var Se=0;SeM)throw new RangeError('The value "'+Le+'" is invalid for option "size"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le=="number"){if(typeof xe=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le=="string")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]=="function")return T.from(Le[Symbol.toPrimitive]("string"),xe,Se);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!="number")throw new TypeError('"size" argument must be of type number');if(Le<0)throw new RangeError('The value "'+Le+'" is invalid for option "size"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se=="string"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!="string"||xe==="")&&(xe="utf8"),!T.isEncoding(xe))throw new TypeError("Unknown encoding: "+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt=M)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+M.toString(16)+" bytes");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);VtGt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('"list" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case"ascii":case"latin1":case"binary":return Se;case"utf8":case"utf-8":return _r(Le).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Se*2;case"hex":return Se>>>1;case"base64":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(""+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return"";for(Le||(Le="utf8");;)switch(Le){case"hex":return rt(this,xe,Se);case"utf8":case"utf-8":return ce(this,xe,Se);case"ascii":return ct(this,xe,Se);case"latin1":case"binary":return qt(this,xe,Se);case"base64":return Re(this,xe,Se);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ot(this,xe,Se);default:if(lt)throw new TypeError("Unknown encoding: "+Le);Le=(Le+"").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Se=0;SeSe&&(xe+=" ... "),""},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError("out of range index");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe=="string"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe=="number")return xe=xe&255,typeof Uint8Array.prototype.indexOf=="function"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError("val must be string, number or Buffer")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt==="ucs2"||lt==="ucs-2"||lt==="utf16le"||lt==="utf-16le")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jrar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nnGt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt="utf8")):(Gt=lt,lt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError("Attempt to write outside buffer bounds");Gt||(Gt="utf8");for(var ar=!1;;)switch(Gt){case"hex":return Ee(this,xe,Se,lt);case"utf8":case"utf-8":return Ae(this,xe,Se,lt);case"ascii":case"latin1":case"binary":return ze(this,xe,Se,lt);case"base64":return Ce(this,xe,Se,lt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,xe,Se,lt);default:if(ar)throw new TypeError("Unknown encoding: "+Gt);Gt=(""+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se="",lt=0;ltlt)&&(Se=lt);for(var Gt="",Vt=xe;Vtlt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),SeSe)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('"buffer" argument must be a Buffer instance');if(xe>Gt||xeLe.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt("0xffffffffffffffff"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt("0xffffffffffffffff"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError("Index out of range");if(Se<0)throw new RangeError("Index out of range")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError("argument should be a Buffer");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt=this.length)throw new RangeError("Index out of range");if(Gt<0)throw new RangeError("sourceEnd out of bounds");Gt>this.length&&(Gt=this.length),xe.length-Se>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe=="number")for(ar=Se;arMath.pow(2,32)?Gt=Lt(String(Se)):typeof Se=="bigint"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+="n"),lt+=" It must be ".concat(xe,". Received ").concat(Gt),lt},RangeError);function Lt(Le){for(var xe="",Se=Le.length,lt=Le[0]==="-"?1:0;Se>=lt+4;Se-=3)xe="_".concat(Le.slice(Se-3,Se)).concat(xe);return"".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,"offset"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le3?xe===0||xe===BigInt(0)?Qr=">= 0".concat(ar," and < 2").concat(ar," ** ").concat((Vt+1)*8).concat(ar):Qr=">= -(2".concat(ar," ** ").concat((Vt+1)*8-1).concat(ar,") and < 2 ** ")+"".concat((Vt+1)*8-1).concat(ar):Qr=">= ".concat(xe).concat(ar," and <= ").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE("value",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!="number")throw new xt.ERR_INVALID_ARG_TYPE(xe,"number",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||"offset","an integer",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||"offset",">= ".concat(Se?1:0," and <= ").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split("=")[0],Le=Le.trim().replace($t,""),Le.length<2)return"";for(;Le.length%4!==0;)Le=Le+"=";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error("Invalid code point")}return Vt}function Br(Le){for(var xe=[],Se=0;Se>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le="0123456789abcdef",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt=="undefined"?ht:Le}function ht(){throw new Error("BigInt not supported")}},9216:function(i){"use strict";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!="undefined"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers["user-agent"]=="string"&&(c=c.headers["user-agent"]),typeof c!="string")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf("Macintosh")!==-1&&c.indexOf("Safari")!==-1&&(f=!0),f}},6296:function(i,a,o){"use strict";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode="turntable",this._active=d.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x0)throw new Error("Invalid string. Length must be a multiple of 4");var L=k.indexOf("=");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),p=0,P=C>0?_-4:_,T;for(T=0;T>16&255,M[p++]=A>>8&255,M[p++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[p++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[p++]=A>>8&255,M[p++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function g(k,A,L){for(var _,C=[],M=A;MP?P:p+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+"==")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+"=")),C.join("")}},3865:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){"use strict";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){"use strict";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,g,E;if(l(v))g=v.clone();else if(typeof v=="string")g=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))g=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;g=u(v)}}if(s(x))g.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x=="string")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?g=g.ushln(b):b<0&&(E=E.ushln(-b)),f(g,E)}},6330:function(i,a,o){"use strict";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d20?52:h+32}},1533:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u&&typeof u=="object"&&!!u.words}},2651:function(i,a,o){"use strict";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){"use strict";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){"use strict";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,g=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return g*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return g*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?g*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),g*k*Math.pow(2,1023-A))}}},2478:function(i){"use strict";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k>=0?(b=g,x=g-1):v=g+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k>0?(b=g,x=g-1):v=g+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k<0?(b=g,v=g+1):x=g-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k<=0?(b=g,v=g+1):x=g-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,g=f[b],E=d!==void 0?d(g,h):g-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d=="function"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){"use strict";"use restrict";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){"use strict";function u(G,N){if(!G)throw new Error(N||"Assertion failed")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N==="le"||N==="be")&&(W=N,N=10),this._init(G||0,N||10,W||"be"))}typeof s=="object"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!="undefined"&&typeof window.Buffer!="undefined"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N=="object"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N=="number")return this._initNumber(N,W,re);if(typeof N=="object")return this._initArray(N,W,re);W==="hex"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\s+/g,"");var ae=0;N[0]==="-"&&(ae++,this.negative=1),ae=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re==="le")for(ae=0,_e=0;ae>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?""};var b=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N==="hex"){re="";for(var ae=0,_e=0,Me=0;Me>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re="0"+re;return this.negative!==0&&(re="-"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=g[N],Te=E[N];re="";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re="0"+re);re.length%W!==0;)re="0"+re;return this.negative!==0&&(re="-"+re),re}u(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!="undefined"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,"byte array longer than desired length"),u(_e>0,"Requested array length <= 0"),this.strip();var Me=W==="le",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;WN.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;reN.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;aeN.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N=="number"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N=="number"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me>>26;for(;_e!==0&&Me>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;MeN.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke>26,this.words[ke]=W&67108863;if(Me===0&&ke>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ieMe)for(this.length-=Me,ie=0;ie=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N=="number"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,"imaskn works only with positive numbers"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N=="number"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!=="mod"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!=="div"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!=="mod"&&(ae=Me.div.neg()),W!=="div"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!=="mod"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!=="div"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W==="div"?{div:this.divn(N.words[0]),mod:null}:W==="mod"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,"div",!1).div},f.prototype.mod=function(N){return this.divmod(N,"mod",!1).mod},f.prototype.umod=function(N){return this.divmod(N,"mod",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N=="number");var W=N%26,re=(N-W)/26,ae=1<>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,"Number is too big");var ae=this.words[0]|0;re=ae===N?0:aeN.length)return 1;if(this.length=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,"Already a number in reduction context"),u(this.negative===0,"red works only with positives"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,"Already a number in reduction context"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,"redAdd works only with red numbers"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,"redSub works only with red numbers"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,"redISub works only with red numbers"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,"redShl works only with red numbers"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,N)};var p={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(p[N])return p[N];var W;if(N==="k256")W=new T;else if(N==="p224")W=new F;else if(N==="p192")W=new q;else if(N==="p25519")W=new V;else throw new Error("Unknown prime "+N);return p[N]=W,W};function H(G){if(typeof G=="string"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),"modulus must be greater than 1"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,"red works only with positives"),u(N.red,"red works only with red numbers")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,"red works only with positives"),u(N.red&&N.red===W.red,"red works only with red numbers")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){"use strict";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(M<=0)){var p,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),p=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?p=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):p=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return p}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function g(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k=="function"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(i,a){"use strict";function o(){function u(h,d,v,x,b,g,E,k,A,L,_){for(var C=2*h,M=x,p=C*x;MA-k?u(h,d,v,x,b,g,E,k,A,L,_):c(h,d,v,x,b,g,E,k,A,L,_)}return f}function s(){function u(v,x,b,g,E,k,A,L,_,C,M){for(var p=2*v,P=g,T=p*g;PC-_?g?u(v,x,b,E,k,A,L,_,C,M,p):c(v,x,b,E,k,A,L,_,C,M,p):g?f(v,x,b,E,k,A,L,_,C,M,p):h(v,x,b,E,k,A,L,_,C,M,p)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){"use strict";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,g=1<<22,E=v("!(lo>=p0)&&!(p1>=hi)"),k=v("lo===p0"),A=v("lo0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*p,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)v&&b[C+d]>L;--_,C-=E){for(var M=C,p=C+E,P=0;P>>1,L=2*h,_=A,C=b[L*A+d];E=F?(_=T,C=F):P>=V?(_=p,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=p,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H=p0)&&!(p1>=hi)":d};function o(v){return a[v]}function s(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p];if(Fq;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p],q=E[_+P];if(FV;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,g,E,k,A,L){for(var _=2*v,C=_*b,M=C,p=b,P=x,T=v+x,F=b;g>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(p===F)p+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[p],k[p++]=G}}return p}},4192:function(i){"use strict";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,g){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=g[E++],L=g[E++],_=k,C=E-2;_-- >x;){var M=g[C-2],p=g[C-1];if(Mg[b+1]:!0}function d(x,b,g,E){x*=2;var k=E[x];return k>1,_=L-E,C=L+E,M=k,p=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,p,g)&&(H=M,M=p,p=H),h(T,F,g)&&(H=T,T=F,F=H),h(M,P,g)&&(H=M,M=P,P=H),h(p,P,g)&&(H=p,p=P,P=H),h(M,T,g)&&(H=M,M=T,T=H),h(P,T,g)&&(H=P,P=T,T=H),h(p,F,g)&&(H=p,p=F,F=H),h(p,P,g)&&(H=p,p=P,P=H),h(T,F,g)&&(H=T,T=F,F=H);for(var X=g[2*p],G=g[2*p+1],N=g[2*T],W=g[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=g[re+ie],Ee=g[ae+ie],Ae=g[_e+ie];g[Me+ie]=Te,g[ke+ie]=Ee,g[ge+ie]=Ae}u(_,x,g),u(C,b,g);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,g))ze!==q&&l(ze,q,g),++q;else if(!d(ze,N,W,g))for(;;)if(d(V,N,W,g)){d(V,X,G,g)?(c(ze,q,V,g),++q,--V):(l(ze,V,g),--V);break}else{if(--V>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,g,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee>>1;u(E,me);for(var Re=0,Ee=0;Ee=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot>>1;u(E,Ae);for(var ze=0,ge=0;ge=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,g=x[b],C=1;C=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){"use strict";var s=o(2478);i.exports=d;function l(v,x,b,g,E,k,A){this.cells=v,this.neighbor=x,this.flags=g,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,g){var E=x,k=b,A=g;return b0||A.length>0;){for(;k.length>0;){var p=k.pop();if(L[p]!==-E){L[p]=E;for(var P=_[p],T=0;T<3;++T){var F=M[3*p+T];F>=0&&L[F]===0&&(C[3*p+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(g.boundary):V}},8902:function(i,a,o){"use strict";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,p){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=p}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,p){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],p]),X-=1;V.length=X,V.push(p);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],p]),X-=1;H.length=X,H.push(p)}}function g(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]q[0]&&p.push(new d(q,F,f,P),new d(F,q,c,P))}p.sort(v);for(var V=p[0].a[0]-(1+Math.abs(p[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=p.length;P=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;WV[2]?1:0)}function p(q,V,H){if(q.length!==0){if(V)for(var X=0;X0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;NL+1)throw new Error(k+" map requires nshades to be at least size "+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha=="number"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),p=[];for(C=0;C=0}function d(v,x,b,g){var E=s(x,b,g);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,g));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,g);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,g)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,g)>0?1:-1;if(C<0)return E>0||s(v,x,g)>0?1:-1;var M=s(v,x,g);return M>0||h(v,x,b)?1:-1}},8572:function(i){"use strict";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],g=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+g+E+k-(A+L+_+C)||a(b,g,E,k)-a(A,L,_,C,A)||a(b+g,b+E,b+k,g+E,g+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+g+E,b+g+k,b+E+k,g+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),p=u.slice().sort(o),P=0;Po[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}},4750:function(i,a,o){"use strict";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v=d[A]&&(k+=1);g[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(g){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){"use strict";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var g=s.length-1;g>=0;--g)h[g]=d*s[g]+v*l[g]+x*u[g]+b*c[g];return h}return d*s+v*l+x*u[g]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,g=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+g*l[A]+E*u[A]+k*c[A];return h}return b*s+g*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){"use strict";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,g=x.length,E=0;E=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){"use strict";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d0)return o(l|0,u);break;case"object":if(typeof l.length=="number")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){"use strict";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!="number"){c=0;for(var h=0;h=b-1)for(var C=k.length-1,p=v-x[b-1],M=0;M=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v0;--M)g.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v1e-6?1/A:0;this._time.push(v);for(var p=b;p>0;--p){var P=u(_[p-1],C[p-1],arguments[p]);g.push(P),E.push((P-g[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),g.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var g=this._state,E=this._velocity,k=g.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var p=b;p>0;--p){var P=arguments[p];g.push(u(L[p-1],_[p-1],g[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v=0;--M)g.push(u(L[M],_[M],g[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b=0;--q){var p=P[q];T[q]<=0?P[q]=new s(p._color,p.key,p.value,P[q+1],p.right,p._count+1):P[q]=new s(p._color,p.key,p.value,p.left,P[q+1],p._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],p=P[q];if(V._color===o||p._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===p){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=p,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=p.left,H._color=a,H.left=p.right,p._color=o,p.left=V,p.right=H,P[q-2]=p,P[q-1]=V,c(H),c(V),c(p),q>=3){var G=P[q-3];G.left===H?G.left=p:G.right=p}break}}else if(V.right===p){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=p,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=p.right,H._color=a,H.right=p.left,p._color=o,p.right=V,p.left=H,P[q-2]=p,P[q-1]=V,c(H),c(V),c(p),q>=3){var G=P[q-3];G.right===H?G.right=p:G.left=p}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,p){var P=C(_,p.key);if(P<=0){if(p.left){var T=v(_,C,M,p.left);if(T)return T}var T=M(p.key,p.value);if(T)return T}if(p.right)return v(_,C,M,p.right)}function x(_,C,M,p,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,p,P.left),q)||F>0&&(q=p(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,p,P.right)}h.forEach=function(C,M,p){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,p)>=0?void 0:x(M,p,this._compare,C,this.root)}},Object.defineProperty(h,"begin",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,"end",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T<=0&&(P=p.length),T<=0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.gt=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T<0&&(P=p.length),T<0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.lt=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T>0&&(P=p.length),T<=0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.le=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T>=0&&(P=p.length),T<0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.find=function(_){for(var C=this._compare,M=this.root,p=[];M;){var P=C(_,M.key);if(p.push(M),P===0)return new b(this,p);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var p=C(_,M.key);if(p===0)return M.value;p<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var g=b.prototype;Object.defineProperty(g,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(g,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,p,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(p=M.right,p.right&&p.right._color===a){if(p=M.right=l(p),P=p.right=l(p.right),M.right=p.left,p.left=M,p.right=P,p._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(p),T>1){var F=_[T-2];F.left===M?F.left=p:F.right=p}_[T-1]=p;return}else if(p.left&&p.left._color===a){if(p=M.right=l(p),P=p.left=l(p.left),M.right=P.left,p.left=P.right,P.left=M,P.right=p,P._color=M._color,M._color=o,p._color=o,C._color=o,c(M),c(p),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(p._color===o)if(M._color===a){M._color=o,M.right=u(a,p);return}else{M.right=u(a,p);continue}else{if(p=l(p),M.right=p.left,p.left=M,p._color=M._color,M._color=a,c(M),c(p),T>1){var F=_[T-2];F.left===M?F.left=p:F.right=p}_[T-1]=p,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(p=M.left,p.left&&p.left._color===a){if(p=M.left=l(p),P=p.left=l(p.left),M.left=p.right,p.right=M,p.left=P,p._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(p),T>1){var F=_[T-2];F.right===M?F.right=p:F.left=p}_[T-1]=p;return}else if(p.right&&p.right._color===a){if(p=M.left=l(p),P=p.right=l(p.right),M.left=P.right,p.right=P.left,P.right=M,P.left=p,P._color=M._color,M._color=o,p._color=o,C._color=o,c(M),c(p),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(p._color===o)if(M._color===a){M._color=o,M.left=u(a,p);return}else{M.left=u(a,p);continue}else{if(p=l(p),M.left=p.right,p.right=M,p._color=M._color,M._color=a,c(M),c(p),T>1){var F=_[T-2];F.right===M?F.right=p:F.left=p}_[T-1]=p,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}g.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var p=_.length-2;p>=0;--p){var M=_[p];M.left===_[p+1]?C[p]=new s(M._color,M.key,M.value,C[p+1],M.right,M._count):C[p]=new s(M._color,M.key,M.value,M.left,C[p+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var p=C.length-2;p>=P;--p)M=C[p],C[p]=new s(M._color,M.key,M.value,M.left,C[p+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var p=0;p0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,"index",{get:function(){var _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var p=C.length-2;p>=0;--p)C[p+1]===C[p].right&&(++_,C[p].left&&(_+=C[p].left._count));return _},enumerable:!0}),g.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(g,"hasNext",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),g.update=function(_){var C=this._stack;if(C.length===0)throw new Error("Can't update empty node!");var M=new Array(C.length),p=C[C.length-1];M[M.length-1]=new s(p._color,p.key,_,p.left,p.right,p._count);for(var P=C.length-2;P>=0;--P)p=C[P],p.left===C[P+1]?M[P]=new s(p._color,p.key,p.value,M[P+1],p.right,p._count):M[P]=new s(p._color,p.key,p.value,p.left,M[P+1],p._count);return new f(this.tree._compare,M[0])},g.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(g,"hasPrev",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){"use strict";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function g(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if("bounds"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if("ticks"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X("tickSpacing")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&("ticks"in V||"tickSpacing"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G("tickEnable"),N("tickFont")&&(ae=!0),N("tickFontStyle")&&(ae=!0),N("tickFontWeight")&&(ae=!0),N("tickFontVariant")&&(ae=!0),X("tickSize"),X("tickAngle"),X("tickPad"),W("tickColor");var ie=N("labels");N("labelFont")&&(ie=!0),N("labelFontStyle")&&(ie=!0),N("labelFontWeight")&&(ie=!0),N("labelFontVariant")&&(ie=!0),G("labelEnable"),X("labelSize"),X("labelPad"),W("labelColor"),G("lineEnable"),G("lineMirror"),X("lineWidth"),W("lineColor"),G("lineTickEnable"),G("lineTickMirror"),X("lineTickLength"),X("lineTickWidth"),W("lineTickColor"),G("gridEnable"),X("gridWidth"),W("gridColor"),G("zeroEnable"),W("zeroLineColor"),X("zeroLineWidth"),G("backgroundEnable"),W("backgroundColor");var Te=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],Ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var p=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=g(P,ze[Ae].primalMinor),qt=g(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=g(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]="auto"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]==="auto"?Rt[0]=p:Rt[0]=parseInt(""+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]==="auto"?Rt[0]=p:Rt[0]=parseInt(""+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,g,E){for(var k=!1,A=0;A<3;++A)k=k||g[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:g,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,g=0;g<3;++g)for(var E=(g+1)%3,k=(g+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[g]=_,L[g]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var p=E;E=k,k=p}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){"use strict";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,p){for(var P=0;P<4;++P){C[P]=p[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*p[4*T+P]}}var g=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M_e&&(X|=1<_e){X|=1<d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +} +`]),h=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);a.Q=function(x){return l(x,f,h,null,[{name:"position",type:"vec3"}])};var d=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +} +`]),v=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);a.bg=function(x){return l(x,d,v,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(i,a,o){"use strict";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function p(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join("_"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=g(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:"center",textBaseline:"middle",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,p(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};p(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,p,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,p,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function g(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:"'+k+'" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var p=s(k),P=l(k,[{buffer:p,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,p,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){"use strict";a.create=s,a.equal=l;function o(u,c){var f=u+"",h=f.indexOf("."),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+"";if(b.indexOf("e")>=0)return b;var g=x/v,E=x%v;x<0?(g=-Math.ceil(g)|0,E=-E|0):(g=Math.floor(g)|0,E=E|0);var k=""+g;if(x<0&&(k="-"+k),d){for(var A=""+E;A.length=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hk)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return g.bufferSubData(E,_,L),k}function v(g,E){for(var k=s.malloc(g.length,E),A=g.length,L=0;L=0;--A){if(E[A]!==k)return!1;k*=g[A]}return!0}h.update=function(g,E){if(typeof E!="number"&&(E=-1),this.bind(),typeof g=="object"&&typeof g.shape!="undefined"){var k=g.dtype;if(c.indexOf(k)<0&&(k="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension("OES_element_index_uint");A&&k!=="uint16"?k="uint32":k="uint16"}if(k===g.dtype&&x(g.shape,g.stride))g.offset===0&&g.data.length===g.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,g.data,E):this.length=d(this.gl,this.type,this.length,this.usage,g.data.subarray(g.offset,g.shape[0]),E);else{var L=s.malloc(g.size,k),_=u(L,g.shape);l.assign(_,g),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,g.size),E),s.free(L)}}else if(Array.isArray(g)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(g,"uint16"):C=v(g,"float32"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,g.length),E),s.free(C)}else if(typeof g=="object"&&typeof g.length=="number")this.length=d(this.gl,this.type,this.length,this.usage,g,E);else if(typeof g=="number"||g===void 0){if(E>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");g=g|0,g<=0&&(g=1),this.gl.bufferData(this.type,g|0,this.usage),this.length=g}else throw new Error("gl-buffer: Invalid data type")};function b(g,E,k,A){if(k=k||g.ARRAY_BUFFER,A=A||g.DYNAMIC_DRAW,k!==g.ARRAY_BUFFER&&k!==g.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(A!==g.DYNAMIC_DRAW&&A!==g.STATIC_DRAW&&A!==g.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var L=g.createBuffer(),_=new f(g,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){"use strict";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,g=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,p=!1,P=u.coneSizemode==="raw",T=0;Tv&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),p=!1):p=!0}p||(L=F,_=q),C.push(q)}var H=[x,g,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T=1},g.isTransparent=function(){return this.opacity<1},g.pickSlots=1,g.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:"rgba"}),p=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)p[4*P+F]=T[F];p[4*P+3]=T[3]*255}return d(p,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,p=new Array(M),P=0;P0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},g.drawPick=function(C){C=C||{};for(var M=this.gl,p=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(p),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:p,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},g.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],p=this.cells[M],P=this.positions[p[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(p[1]/48)};return this.traceType==="cone"?T.index=Math.floor(p[1]/48):this.traceType==="streamtube"&&(T.intensity=this.intensity[p[1]],T.velocity=this.vectors[p[1]].slice(0,3),T.divergence=this.vectors[p[1]][3],T.index=M),T},g.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function A(C,M){var p=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return p.attributes.position.location=0,p.attributes.color.location=2,p.attributes.uv.location=3,p.attributes.vector.location=4,p}function L(C,M){var p=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return p.attributes.position.location=0,p.attributes.id.location=1,p.attributes.vector.location=4,p}function _(C,M,p){var P=p.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,p.traceType||"cone");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec3 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, coneScale, coneOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * conePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(conePosition, 1.0); + vec4 t_position = view * conePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = conePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),c=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float vectorScale, coneScale, coneOffset; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + gl_Position = projection * (view * conePosition); + f_id = id; + f_position = position.xyz; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(i){i.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){"use strict";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(g,E,k,A){this.gl=g,this.shader=A,this.buffer=E,this.vao=k,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(g){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=g.view||c,L=k.projection=g.projection||c;k.model=g.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],p=A[15],P=g._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*p)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(g,E){for(var k=0;k<3;++k)g[0][k]=Math.min(g[0][k],E[k]),g[1][k]=Math.max(g[1][k],E[k])}var v=function(){for(var g=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}g[E]=k}return g}();function x(g,E,k,A){for(var L=v[A],_=0;_0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(g){var E=g.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(g),_}},3436:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; + +void main() { + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * (view * worldPosition); + fragColor = color; + fragPosition = position; +}`]),c=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(i,a,o){"use strict";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var p=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[p,P,T]}function v(M,p){M.bindFramebuffer(M.FRAMEBUFFER,p[0]),M.bindRenderbuffer(M.RENDERBUFFER,p[1]),M.bindTexture(M.TEXTURE_2D,p[2])}function x(M,p){var P=M.getParameter(p.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension("WEBGL_depth_texture");re?X?M.depth=g(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=g(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;WF||P<0||P>F)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");M._shape[0]=p,M._shape[1]=P;for(var q=d(T),V=0;Vq||P<0||P>q)throw new Error("gl-fbo: Parameters are too large for FBO");T=T||{};var V=1;if("color"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+V+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var H=M.UNSIGNED_BYTE,X=M.getExtension("OES_texture_float");if(T.float&&V>0){if(!X)throw new Error("gl-fbo: Context does not support floating point textures");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;"depth"in T&&(G=!!T.depth);var N=!1;return"stencil"in T&&(N=!!T.stencil),new A(M,p,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){"use strict";var x=u(d)||"of unknown name (see npm glsl-shader-name)",b="unknown type";v!==void 0&&(b=v===l.FRAGMENT_SHADER?"fragment":"vertex");for(var g=s(`Error compiling %s shader %s: +`,b,x),E=s("%s%s",g,h),k=h.split(` +`),A={},L=0;L max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),h=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){"use strict";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(p,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=p,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,g=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(p,P){for(var T=0,F=0;F<3;++F){var q=p[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(p){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(p[0][T],P[0][T]),P[1][T]=Math.min(p[1][T],P[1][T]);return P}function L(p,P,T,F){this.arcLength=p,this.position=P,this.index=T,this.dataCoordinate=F}function _(p,P,T,F,q,V){this.gl=p,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(p){this.pickId=p},C.drawTransparent=C.draw=function(p){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(p){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(p){var P,T;this.dirty=!0;var F=!!p.connectGaps;"dashScale"in p&&(this.dashScale=p.dashScale),this.hasAlpha=!1,"opacity"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=p.position||p.positions;if(W){var re=p.color||p.colors||[0,0,0,1],ae=p.lineWidth||1,_e=!1;e:for(P=1;P0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,"dashes"in p){var ze=p.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +vec4 project(vec3 p) { + return projection * (view * (model * vec4(p, 1.0))); +} + +void main() { + gl_Position = project(position); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * vec4(position , 1.0); + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + f_color = color; + f_data = position; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness + , fresnel + , kambient + , kdiffuse + , kspecular; +uniform sampler2D texture; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (f_color.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], f_data) + ) discard; + + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d + + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * f_color.a; +} +`]),c=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model, view, projection; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + f_color = color; + f_data = position; + f_uv = uv; +}`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; + + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),h=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; +attribute float pointSize; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0); + } else { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + } + gl_PointSize = pointSize; + f_color = color; + f_uv = uv; +}`]),d=s([`precision highp float; +#define GLSLIFY 1 + +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5); + if(dot(pointR, pointR) > 0.25) { + discard; + } + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),v=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 id; + +uniform mat4 model, view, projection; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + f_id = id; + f_position = position; +}`]),x=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]),b=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute float pointSize; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + gl_PointSize = pointSize; + } + f_id = id; + f_position = position; +}`]),g=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; + +uniform mat4 model, view, projection; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); +}`]),E=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec3 contourColor; + +void main() { + gl_FragColor = vec4(contourColor, 1.0); +} +`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},a.contourShader={vertex:g,fragment:E,attributes:[{name:"position",type:"vec3"}]}},7201:function(i,a,o){"use strict";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),g=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,p=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Tege&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=g({colormap:ge,nshades:256,format:"rgba"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;zeMath.abs(p))g.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*p/window.innerHeight*(F-g.lastT())/20;g.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float; +#define GLSLIFY 1 +attribute vec2 position; +varying vec2 uv; +void main() { + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),c=s([`precision mediump float; +#define GLSLIFY 1 + +uniform sampler2D accumBuffer; +varying vec2 uv; + +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec2"}])}},4100:function(i,a,o){"use strict";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),g=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function A(p,P){var T=null;try{T=p.getContext("webgl",P),T||(T=p.getContext("experimental-webgl",P))}catch(F){return null}return T}function L(p){var P=Math.round(Math.log(Math.abs(p))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(p*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(p/T)*T}return Math.ceil(p)}function _(p){return typeof p=="boolean"?p:!0}function C(p){p=p||{},p.camera=p.camera||{};var P=p.canvas;if(!P)if(P=document.createElement("canvas"),p.container){var T=p.container;T.appendChild(P)}else document.body.appendChild(P);var F=p.gl;if(F||(p.glOptions&&(E=!!p.glOptions.preserveDrawingBuffer),F=A(P,p.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error("webgl not supported");var q=p.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=g(F),G=p.cameraObject&&p.cameraObject._ortho===!0||p.camera.projection&&p.camera.projection.type==="orthographic"||!1,N={eye:p.camera.eye||[2,0,0],center:p.camera.center||[0,0,0],up:p.camera.up||[0,1,0],zoomMin:p.camera.zoomMax||.1,zoomMax:p.camera.zoomMin||100,mode:p.camera.mode||"turntable",_ortho:G},W=p.axes||{},re=l(F,W);re.enable=!W.disable;var ae=p.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=p.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:p.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:p.aspectRatio||[1,1,1],pickRadius:p.pickRadius||10,zNear:p.zNear||.01,zFar:p.zFar||1e3,fovy:p.fovy||Math.PI/4,clearColor:p.clearColor||[0,0,0,0],autoResize:_(p.autoResize),autoBounds:_(p.autoBounds),autoScale:!!p.autoScale,autoCenter:_(p.autoCenter),clipToBounds:_(p.clipToBounds),snapToData:!!p.snapToData,onselect:p.onselect||null,onrender:p.onrender||null,onclick:p.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||"absolute",bt.left="0px",bt.top="0px",bt.width=xr+"px",bt.height=er+"px",Te=!0}}}ce.autoResize&&nt(),window.addEventListener("resize",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener("resize",nt),P.removeEventListener("webglcontextlost",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;YtV.distance)continue;for(var dt=0;dt1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*g,o}},5964:function(i){"use strict";i.exports=function(a){return!a&&a!==0?"":a.toString()}},9366:function(i,a,o){"use strict";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join("_"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:"center",textBaseline:"middle",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var g=s(c,x),E,k;if(h&&h!==1){for(E=0;E max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform vec4 highlightId; +uniform float highlightScale; +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = 1.0; + if(distance(highlightId, id) < 0.0001) { + scale = highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1); + vec4 viewPosition = view * worldPosition; + viewPosition = viewPosition / viewPosition.w; + vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0)); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),c=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float highlightScale, pixelRatio; +uniform vec4 highlightId; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = pixelRatio; + if(distance(highlightId.bgr, id.bgr) < 0.001) { + scale *= highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1.0); + vec4 viewPosition = view * worldPosition; + vec4 clipPosition = projection * viewPosition; + clipPosition /= clipPosition.w; + + gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0); + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),f=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform float highlightScale; +uniform vec4 highlightId; +uniform vec3 axes[2]; +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float scale, pixelRatio; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float lscale = pixelRatio * scale; + if(distance(highlightId, id) < 0.0001) { + lscale *= highlightScale; + } + + vec4 clipCenter = projection * (view * (model * vec4(position, 1))); + vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y; + vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1))); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = dataPosition; + } +} +`]),h=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float opacity; + +varying vec4 interpColor; +varying vec3 dataCoordinate; + +void main() { + if ( + outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) || + interpColor.a * opacity == 0. + ) discard; + gl_FragColor = interpColor * opacity; +} +`]),d=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float pickGroup; + +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard; + + gl_FragColor = vec4(pickGroup, pickId.bgr); +}`]),v=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},g={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),p=M.attributes;return p.position.location=0,p.color.location=1,p.glyph.location=2,p.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,g)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){"use strict";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,g=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof g)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}var p=M.prototype;p.pickSlots=1,p.setPickBase=function(Ae){this.pickId=Ae},p.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},p.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}p.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},p.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},p.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},p.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},p.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Ltthis.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*g*4)),A=0;Ak)for(g=k;gE)for(g=E;g=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me=0){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+_+": "+C);f(v,x,M[0],g,p,E,_)}else if(C.indexOf("mat")>=0){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+_+": "+C);h(v,x,M,g,p,E,_)}else throw new s("","Unknown data type for attribute "+_+": "+C);break}}return E}},3327:function(i,a,o){"use strict";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x4)throw new l("","Invalid data type");switch(re.charAt(0)){case"b":case"i":h["uniform"+ae+"iv"](x[V],H);break;case"v":h["uniform"+ae+"fv"](x[V],H);break;default:throw new l("","Unrecognized data type for vector "+name+": "+re)}}else if(re.indexOf("mat")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+re);h["uniformMatrix"+ae+"fv"](x[V],!1,H);break}else throw new l("","Unknown uniform data type for "+name+": "+re)}}}}}function E(C,M){if(typeof M!="object")return[[C,M]];var p=[];for(var P in M){var T=M[P],F=C;parseInt(P)+""===P?F+="["+P+"]":F+="."+P,typeof T=="object"?p.push.apply(p,E(F,T)):p.push([F,T])}return p}function k(C){switch(C){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var M=C.indexOf("vec");if(0<=M&&M<=1&&C.length===4+M){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new l("","Invalid data type");return C.charAt(0)==="b"?c(p,!1):c(p,0)}else if(C.indexOf("mat")===0&&C.length===4){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+C);return c(p*p,0)}else throw new l("","Unknown uniform data type for "+name+": "+C)}}function A(C,M,p){if(typeof p=="object"){var P=L(p);Object.defineProperty(C,M,{get:u(P),set:g(p),enumerable:!0,configurable:!1})}else x[p]?Object.defineProperty(C,M,{get:b(p),set:g(p),enumerable:!0,configurable:!1}):C[M]=k(v[p].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var p=0;p1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x1)for(var E=0;E 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),c=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float tubeScale; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + gl_Position = projection * (view * tubePosition); + f_id = id; + f_position = position.xyz; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(i,a,o){"use strict";var s=o(2931),l=o(9970),u=["xyz","xzy","yxz","yzx","zxy","zyx"],c=function(A,L,_,C){for(var M=A.points,p=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e0)for(var ie=0;ieL)return C-1}return C},d=function(A,L,_){return A_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,p=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],p),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(p-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(p,P){return p-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);MN||CtW||Ytre)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=g(_));for(var Ee=0;Eeie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ctke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return p?ot.tubeScale=p:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:"streamtube"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute vec3 f; +attribute vec3 normal; + +uniform vec3 objectOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 lightPosition, eyePosition; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 localCoordinate = vec3(uv.zw, f.x); + worldCoordinate = objectOffset + localCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); + vec4 clipPosition = projection * (view * worldPosition); + gl_Position = clipPosition; + kill = f.y; + value = f.z; + planeCoordinate = uv.xy; + + vColor = texture2D(colormap, vec2(value, value)); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * worldPosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + lightDirection = lightPosition - cameraCoordinate.xyz; + eyeDirection = eyePosition - cameraCoordinate.xyz; + surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); +} +`]),c=l([`precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float beckmannSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness) { + return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform float vertexColor; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + //decide how to interpolate color \u2014 in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; +} +`]),f=l([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute float f; + +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); + + vec4 clipPosition = projection * (view * worldPosition); + clipPosition.z += zOffset; + + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; + + vColor = texture2D(colormap, vec2(value, value)); + + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); +} +`]),h=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec2 shape; +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} + +void main() { + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; + + vec2 ux = splitFloat(planeCoordinate.x / shape.x); + vec2 uy = splitFloat(planeCoordinate.y / shape.y); + gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); +} +`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){"use strict";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),g=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,p=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];(function(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:"rgba"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;ReCe&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],g(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(g(qt,ce.view,ce.model),g(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),"showContour"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),"showSurface"in Ce&&(this.showSurface=!!Ce.showSurface),"contourTint"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),"contourColor"in Ce&&(this.contourColor=Ae(Ce.contourColor)),"contourProject"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),"surfaceProject"in Ce&&(this.surfaceProject=Ce.surfaceProject),"dynamicColor"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),"dynamicTint"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),"dynamicWidth"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),"opacity"in Ce&&(this.opacity=Ce.opacity),"opacityscale"in Ce&&(this.opacityscale=Ce.opacityscale),"colorBounds"in Ce&&(this.colorBounds=Ce.colorBounds),"vertexColor"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),"colormap"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),"field"in Ce||"coords"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error("gl-surface: invalid ticks");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error("gl-surface: invalid tick length");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;ntV||F<0||F>V)throw new Error("gl-texture2d: Invalid texture size");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function g(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=g.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension("OES_texture_float_linear")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension("OES_texture_float_linear")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension("EXT_texture_filter_anisotropic");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error("gl-texture2d: Unsupported data type")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var re=0,ae=0,_e=k(W,G.stride.slice());N==="float32"?re=P.FLOAT:N==="float64"?(re=P.FLOAT,_e=!1,N="float32"):N==="uint8"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N="uint8");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");Me=W[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error("gl-texture2d: Invalid texture shape");if(V===P.FLOAT&&!P.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new g(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new g(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error("gl-texture2d: Invalid texture size");var H=k(q,T.stride.slice()),X=0;F==="float32"?X=P.FLOAT:F==="float64"?(X=P.FLOAT,H=!1,F="float32"):F==="uint8"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F="uint8");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");X===P.FLOAT&&!P.getExtension("OES_texture_float")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F==="float32"||F==="float64")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new g(P,Me,q[0],q[1],G,X)}function p(P){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(c||d(P),typeof arguments[1]=="number")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(i){"use strict";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error("gl-vao: Too many vertex attributes");for(var c=0;c1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,g=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+g*-v-E*-d,o[1]=g*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-g*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,g=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+g*-v-E*-d,o[1]=g*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-g*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;Lt=Ke.slice(0,1).join("")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X==="."||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X==="x"&&N.length===1&&N[0]==="0"?(H=p,N.push(X),G=X,q+1):/[^\d]/.test(X)?(Re(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X==="f"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X==="-"||X==="+")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\d]/.test(X)?(Re(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\d\w_]/.test(X)){var Ke=N.join("");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join("")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\_|texture)/.test(l)}),i.exports=s.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(i){i.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(i,a,o){var s=o(620);i.exports=s.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(i){i.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(i){i.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a=="string"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,b=-7,g=l?c-1:0,E=l?-1:1,k=o[s+g];for(g+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+g],g+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+g],g+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+g>=1?s+=E/v:s+=E*Math.pow(2,1-g),s*v>=2&&(h++,v/=2),h+g>=b?(d=0,h=b):h+g>=1?(d=(s*v-1)*Math.pow(2,c),h=h+g):(d=s*Math.pow(2,g-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){"use strict";i.exports=g;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var p=E.adjacent,P=0;P<=A;++P){var T=p[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,p=this.interior[M];e:for(;!p.boundary;){for(var P=p.vertices,T=p.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];p.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){p=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return p},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,p=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);p.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1=0?M[P++]=p[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function g(E,k){var A=E.length;if(A===0)throw new Error("Must have at least d+1 points");var L=E[0].length;if(A<=L)throw new Error("Must input at least d+1 points");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error("Input not in general position");for(var M=new Array(L+1),p=0;p<=L;++p)M[p]=p;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),p=0;p<=L;++p){for(var q=M.slice(),V=0;V<=L;++V)V===p&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[p]=X,F[p]=X}F[L+1]=P;for(var p=0;p<=L;++p)for(var q=T[p].vertices,G=T[p].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,p=L+1;p3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;qthis.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(Tthis.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return Fthis.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q>1],H=[],X=[],G=[],q=0;q13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],g=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,p,P,T,F){if(M||(M=[0,0,0]),p||(p=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(g,v),p[0]=d.length(g[0]),d.normalize(g[0],g[0]),P[0]=d.dot(g[0],g[1]),L(g[1],g[1],g[0],1,-P[0]),p[1]=d.length(g[1]),d.normalize(g[1],g[1]),P[0]/=p[1],P[1]=d.dot(g[0],g[2]),L(g[2],g[2],g[0],1,-P[1]),P[2]=d.dot(g[1],g[2]),L(g[2],g[2],g[1],1,-P[2]),p[2]=d.length(g[2]),d.normalize(g[2],g[2]),P[1]/=p[2],P[2]/=p[2],d.cross(E,g[1],g[2]),d.dot(g[0],E)<0)for(var ae=0;ae<3;ae++)p[ae]*=-1,g[ae][0]*=-1,g[ae][1]*=-1,g[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+g[0][0]-g[1][1]-g[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-g[0][0]+g[1][1]-g[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-g[0][0]-g[1][1]+g[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+g[0][0]+g[1][1]+g[2][2],0)),g[2][1]>g[1][2]&&(F[0]=-F[0]),g[0][2]>g[2][0]&&(F[1]=-F[1]),g[1][0]>g[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var p=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*p+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*p+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*p+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*p+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,p,P){_[0]=C[0]*p+M[0]*P,_[1]=C[1]*p+M[1]*P,_[2]=C[2]*p+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:g(),scale:g(1),skew:g(),perspective:E(),quaternion:E()}}function g(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){"use strict";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),g=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),p=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)p[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)p[F]=V[F];else l(p,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=p[1],G[1]=p[5],G[2]=p[9],b(G,G);var N=this.computedInverse;u(N,p);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-p[2+4*F]*_e}},k.idle=function(_){if(!(_1&&s(u[d[g-2]],u[d[g-1]],b)<=0;)g-=1,d.pop();for(d.push(x),g=v.length;g>1&&s(u[v[g-2]],u[v[g-1]],b)>=0;)g-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f0;--L)E[k++]=v[L];return E}},351:function(i,a,o){"use strict";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return"altKey"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),"shiftKey"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),"ctrlKey"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),"metaKey"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function g(T,F){var q=s.x(F),V=s.y(F);"buttons"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){g(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?g(0,T):g(f,T)}function _(T){g(f|s.buttons(T),T)}function C(T){g(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener("mousemove",L),u.addEventListener("mousedown",_),u.addEventListener("mouseup",C),u.addEventListener("mouseleave",E),u.addEventListener("mouseenter",E),u.addEventListener("mouseout",E),u.addEventListener("mouseover",E),u.addEventListener("blur",k),u.addEventListener("keyup",A),u.addEventListener("keydown",A),u.addEventListener("keypress",A),u!==window&&(window.addEventListener("blur",k),window.addEventListener("keyup",A),window.addEventListener("keydown",A),window.addEventListener("keypress",A)))}function p(){x&&(x=!1,u.removeEventListener("mousemove",L),u.removeEventListener("mousedown",_),u.removeEventListener("mouseup",C),u.removeEventListener("mouseleave",E),u.removeEventListener("mouseenter",E),u.removeEventListener("mouseout",E),u.removeEventListener("mouseover",E),u.removeEventListener("blur",k),u.removeEventListener("keyup",A),u.removeEventListener("keydown",A),u.removeEventListener("keypress",A),u!==window&&(window.removeEventListener("blur",k),window.removeEventListener("keyup",A),window.removeEventListener("keydown",A),window.removeEventListener("keypress",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():p()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){"use strict";function o(c){if(typeof c=="object"){if("buttons"in c)return c.buttons;if("which"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},"false,1,0":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,p=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=p,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me 0"),typeof f.vertex!="function"&&h("Must specify vertex creation function"),typeof f.cell!="function"&&h("Must specify cell creation function"),typeof f.phase!="function"&&h("Must specify phase function");for(var b=f.getters||[],g=new Array(v),E=0;E=0?g[E]=!0:g[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,g)}},6199:function(i,a,o){"use strict";var s=o(1338),l={zero:function(L,_,C,M){var p=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),p.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),p.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),p.pick(0,-1,1).lo(1).hi(T[1]-2)),_(p.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),p.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(p.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),p.pick(-1,0,0).lo(1).hi(T[0]-2)),_(p.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),p.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(p.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),p.set(0,0,0,0),p.set(0,0,1,0),p.set(T[0]-1,0,0,0),p.set(T[0]-1,0,1,0),p.set(0,T[1]-1,0,0),p.set(0,T[1]-1,1,0),p.set(T[0]-1,T[1]-1,0,0),p.set(T[0]-1,T[1]-1,1,0),p}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,g],p=1;p<=C;++p)M.push(E(p));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M=="string"?M=s(C.dimension,M):M=s(C.dimension,"clamp")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var p=A(M);return p(_,C)}},4317:function(i){"use strict";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),g=H+G*p+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=p-M*T,ke=P-_*p,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),g=T+q*M+V*C,A=F+q*P+V*p;var H=0,X=0,G=M,N=C-_*M,W=P,re=p-_*P;for(X=0;X0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),g=V+X*P+G*M+N*p,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=p-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;reE;){W=0,re=H-_;t:for(G=0;G_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot0){if(--ieX){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot1&&E?A(g,E[0],E[1]):A(g)}var d={"uint32,1,0":function(x,b){return function(g){var E=g.data,k=g.offset|0,A=g.shape,L=g.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,p=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,p,P,T,F):b(0,C-1,E,k,_,M,C,p,P,T,F)}}};function v(x,b){var g=[b,x].join(","),E=d[g],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){"use strict";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(":"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!="undefined";function u(b,g){return b[0]-g[0]}function c(){var b=this.stride,g=new Array(b.length),E;for(E=0;E=0&&(M=_|0,C+=P*M,p-=M),new k(this.data,p,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],p=this.offset,P=0,T=Math.ceil;return typeof _=="number"&&(P=_|0,P<0?(p+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,p)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],p=this.offset;typeof _=="number"&&_>=0?p=p+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=g[C.length+1];return P(this.data,C,M,p)},function(_,C,M,p){return new k(_,C[0],M[0],p)}},2:function(b,g,E){function k(L,_,C,M,p,P){this.data=L,this.shape=[_,C],this.stride=[M,p],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b==="generic"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b==="generic"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!="number"||_<0?this.shape[0]:_|0,typeof C!="number"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,p=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _=="number"&&_>=0&&(p=_|0,M+=F*p,P-=p),typeof C=="number"&&C>=0&&(p=C|0,M+=q*p,T-=p),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],p=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _=="number"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C=="number"&&(q=C|0,q<0?(F+=T*(p-1),p=V(-p/q)):p=V(p/q),T*=q),new k(this.data,M,p,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,p=this.stride;return new k(this.data,M[_],M[C],p[_],p[C],this.offset)},A.pick=function(_,C){var M=[],p=[],P=this.offset;typeof _=="number"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),p.push(this.stride[0])),typeof C=="number"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),p.push(this.stride[1]));var T=g[M.length+1];return T(this.data,M,p,P)},function(_,C,M,p){return new k(_,C[0],C[1],M[0],M[1],p)}},3:function(b,g,E){function k(L,_,C,M,p,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[p,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,"order",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,p){return b==="generic"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,p):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=p},A.get=function(_,C,M){return b==="generic"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!="number"||_<0?this.shape[0]:_|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof M!="number"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var p=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _=="number"&&_>=0&&(P=_|0,p+=V*P,T-=P),typeof C=="number"&&C>=0&&(P=C|0,p+=H*P,F-=P),typeof M=="number"&&M>=0&&(P=M|0,p+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,p)},A.step=function(_,C,M){var p=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _=="number"&&(X=_|0,X<0?(H+=F*(p-1),p=G(-p/X)):p=G(p/X),F*=X),typeof C=="number"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M=="number"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,p,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var p=this.shape,P=this.stride;return new k(this.data,p[_],p[C],p[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var p=[],P=[],T=this.offset;typeof _=="number"&&_>=0?T=T+this.stride[0]*_|0:(p.push(this.shape[0]),P.push(this.stride[0])),typeof C=="number"&&C>=0?T=T+this.stride[1]*C|0:(p.push(this.shape[1]),P.push(this.stride[1])),typeof M=="number"&&M>=0?T=T+this.stride[2]*M|0:(p.push(this.shape[2]),P.push(this.stride[2]));var F=g[p.length+1];return F(this.data,p,P,T)},function(_,C,M,p){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],p)}},4:function(b,g,E){function k(L,_,C,M,p,P,T,F,q,V){this.data=L,this.shape=[_,C,M,p],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,"order",{get:E}),A.set=function(_,C,M,p,P){return b==="generic"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p]=P},A.get=function(_,C,M,p){return b==="generic"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p]},A.index=function(_,C,M,p){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p},A.hi=function(_,C,M,p){return new k(this.data,typeof _!="number"||_<0?this.shape[0]:_|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof M!="number"||M<0?this.shape[2]:M|0,typeof p!="number"||p<0?this.shape[3]:p|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,p){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _=="number"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C=="number"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M=="number"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof p=="number"&&p>=0&&(T=p|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,p){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _=="number"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C=="number"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M=="number"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof p=="number"&&(W=p|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,p){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,p=p===void 0?3:p|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[p],T[_],T[C],T[M],T[p],this.offset)},A.pick=function(_,C,M,p){var P=[],T=[],F=this.offset;typeof _=="number"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C=="number"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M=="number"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof p=="number"&&p>=0?F=F+this.stride[3]*p|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=g[P.length+1];return q(this.data,P,T,F)},function(_,C,M,p){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],p)}},5:function(g,E,k){function A(_,C,M,p,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,p,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=g,L.dimension=5,Object.defineProperty(L,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,"order",{get:k}),L.set=function(C,M,p,P,T,F){return g==="generic"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,p,P,T){return g==="generic"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,p,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,p,P,T){return new A(this.data,typeof C!="number"||C<0?this.shape[0]:C|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof p!="number"||p<0?this.shape[2]:p|0,typeof P!="number"||P<0?this.shape[3]:P|0,typeof T!="number"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,p,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C=="number"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M=="number"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof p=="number"&&p>=0&&(q=p|0,F+=ae*q,X-=q),typeof P=="number"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T=="number"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,p,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C=="number"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M=="number"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof p=="number"&&(Me=p|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P=="number"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T=="number"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,p,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,p=p===void 0?2:p|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[p],F[P],F[T],q[C],q[M],q[p],q[P],q[T],this.offset)},L.pick=function(C,M,p,P,T){var F=[],q=[],V=this.offset;typeof C=="number"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M=="number"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof p=="number"&&p>=0?V=V+this.stride[2]*p|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P=="number"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T=="number"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,p,P){return new A(C,M[0],M[1],M[2],M[3],M[4],p[0],p[1],p[2],p[3],p[4],P)}}};function h(b,g){var E=g===-1?"T":String(g),k=f[E];return g===-1?k(b):g===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return"buffer";if(l)switch(Object.prototype.toString.call(b)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(b)?"array":"generic"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,g,E,k){if(b===void 0){var p=v.array[0];return p([])}else typeof b=="number"&&(b=[b]);g===void 0&&(g=[b.length]);var A=g.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=g[L]}if(k===void 0){k=0;for(var L=0;L>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;vd)for(var F=h[g],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(p[V]*C[H]-p[H]*C[V])}}for(var v=0;vd)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;vd?L=1/Math.sqrt(L):L=0;for(var g=0;g<3;++g)A[g]*=L;h[v]=A}return h}},4081:function(i){"use strict";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(g>0){var g=Math.sqrt(b+1);o[0]=.5*(h-v)/g,o[1]=.5*(d-u)/g,o[2]=.5*(l-f)/g,o[3]=.5*g}else{var E=Math.max(s,f,x),g=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*g,o[1]=.5*(c+l)/g,o[2]=.5*(d+u)/g,o[3]=.5*(h-v)/g):f>=E?(o[0]=.5*(l+c)/g,o[1]=.5*g,o[2]=.5*(v+h)/g,o[3]=.5*(d-u)/g):(o[0]=.5*(u+d)/g,o[1]=.5*(h+v)/g,o[2]=.5*g,o[3]=.5*(l-c)/g)}return o}},9977:function(i,a,o){"use strict";i.exports=g;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var p=0;p<3;++p){for(var P=0,T=0;T<3;++T)P+=A[p+4*T]*_[T];A[12+p]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],p=_[9],P=h(C,M,p);C/=P,M/=P,p/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*p;T-=C*V,F-=M*V,q-=p*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*p,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*p+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+p*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],p=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*p+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,p=0;p<3;++p)M+=Math.pow(A[p]-k[p],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,p=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,p-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function g(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),("eye"in E||"up"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){"use strict";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!="undefined"?f+"":" ",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,""]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\d.\-\+]*\s*(.*)/)[1]||"",s}},3088:function(i,a,o){"use strict";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N0&&(F=W,q=re,V=X)}return T||F&&g(F,V),q}function k(p,P){var T=d[P][p][0],F=[p];g(T,P);for(var q=T[P^1],V=P;;){for(;q!==p;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][p].length+d[1][p].length===0)break;var H=F[F.length-1],X=p,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(p),q=E(H,X)}return F}function A(p,P){return P[1]===P[P.length-1]}for(var v=0;v0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){"use strict";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x0;){var g=v.pop();h[g]=!1;for(var E=f[g],x=0;x0}C=C.filter(M);for(var p=C.length,P=new Array(p),T=new Array(p),_=0;_0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var p=C.key,P=s(L,p[0],p[1]);if(p[0][0]0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function g(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M=x?(p=1,T=x+2*E+A):(p=-E/x,T=E*p+A)):(p=0,k>=0?(P=0,T=A):-k>=g?(P=1,T=g+2*k+A):(P=-k/g,T=k*P+A));else if(P<0)P=0,E>=0?(p=0,T=A):-E>=x?(p=1,T=x+2*E+A):(p=-E/x,T=E*p+A);else{var F=1/M;p*=F,P*=F,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A}else{var q,V,H,X;p<0?(q=b+E,V=g+k,V>q?(H=V-q,X=x-2*b+g,H>=X?(p=1,P=0,T=x+2*E+A):(p=H/X,P=1-p,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)):(p=0,V<=0?(P=1,T=g+2*k+A):k>=0?(P=0,T=A):(P=-k/g,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+g,H>=X?(P=1,p=0,T=g+2*k+A):(P=H/X,p=1-P,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)):(P=0,V<=0?(p=1,T=x+2*E+A):E>=0?(p=0,T=A):(p=-E/x,T=E*p+A))):(H=g+k-b-E,H<=0?(p=0,P=1,T=g+2*k+A):(X=x-2*b+g,H>=X?(p=1,P=0,T=x+2*E+A):(p=H/X,P=1-p,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)))}for(var G=1-p-P,v=0;v0){var g=f[d-1];if(s(x,g)===0&&u(g)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){"use strict";var a="",o;i.exports=s;function s(l,u){if(typeof l!="string")throw new TypeError("expected a string");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o=="undefined")o=l,a="";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){"use strict";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(p){var P=L[p.length];return P||(P=L[p.length]=E(p.length)),P.apply(void 0,p)}function C(p,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),g=s(d,c,f);return b>0&&g>0||b<0&&g<0?!1:v===0&&x===0&&b===0&&g===0?l(c,f,h,d):!0}},8545:function(i){"use strict";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,g=s[v],E=b(g),k=-l[x],A=b(k),L,_;E=c?(L=g,v+=1,v=c?(L=g,v+=1,v>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=g;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){"use strict";"use restrict";var s=o(3105),l=o(4623);function u(p){for(var P=0,T=Math.max,F=0,q=p.length;F>1,H=h(p[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function g(p,P){for(var T=new Array(p.length),F=0,q=T.length;F=p.length||h(p[_e],V)!==0););}return T}a.incidence=g;function E(p,P){if(!P)return g(x(A(p,0)),p,0);for(var T=new Array(P),F=0;F>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(p,P){if(P<0)return[];for(var T=[],F=(1<>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te0){var ie=G[0];return p(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=g[ie];b[Ee]>=0&&(b[Ee]=Te),g[Te]>=0&&(g[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){"use strict";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),g=Math.max(f[0][1],f[1][1]);return xg?v-g:x-g}var E,k;c[0][1]f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),g=s(h,d,v);if(b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;if(b=s(x,v,d),g=s(x,v,h),b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;return d[0]-x[0]}},4209:function(i,a,o){"use strict";i.exports=g;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]0)if(k[0]!==L[1][0])A=E,E=E.right;else{var p=v(E.right,k);if(p)return p;E=E.left}else{if(k[0]!==L[1][0])return E;var p=v(E.right,k);if(p)return p;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var p=this.horizontal[k];if(p.length>0){var P=s.ge(p,E[1],d);if(P=p.length)return _;T=p[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function g(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),g.push(C.slice())}_<0?g.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),g.push(A.slice())),E=_}return{positive:b,negative:g}}function h(v,x){for(var b=[],g=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A0||g>0&&L<0)&&b.push(c(E,L,k,g)),L>=0&&b.push(k.slice()),g=L}return b}function d(v,x){for(var b=[],g=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A0||g>0&&L<0)&&b.push(c(E,L,k,g)),L<=0&&b.push(k.slice()),g=L}return b}},3387:function(i,a,o){var s;(function(){"use strict";var l={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,g=v.length,E,k="",A,L,_,C,M,p,P,T;for(A=0;A=0),_.type){case"b":E=parseInt(E,10).toString(2);break;case"c":E=String.fromCharCode(parseInt(E,10));break;case"d":case"i":E=parseInt(E,10);break;case"j":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case"e":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case"f":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case"g":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case"o":E=(parseInt(E,10)>>>0).toString(8);break;case"s":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case"t":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case"T":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case"u":E=parseInt(E,10)>>>0;break;case"v":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case"x":E=(parseInt(E,10)>>>0).toString(16);break;case"X":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?"+":"-",E=E.toString().replace(l.sign,"")):T="",M=_.pad_char?_.pad_char==="0"?"0":_.pad_char.charAt(1):" ",p=_.width-(T+E).length,C=_.width&&p>0?M.repeat(p):"",k+=_.align?T+E+C:M==="0"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,g=[],E=0;x;){if((b=l.text.exec(x))!==null)g.push(b[0]);else if((b=l.modulo.exec(x))!==null)g.push("%");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!=="";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=k}else E|=2;if(E===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");g.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");x=x.substring(b[0].length)}return h[v]=g}a.sprintf=u,a.vsprintf=c,typeof window!="undefined"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){"use strict";i.exports=d;var s=o(2640),l=o(781),u={"2d":function(v,x,b){var g=v({order:x,scalarArguments:3,getters:b==="generic"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,p,P,T,F,q,V,H){var X=(p<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,p,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return g(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+"d",g=u[b];if(g)return g(s,v,x)}function f(v,x){for(var b=l(v,x),g=b.length,E=new Array(g),k=new Array(g),A=0;AMath.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var p=0,P=0,T=0;T<3;++T)p+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/p*A[T];return f(M,M),M}function b(A,L,_,C,M,p,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([p]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var g=b.prototype;g.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},g.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},g.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,p=0;p<3;++p)M+=L[p]*_[p],C+=L[p]*L[p];for(var P=Math.sqrt(C),T=0,p=0;p<3;++p)_[p]-=L[p]*M/C,T+=_[p]*_[p],L[p]/=P;for(var F=Math.sqrt(T),p=0;p<3;++p)_[p]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,p=0;p<3;++p){var ze=_e*_[p]+Me*q[p]+ke*L[p];Ae[4*p+1]=ge*_[p]+ie*q[p]+Te*L[p],Ae[4*p+2]=ze,Ae[4*p+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var p=0;p<3;++p)Ee[p]=ae[p]+Ae[2+4*p]*V;for(var p=0;p<3;++p){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[p+4*Rt]*Ee[Rt];Ae[12+p]=-T}Ae[15]=1},g.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];g.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var p=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=p[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)p[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,p[0],p[1],p[2]),this.right.set(A,P[0],P[1],P[2])}},g.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,p=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},g.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},g.setMatrix=function(A,L,_,C){var M=1;typeof _=="number"&&(M=_|0),(M<0||M>3)&&(M=1);var p=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[p],re=L[p+4],ae=L[p+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},g.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},g.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},g.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},g.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},g.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],p=C[1],P=C[2],T=d(M,p,P);if(!(T<1e-6)){M/=T,p/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+p*N+P*W;G-=re*M,N-=re*p,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=p*V-P*q,N=P*F-M*V,W=M*q-p*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,p,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=p*W-P*N,Me=P*G-M*W,ke=M*N-p*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+p*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function p(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=p;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){"use strict";"use restrict";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l",W="",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge=ke)G[ge]=null,X=X.substr(0,ge)+" "+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||"start",N=H.textBaseline||"alphabetic",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e/g,` +`):X=X.replace(/\/g," ");var re="",ae=[];for(me=0;me-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),"?px "),Ge*=Math.pow(.75,dt-Et),bt=bt.replace("?px ",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),"?px "),Ge*=Math.pow(.75,_r-fr),bt=bt.replace("?px ",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace("italic ","italic bold "):bt="bold "+bt),Br&&!Or&&(bt=bt.replace("bold ",""))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt="italic "+bt),Nr&&!ut&&(bt=bt.replace("italic ",""))}H.font=bt}for(Ce=0;Ce0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+"px",G.font].filter(function(_e){return _e}).join(" "),X.textAlign="start",X.textBaseline="alphabetic",X.direction="ltr";var ae=p(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){"use strict";if(typeof ses!="undefined"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!="undefined"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap=="function"){var l=WeakMap;if(!(typeof navigator!="undefined"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x="weakmap:",b=x+"ident:"+Math.random()+"___";if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var g=new ArrayBuffer(25),E=new Uint8Array(g);crypto.getRandomValues(E),b=x+"rand:"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join("")+"___"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)==="___")}if(d(Object,"getOwnPropertyNames",{value:function(F){return h(F).filter(k)}}),"getPropertyNames"in Object){var A=Object.getPropertyNames;d(Object,"getPropertyNames",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError("Not an object: "+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,"freeze",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,"seal",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,"preventExtensions",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!="undefined"&&(C=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var p=0,P=function(){this instanceof P||M();var T=[],F=[],q=p++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l=="function"?function(){s&&typeof Proxy!="undefined"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error("bogus call to permitHostObjects___")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!="undefined"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!="object"||c===null)&&typeof c!="function")throw new Error("Weakmap-shim: Key must be object");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,"valueOf",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty("value")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return"value"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){"use strict";function a(){return function(f,h,d,v,x,b){var g=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var g=v.dtype,E=v.order,k=[g,E.join()].join(),A=h[k];return A||(h[k]=A=f([g,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:"zeroCrossings"})},781:function(i,a,o){"use strict";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(i){if(typeof window=="object")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);aLe.exports=n})()});var sLe=ye((Xdr,oLe)=>{"use strict";oLe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var fLe=ye((Ydr,cLe)=>{"use strict";var lLe=sLe();cLe.exports=Q6t;var uLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Q6t(e){var t,r=[],n=1,i;if(typeof e=="string")if(e=e.toLowerCase(),lLe[e])r=lLe[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],u=l==="rgb",a=l.replace(/a$/,"");i=a;var o=a==="cmyk"?4:a==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a==="rgb"?parseFloat(h)*255/100:parseFloat(h);if(a[d]==="h"){if(/deg$/.test(h))return parseFloat(h);if(uLe[h]!==void 0)return uLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i="rgb",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i="rgb",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i="rgb",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var dLe=ye((Kdr,hLe)=>{"use strict";hLe.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var pLe=ye((Jdr,vLe)=>{"use strict";var eLt=dLe();vLe.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l;if(r===0)return l=n*255,[l,l,l];n<.5?a=n*(1+r):a=n+r-n*r,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s}};eLt.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var O5=ye(($dr,gLe)=>{gLe.exports=tLt;function tLt(e,t,r){return tr?r:e:et?t:e}});var rZ=ye((Qdr,mLe)=>{"use strict";var rLt=fLe(),iLt=pLe(),VD=O5();mLe.exports=function(t){var r,n,i,a=rLt(t);return a.space?(r=Array(3),r[0]=VD(a.values[0],0,255),r[1]=VD(a.values[1],0,255),r[2]=VD(a.values[2],0,255),a.space[0]==="h"&&(r=iLt.rgb(r)),r.push(VD(a.alpha,0,1)),r):[]}});var HD=ye((evr,yLe)=>{yLe.exports=function(e){switch(e){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}});var J_=ye((tvr,_Le)=>{"use strict";var nLt=rZ(),GD=O5(),aLt=HD();_Le.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var n=aLt(r),i=new n(4),a=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=nLt(t),t[0]/=255,t[1]/=255,t[2]/=255),oLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function oLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((rvr,xLe)=>{"use strict";var sLt=J_();function lLt(e){return e?sLt(e):[0,0,0,1]}xLe.exports=lLt});var $y=ye((ivr,ELe)=>{"use strict";var SLe=uo(),uLt=id(),jD=J_(),WD=Mu(),cLt=dh().defaultLine,bLe=vv().isArrayOrTypedArray,iZ=jD(cLt),MLe=1;function wLe(e,t){var r=e;return r[3]*=t,r}function TLe(e){if(SLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function ALe(e){return SLe(e)?e:MLe}function fLt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=bLe(n),a=bLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=TLe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=TLe,a?c=function(v,x){return v[x]===void 0?MLe:ALe(v[x])}:c=ALe,i||a)for(var d=0;d{"use strict";kLe.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var ZD=ye((avr,CLe)=>{"use strict";CLe.exports={circle:"\u25CF","circle-open":"\u25CB",square:"\u25A0","square-open":"\u25A1",diamond:"\u25C6","diamond-open":"\u25C7",cross:"+",x:"\u274C"}});var PLe=ye((ovr,LLe)=>{"use strict";var dLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=dLt.getComponentMethod("errorbars","makeComputeError")(t),a=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function vLt(e){for(var t=0;t{"use strict";var gLt=Rd().gl_line3d,ILe=Rd().gl_scatter3d,mLt=Rd().gl_error3d,yLt=Rd().gl_mesh3d,_Lt=Rd().delaunay_triangulate,Qy=Mr(),qLe=Jy(),XD=$y().formatColor,xLt=S3(),oZ=nZ(),bLt=ZD(),wLt=Qa(),TLt=rp().appendArrayPointValue,ALt=PLe();function OLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=OLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel="",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function SLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s-1?-1:e.indexOf("right")>-1?1:0}function DLe(e){return e==null?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function ELt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i=0){var u=SLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=yLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function PLt(e,t){var r=new OLe(e,t.uid);return r.update(t),r}BLe.exports=PLt});var dZ=ye((lvr,HLe)=>{"use strict";var e1=Uc(),ILt=Su(),hZ=Kl(),uZ=Oc().axisHoverFormat,RLt=Wo().hovertemplateAttrs,DLt=Wo().texttemplateAttrs,ULe=vl(),zLt=nZ(),FLt=ZD(),Yg=no().extendFlat,qLt=Bu().overrideAll,VLe=X1(),OLt=e1.line,N2=e1.marker,BLt=N2.line,NLt=Yg({width:OLt.width,dash:{valType:"enumerated",values:VLe(zLt),dflt:"solid"}},hZ("line"));function cZ(e){return{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}}var fZ=HLe.exports=qLt({x:e1.x,y:e1.y,z:{valType:"data_array"},text:Yg({},e1.text,{}),texttemplate:DLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:RLt(),xhoverformat:uZ("x"),yhoverformat:uZ("y"),zhoverformat:uZ("z"),mode:Yg({},e1.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:cZ("x"),y:cZ("y"),z:cZ("z")},connectgaps:e1.connectgaps,line:NLt,marker:Yg({symbol:{valType:"enumerated",values:VLe(FLt),dflt:"circle",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},BLt.width,{arrayOk:!1})},hZ("marker.line"))},hZ("marker")),textposition:Yg({},e1.textposition,{dflt:"top center"}),textfont:ILt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:ULe.opacity,hoverinfo:Yg({},ULe.hoverinfo)},"calc","nested");fZ.x.editType=fZ.y.editType=fZ.z.editType="calc+clearAxisTypes"});var WLe=ye((uvr,jLe)=>{"use strict";var GLe=ba(),ULt=Mr(),vZ=lu(),VLt=$p(),HLt=R0(),GLt=D0(),jLt=dZ();jLe.exports=function(t,r,n,i){function a(d,v){return ULt.coerce(t,r,jLt,d,v)}var o=WLt(t,r,a,i);if(!o){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),a("mode"),vZ.hasMarkers(r)&&VLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a("connectgaps"),HLt(t,r,n,i,a)),vZ.hasText(r)&&(a("texttemplate"),GLt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a("surfaceaxis")>=0&&a("surfacecolor",s||l);for(var u=["x","y","z"],c=0;c<3;++c){var f="projection."+u[c];a(f+".show")&&(a(f+".opacity"),a(f+".scale"))}var h=GLe.getComponentMethod("errorbars","supplyDefaults");h(t,r,s||l||n,{axis:"z"}),h(t,r,s||l||n,{axis:"y",inherit:"z"}),h(t,r,s||l||n,{axis:"x",inherit:"z"})};function WLt(e,t,r,n){var i=0,a=r("x"),o=r("y"),s=r("z"),l=GLe.getComponentMethod("calendars","handleTraceDefaults");return l(e,t,["x","y","z"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var XLe=ye((cvr,ZLe)=>{"use strict";var ZLt=km(),XLt=z0();ZLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return ZLt(n,r),XLt(t,r),n}});var KLe=ye((fvr,YLe)=>{YLe.exports=YLt;function YLt(e,t){if(typeof e!="string")throw new TypeError("must specify type string");if(t=t||{},typeof document=="undefined"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");typeof t.width=="number"&&(r.width=t.width),typeof t.height=="number"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf("webgl")===0&&a.push("experimental-"+e);for(var o=0;o{var KLt=KLe();JLe.exports=function(t){return KLt("webgl",t)}});var pZ=ye((dvr,ePe)=>{"use strict";var QLe=va(),JLt=function(){};ePe.exports=function(t){for(var r in t)typeof t[r]=="function"&&(t[r]=JLt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement("div");n.className="no-webgl",n.style.cursor="pointer",n.style.fontSize="24px",n.style.color=QLe.defaults[0],n.style.position="absolute",n.style.left=n.style.top="0px",n.style.width=n.style.height="100%",n.style["background-color"]=QLe.lightLine,n.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",n.appendChild(i),t.container.appendChild(n),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}});var iPe=ye((vvr,rPe)=>{"use strict";var U2=Jy(),$Lt=Mr(),QLt=["xaxis","yaxis","zaxis"];function tPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickFontWeight=["normal","normal","normal","normal"],this.tickFontStyle=["normal","normal","normal","normal"],this.tickFontVariant=["normal","normal","normal","normal"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelFontWeight=["normal","normal","normal","normal"],this.labelFontStyle=["normal","normal","normal","normal"],this.labelFontVariant=["normal","normal","normal","normal"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var ePt=tPe.prototype;ePt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[QLt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?$Lt.templateString(i.title.text,e._meta):i.title.text,"font"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),"showline"in i&&(r.lineEnable[n]=i.showline),"linecolor"in i&&(r.lineColor[n]=U2(i.linecolor)),"linewidth"in i&&(r.lineWidth[n]=i.linewidth),"showgrid"in i&&(r.gridEnable[n]=i.showgrid),"gridcolor"in i&&(r.gridColor[n]=U2(i.gridcolor)),"gridwidth"in i&&(r.gridWidth[n]=i.gridwidth),i.type==="log"?r.zeroEnable[n]=!1:"zeroline"in i&&(r.zeroEnable[n]=i.zeroline),"zerolinecolor"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),"zerolinewidth"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),"ticks"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,"ticklen"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),"tickcolor"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),"tickwidth"in i&&(r.lineTickWidth[n]=i.tickwidth),"tickangle"in i&&(r.tickAngle[n]=i.tickangle==="auto"?-3600:Math.PI*-i.tickangle/180),"showticklabels"in i&&(r.tickEnable[n]=i.showticklabels),"tickfont"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),"mirror"in i?["ticks","all","allticks"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,"showbackground"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function tPt(e,t){var r=new tPe;return r.merge(e,t),r}rPe.exports=tPt});var oPe=ye((pvr,aPe)=>{"use strict";var rPt=Jy(),iPt=["xaxis","yaxis","zaxis"];function nPe(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var nPt=nPe.prototype;nPt.merge=function(e){for(var t=0;t<3;++t){var r=e[iPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=rPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function aPt(e){var t=new nPe;return t.merge(e),t}aPe.exports=aPt});var uPe=ye((gvr,lPe)=>{"use strict";lPe.exports=cPt;var sPe=Qa(),oPt=Mr(),sPt=["xaxis","yaxis","zaxis"],lPt=[0,0,0];function uPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a/g," "));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){lPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=uPt(i)}});var gPe=ye((mvr,pPe)=>{"use strict";var hPe=Rd().gl_plot3d,fPt=hPe.createCamera,cPe=hPe.createScene,hPt=$Le(),dPt=EL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),vPt=Jy(),pPt=pZ(),gPt=DU(),mPt=iPe(),yPt=oPe(),_Pt=uPe(),xPt=wg().applyAutorangeOptions,VE,YD,dPe=!1;function vPe(e,t){var r=document.createElement("div"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=t,this.id=e.id||"scene",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=mPt(t,t[this.id]),this.spikeOptions=yPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod("annotations3d","convert"),this.drawAnnotations=JD.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var wv=vPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(VE=document.createElement("canvas"),YD=hPt({canvas:VE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error("error creating static canvas/context for image server");t.gl=YD,t.canvas=VE}return t};var fPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=cPe(t)}catch(n){if(e.staticMode||!fPe||KD)r=!1;else{up.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=cPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return fPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type==="orthographic";e.camera=fPt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return pPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+".camera"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+".aspectratio"]=e.glplot.getAspectratio(),n[e.id].aspectmode!=="manual"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+".aspectmode"]="manual")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit("plotly_relayout",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener("mouseup",function(){a(e)}),e.glplot.canvas.addEventListener("touchstart",function(){dPe=!0}),e.glplot.canvas.addEventListener("wheel",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},dPt?{passive:!1}:!1),e.glplot.canvas.addEventListener("mousemove",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit("plotly_relayouting",o)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(o){r&&r.emit&&r.emit("plotly_webglcontextlost",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),_Pt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h")):r.type==="isosurface"||r.type==="volume"?(g.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push("value: "+g.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join("
")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var p=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:g.xLabel,yLabel:g.yLabel,zLabel:g.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,"bgcolor")||c.color,borderColor:Kg.castHoverOption(x,b,"bordercolor"),fontFamily:Kg.castHoverOption(x,b,"font.family"),fontSize:Kg.castHoverOption(x,b,"font.size"),fontColor:Kg.castHoverOption(x,b,"font.color"),nameLength:Kg.castHoverOption(x,b,"namelength"),textAlign:Kg.castHoverOption(x,b,"align"),hovertemplate:up.castOption(x,b,"hovertemplate"),hovertemplateLabels:up.extendFlat({},C,g),eventData:[C]},{container:n,gd:t,inOut_bbox:p}),C.bbox=p[0]}f.distance<5&&(f.buttons||dPe)?t.emit("plotly_click",M):t.emit("plotly_hover",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var HE=["xaxis","yaxis","zaxis"];function bPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=HE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+"calendar"],c=t["_"+o+"length"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;dx[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=xPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V==="cube")q=[1,1,1];else if(V==="manual"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V==="auto"||V==="data"){var X=[1,1,1];for(o=0;o<3;++o){l=c[HE[o]],u=l.type;var G=g[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V==="data"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position="absolute",re.left=W.l+N.x[0]*W.w+"px",re.top=W.t+(1-N.y[1])*W.h+"px",re.width=W.w*(N.x[1]-N.x[0])+"px",re.height=W.h*(N.y[1]-N.y[0])+"px"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function TPt(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function APt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?"orthographic":"perspective"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),APt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,TPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type==="orthographic",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+".camera"),i=n.get();function a(u,c,f,h){var d=["up","center","eye"],v=["x","y","z"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+".aspectratio"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+".camera"),a=i.get(),h[t.id+".camera"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+".aspectratio"),l=s.get(),h[t.id+".aspectratio"]=l),JD.call("_storeDirectGUIEdit",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+".camera");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+".aspectratio");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e==="orbit")n.mode="orbit",n.keyBindingMode="rotate";else if(e==="turntable"){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+".camera.up",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call("_storeDirectGUIEdit",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function SPt(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(VE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),SPt(a,n,i),MPt(a,n,i);var o=document.createElement("canvas");o.width=n,o.height=i;var s=o.getContext("2d",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case"jpeg":u=o.toDataURL("image/jpeg");break;case"webp":u=o.toDataURL("image/webp");break;default:u=o.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(VE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[HE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},$D.setConvert(e._mockAxis,r)};pPe.exports=vPe});var yPe=ye((yvr,mPe)=>{"use strict";mPe.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}});var mZ=ye((_vr,_Pe)=>{"use strict";var EPt=va(),cs=Cd(),gZ=no().extendFlat,kPt=Bu().overrideAll;_Pe.exports=kPt({visible:cs.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:EPt.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:["-","linear","log","date","category"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:"plot"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},"plot","from-root")});var bZ=ye((xvr,xPe)=>{"use strict";var yZ=mZ(),CPt=Ju().attributes,_Z=no().extendFlat,LPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}xPe.exports={_arrayAttrRegexps:[LPt("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:CPt({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:yZ,yaxis:yZ,zaxis:yZ,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot"}});var APe=ye((bvr,TPe)=>{"use strict";var PPt=id().mix,bPe=Mr(),IPt=Vs(),RPt=mZ(),DPt=yU(),zPt=JM(),wPe=["xaxis","yaxis","zaxis"],FPt=100*136/187;TPe.exports=function(t,r,n){var i,a;function o(u,c){return bPe.coerce(i,a,RPt,u,c)}for(var s=0;s{"use strict";var qPt=Mr(),OPt=va(),BPt=ba(),NPt=k_(),UPt=APe(),SPe=bZ(),VPt=kd().getSubplotData,MPe="gl3d";EPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=qPt.validate(t[o],SPe[o]);if(s)return t[o]}}NPt(t,r,n,{type:MPe,attributes:SPe,handleDefaults:HPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function HPt(e,t,r,n){for(var i=r("bgcolor"),a=OPt.combine(i,n.paper_bgcolor),o=["up","center","eye"],s=0;s.999)&&(h="turntable")}else h="turntable";r("dragmode",h),r("hovermode",n.getDfltFromLayout("hovermode"))}});var $_=ye(cp=>{"use strict";var GPt=Bu().overrideAll,jPt=B1(),WPt=gPe(),ZPt=kd().getSubplotData,XPt=Mr(),YPt=Zp(),B5="gl3d",wZ="scene";cp.name=B5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=XPt.counterRegex("scene");cp.attributes=yPe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=GPt({hoverlabel:jPt.hoverlabel},"plot","nested");cp.supplyLayoutDefaults=kPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[B5],a=0;a{"use strict";CPe.exports={plot:NLe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:WLe(),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:XLe(),moduleType:"trace",name:"scatter3d",basePlotModule:$_(),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}});var IPe=ye((Svr,PPe)=>{"use strict";PPe.exports=LPe()});var GE=ye((Mvr,zPe)=>{"use strict";var RPe=va(),KPt=Kl(),TZ=Oc().axisHoverFormat,JPt=Wo().hovertemplateAttrs,DPe=vl(),AZ=no().extendFlat,$Pt=Bu().overrideAll;function SZ(e){return{valType:"boolean",dflt:!1}}function MZ(e){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:SZ("x"),y:SZ("y"),z:SZ("z")},color:{valType:"color",dflt:RPe.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:RPe.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var EZ=zPe.exports=$Pt(AZ({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:JPt(),xhoverformat:TZ("x"),yhoverformat:TZ("y"),zhoverformat:TZ("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},KPt("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:MZ("x"),y:MZ("y"),z:MZ("z")},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},hoverinfo:AZ({},DPe.hoverinfo),showlegend:AZ({},DPe.showlegend,{dflt:!1})}),"calc","nested");EZ.x.editType=EZ.y.editType=EZ.z.editType="calc+clearAxisTypes"});var CZ=ye((Evr,OPe)=>{"use strict";var QPt=ba(),FPe=Mr(),eIt=Uh(),tIt=GE(),kZ=.1;function rIt(e,t){for(var r=[],n=32,i=0;i{"use strict";var BPe=zv();NPe.exports=function(t,r){r.surfacecolor?BPe(t,r,{vals:r.surfacecolor,containerStr:"",cLetter:"c"}):BPe(t,r,{vals:r.z,containerStr:"",cLetter:"c"})}});var ZPe=ye((Cvr,WPe)=>{"use strict";var aIt=Rd().gl_surface3d,N5=Rd().ndarray,oIt=Rd().ndarray_linear_interpolate.d2,sIt=QI(),lIt=e8(),jE=Mr().isArrayOrTypedArray,uIt=$y().parseColorScale,VPe=Jy(),cIt=Mu().extractOpts;function GPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=GPe.prototype;Jg.getXat=function(e,t,r,n){var i=jE(this.data.x)?jE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=jE(this.data.y)?jE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return jE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel="",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function fIt(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var U5=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function hIt(e,t){if(e0){r=U5[n];break}return r}function vIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;aQD;)n--,n/=dIt(n),n++,n1?i:1};function gIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function mIt(e,t,r){return yIt(e,t,gIt,r),e}function yIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];ih&&(this.minValues[u]=h),this.maxValues[u]{"use strict";XPe.exports={attributes:GE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:UPe(),plot:ZPe(),moduleType:"trace",name:"surface",basePlotModule:$_(),categories:["gl3d","2dMap","showLegend"],meta:{}}});var JPe=ye((Pvr,KPe)=>{"use strict";KPe.exports=YPe()});var V5=ye((Ivr,QPe)=>{"use strict";var bIt=Kl(),PZ=Oc().axisHoverFormat,wIt=Wo().hovertemplateAttrs,Q_=GE(),$Pe=vl(),ex=no().extendFlat;QPe.exports=ex({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:wIt({editType:"calc"}),xhoverformat:PZ("x"),yhoverformat:PZ("y"),zhoverformat:PZ("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"}},bIt("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:Q_.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:ex({},Q_.contours.x.show,{}),color:Q_.contours.x.color,width:Q_.contours.x.width,editType:"calc"},lightposition:{x:ex({},Q_.lightposition.x,{dflt:1e5}),y:ex({},Q_.lightposition.y,{dflt:1e5}),z:ex({},Q_.lightposition.z,{dflt:0}),editType:"calc"},lighting:ex({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},Q_.lighting),hoverinfo:ex({},$Pe.hoverinfo,{editType:"calc"}),showlegend:ex({},$Pe.showlegend,{dflt:!1})})});var tz=ye((Rvr,tIe)=>{"use strict";var TIt=Kl(),ez=Oc().axisHoverFormat,AIt=Wo().hovertemplateAttrs,WE=V5(),eIe=vl(),IZ=no().extendFlat,SIt=Bu().overrideAll;function RZ(e){return{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}}var H5=tIe.exports=SIt(IZ({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:RZ("x"),y:RZ("y"),z:RZ("z")},caps:{x:DZ("x"),y:DZ("y"),z:DZ("z")},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:AIt(),xhoverformat:ez("x"),yhoverformat:ez("y"),zhoverformat:ez("z"),valuehoverformat:ez("value",1),showlegend:IZ({},eIe.showlegend,{dflt:!1})},TIt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:WE.opacity,lightposition:WE.lightposition,lighting:WE.lighting,flatshading:WE.flatshading,contour:WE.contour,hoverinfo:IZ({},eIe.hoverinfo)}),"calc","nested");H5.flatshading.dflt=!0;H5.lighting.facenormalsepsilon.dflt=0;H5.x.editType=H5.y.editType=H5.z.editType=H5.value.editType="calc+clearAxisTypes"});var zZ=ye((Dvr,iIe)=>{"use strict";var MIt=Mr(),EIt=ba(),kIt=tz(),CIt=Uh();function LIt(e,t,r,n){function i(a,o){return MIt.coerce(e,t,kIt,a,o)}rIe(e,t,r,n,i)}function rIe(e,t,r,n,i){var a=i("isomin"),o=i("isomax");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i("x"),l=i("y"),u=i("z"),c=i("value");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=EIt.getComponentMethod("calendars","handleTraceDefaults");f(e,t,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(x){i(x+"hoverformat");var b="caps."+x,g=i(b+".show");g&&i(b+".fill");var E="slices."+x,k=i(E+".show");k&&(i(E+".fill"),i(E+".locations"))});var h=i("spaceframe.show");h&&i("spaceframe.fill");var d=i("surface.show");d&&(i("surface.count"),i("surface.fill"),i("surface.pattern"));var v=i("contour.show");v&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(x){i(x)}),CIt(e,t,n,i,{prefix:"",cLetter:"c"}),t._length=null}iIe.exports={supplyDefaults:LIt,supplyIsoDefaults:rIe}});var rz=ye((zvr,aIe)=>{"use strict";var qZ=Mr(),PIt=zv();function IIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=nIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;ak?"-":"+")+"x"),v=v.replace("y",(A>L?"-":"+")+"y"),v=v.replace("z",(_>C?"-":"+")+"z");var T=function(){i=0,M=[],p=[],P=[]};(!i||i{"use strict";var RIt=zv(),DIt=rz().processGrid,iz=rz().filter;oIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=DIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o{"use strict";sIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o{"use strict";var zIt=Rd().gl_mesh3d,FIt=$y().parseColorScale,qIt=Mr().isArrayOrTypedArray,OIt=Jy(),BIt=Mu().extractOpts,lIe=G5(),ZE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dtEt&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Htfr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];["x","y","z"].forEach(function(Or){for(var Nr=[],ut=0;ut0&&(Le.push(lt.id),Or==="x"?xe.push([lt.distRatio,0,0]):Or==="y"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or==="x"?ht=er(1,d-1):Or==="y"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or==="x"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or==="y"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or==="x"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or==="y"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or==="x"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or==="y"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=p,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function UIt(e,t){var r=e.glplot.gl,n=zIt({gl:r}),i=new uIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}fIe.exports={findNearestOnAxis:ZE,generateIsoMeshes:cIe,createIsosurfaceTrace:UIt}});var dIe=ye((Bvr,hIe)=>{"use strict";hIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:"cmin",max:"cmax"},plot:nz().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:$_(),categories:["gl3d","showLegend"],meta:{}}});var pIe=ye((Nvr,vIe)=>{"use strict";vIe.exports=dIe()});var UZ=ye((Uvr,mIe)=>{"use strict";var VIt=Kl(),xh=tz(),HIt=GE(),gIe=vl(),NZ=no().extendFlat,GIt=Bu().overrideAll,az=mIe.exports=GIt(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},VIt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:HIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},gIe.hoverinfo),showlegend:NZ({},gIe.showlegend,{dflt:!1})}),"calc","nested");az.x.editType=az.y.editType=az.z.editType=az.value.editType="calc+clearAxisTypes"});var _Ie=ye((Vvr,yIe)=>{"use strict";var jIt=Mr(),WIt=UZ(),ZIt=zZ().supplyIsoDefaults,XIt=CZ().opacityscaleDefaults;yIe.exports=function(t,r,n,i){function a(o,s){return jIt.coerce(t,r,WIt,o,s)}ZIt(t,r,n,i,a),XIt(t,r,i,a)}});var TIe=ye((Hvr,wIe)=>{"use strict";var YIt=Rd().gl_mesh3d,KIt=$y().parseColorScale,JIt=Mr().isArrayOrTypedArray,$It=Jy(),QIt=Mu().extractOpts,xIe=G5(),VZ=nz().findNearestOnAxis,e8t=nz().generateIsoMeshes;function bIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var HZ=bIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return JIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=xIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=xIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:$It(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=QIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=KIt(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function t8t(e,t){var r=e.glplot.gl,n=YIt({gl:r}),i=new bIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}wIe.exports=t8t});var SIe=ye((Gvr,AIe)=>{"use strict";AIe.exports={attributes:UZ(),supplyDefaults:_Ie(),calc:OZ(),colorbar:{min:"cmin",max:"cmax"},plot:TIe(),moduleType:"trace",name:"volume",basePlotModule:$_(),categories:["gl3d","showLegend"],meta:{}}});var EIe=ye((jvr,MIe)=>{"use strict";MIe.exports=SIe()});var LIe=ye((Wvr,CIe)=>{"use strict";var r8t=ba(),kIe=Mr(),i8t=Uh(),n8t=V5();CIe.exports=function(t,r,n,i){function a(c,f){return kIe.coerce(t,r,n8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&kIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o(["x","y","z"]);if(!s){r.visible=!1;return}if(o(["i","j","k"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=r8t.getComponentMethod("calendars","handleTraceDefaults");l(t,r,["x","y","z"],i),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(c){a(c)});var u=a("contour.show");u&&(a("contour.color"),a("contour.width")),"intensity"in t?(a("intensity"),a("intensitymode"),i8t(t,r,i,a,{prefix:"",cLetter:"c"})):(r.showscale=!1,"facecolor"in t?a("facecolor"):"vertexcolor"in t?a("vertexcolor"):a("color",n)),a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var IIe=ye((Zvr,PIe)=>{"use strict";var a8t=zv();PIe.exports=function(t,r){r.intensity&&a8t(t,r,{vals:r.intensity,containerStr:"",cLetter:"c"})}});var qIe=ye((Xvr,FIe)=>{"use strict";var o8t=Rd().gl_mesh3d,s8t=Rd().delaunay_triangulate,l8t=Rd().alpha_shape,u8t=Rd().convex_hull,c8t=$y().parseColorScale,f8t=Mr().isArrayOrTypedArray,ZZ=Jy(),h8t=Mu().extractOpts,RIe=G5();function zIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var XZ=zIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return f8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function DIe(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=RIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=RIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=u8t(i):e.alphahull>0?a=l8t(e.alphahull,i):a=d8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=h8t(e);this.color="#fff";var l=e.intensitymode;o[l+"Intensity"]=e.intensity,o[l+"IntensityBounds"]=[s.min,s.max],o.colormap=c8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=DIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=DIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function v8t(e,t){var r=e.glplot.gl,n=o8t({gl:r}),i=new zIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}FIe.exports=v8t});var BIe=ye((Yvr,OIe)=>{"use strict";OIe.exports={attributes:V5(),supplyDefaults:LIe(),calc:IIe(),colorbar:{min:"cmin",max:"cmax"},plot:qIe(),moduleType:"trace",name:"mesh3d",basePlotModule:$_(),categories:["gl3d","showLegend"],meta:{}}});var UIe=ye((Kvr,NIe)=>{"use strict";NIe.exports=BIe()});var KZ=ye((Jvr,HIe)=>{"use strict";var p8t=Kl(),j5=Oc().axisHoverFormat,g8t=Wo().hovertemplateAttrs,m8t=V5(),VIe=vl(),YZ=no().extendFlat,oz={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:g8t({editType:"calc"},{keys:["norm"]}),uhoverformat:j5("u",1),vhoverformat:j5("v",1),whoverformat:j5("w",1),xhoverformat:j5("x"),yhoverformat:j5("y"),zhoverformat:j5("z"),showlegend:YZ({},VIe.showlegend,{dflt:!1})};YZ(oz,p8t("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var y8t=["opacity","lightposition","lighting"];y8t.forEach(function(e){oz[e]=m8t[e]});oz.hoverinfo=YZ({},VIe.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});HIe.exports=oz});var jIe=ye(($vr,GIe)=>{"use strict";var _8t=Mr(),x8t=Uh(),b8t=KZ();GIe.exports=function(t,r,n,i){function a(d,v){return _8t.coerce(t,r,b8t,d,v)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a("sizemode");a("sizeref",h==="raw"?1:.5),a("anchor"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),x8t(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var ZIe=ye((Qvr,WIe)=>{"use strict";var w8t=zv();WIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u{"use strict";var T8t=Rd().gl_cone3d,A8t=Rd().gl_cone3d.createConeMesh,S8t=Mr().simpleMap,M8t=$y().parseColorScale,E8t=Mu().extractOpts,k8t=Mr().isArrayOrTypedArray,XIe=G5();function YIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=YIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return k8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var C8t={xaxis:0,yaxis:1,zaxis:2},L8t={tip:1,tail:0,cm:.25,center:.5},P8t={tip:1,tail:1,cm:.75,center:.5};function KIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[C8t[f]];return S8t(c,function(v){return h.d2l(v)*d})}i.vectors=XIe(a(t.u,"xaxis"),a(t.v,"yaxis"),a(t.w,"zaxis"),t._len),i.positions=XIe(a(t.x,"xaxis"),a(t.y,"yaxis"),a(t.z,"zaxis"),t._len);var o=E8t(t);i.colormap=M8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=L8t[t.anchor];var s=t.sizemode;s==="scaled"?i.coneSize=t.sizeref||.5:s==="absolute"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s==="raw"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=T8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=P8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=KIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function I8t(e,t){var r=e.glplot.gl,n=KIe(e,t),i=A8t(r,n),a=new YIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}JIe.exports=I8t});var e8e=ye((tpr,QIe)=>{"use strict";QIe.exports={moduleType:"trace",name:"cone",basePlotModule:$_(),categories:["gl3d","showLegend"],attributes:KZ(),supplyDefaults:jIe(),colorbar:{min:"cmin",max:"cmax"},calc:ZIe(),plot:$Ie(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var r8e=ye((rpr,t8e)=>{"use strict";t8e.exports=e8e()});var QZ=ye((ipr,n8e)=>{"use strict";var R8t=Kl(),W5=Oc().axisHoverFormat,D8t=Wo().hovertemplateAttrs,z8t=V5(),i8e=vl(),$Z=no().extendFlat,sz={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:D8t({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),uhoverformat:W5("u",1),vhoverformat:W5("v",1),whoverformat:W5("w",1),xhoverformat:W5("x"),yhoverformat:W5("y"),zhoverformat:W5("z"),showlegend:$Z({},i8e.showlegend,{dflt:!1})};$Z(sz,R8t("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var F8t=["opacity","lightposition","lighting"];F8t.forEach(function(e){sz[e]=z8t[e]});sz.hoverinfo=$Z({},i8e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});n8e.exports=sz});var o8e=ye((npr,a8e)=>{"use strict";var q8t=Mr(),O8t=Uh(),B8t=QZ();a8e.exports=function(t,r,n,i){function a(h,d){return q8t.coerce(t,r,B8t,h,d)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a("starts.x"),a("starts.y"),a("starts.z"),a("maxdisplayed"),a("sizeref"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),O8t(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var v8e=ye((apr,d8e)=>{"use strict";var u8e=Rd().gl_streamtube3d,N8t=u8e.createTubeMesh,U8t=Mr(),V8t=$y().parseColorScale,H8t=Mu().extractOpts,s8e=G5(),c8e={xaxis:0,yaxis:1,zaxis:2};function f8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=f8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[c8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function l8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function h8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[c8e[q]];return U8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=s8e(o(t._u,"xaxis"),o(t._v,"yaxis"),o(t._w,"zaxis"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,"xaxis"),l=o(t._Ys,"yaxis"),u=o(t._Zs,"zaxis");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=s8e(o(t._startsX,"xaxis"),o(t._startsY,"yaxis"),o(t._startsZ,"zaxis"));else{for(var f=l[0],h=l8e(s),d=l8e(u),v=new Array(h.length*d.length),x=0,b=0;b{"use strict";p8e.exports={moduleType:"trace",name:"streamtube",basePlotModule:$_(),categories:["gl3d","showLegend"],attributes:QZ(),supplyDefaults:o8e(),colorbar:{min:"cmin",max:"cmax"},calc:rz().calc,plot:v8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var y8e=ye((spr,m8e)=>{"use strict";m8e.exports=g8e()});var H2=ye((lpr,b8e)=>{"use strict";var j8t=Wo().hovertemplateAttrs,W8t=Wo().texttemplateAttrs,Z8t=Eg(),jm=Uc(),X8t=vl(),_8e=Kl(),Y8t=Ed().dash,V2=no().extendFlat,K8t=Bu().overrideAll,eg=jm.marker,x8e=jm.line,J8t=eg.line;b8e.exports=K8t({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:V2({},jm.mode,{dflt:"markers"}),text:V2({},jm.text,{}),texttemplate:W8t({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:x8e.color,width:x8e.width,dash:Y8t},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:["previous","up","north"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:J8t.width},_8e("marker.line")),gradient:eg.gradient},_8e("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:Z8t(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},X8t.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:j8t()},"calc","nested")});var T8e=ye((upr,w8e)=>{"use strict";var rX=Mr(),iX=lu(),$8t=$p(),Q8t=R0(),eRt=D0(),tRt=Ig(),rRt=H2();w8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,rRt,d,v)}var o=a("locations"),s;if(o&&o.length){var l=a("geojson"),u;(typeof l=="string"&&l!==""||rX.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="geojson-id"&&a("featureidkey"),s=o.length}else{var f=a("lon")||[],h=a("lat")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a("text"),a("hovertext"),a("hovertemplate"),a("mode"),iX.hasMarkers(r)&&$8t(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(Q8t(t,r,n,i,a),a("connectgaps")),iX.hasText(r)&&(a("texttemplate"),eRt(t,r,i,a)),a("fill"),r.fill!=="none"&&tRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var M8e=ye((cpr,S8e)=>{"use strict";var A8e=Qa();S8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=A8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=A8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((fpr,L8e)=>{"use strict";var nX=uo(),E8e=es().BADNUM,iRt=z0(),nRt=km(),aRt=F0(),oRt=Mr().isArrayOrTypedArray,k8e=Mr()._;function C8e(e){return e&&typeof e=="string"}L8e.exports=function(t,r){var n=oRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return C8e(h)||nX(h)}:o=C8e;for(var s=0;s{"use strict";Tv.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};Tv.axesNames=["lonaxis","lataxis"];Tv.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};Tv.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor="#F0DC82";Tv.waterColor="#3399FF";Tv.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};Tv.sphereSVG={type:"Sphere"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];Tv.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];Tv.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}});var aX=ye((uz,P8e)=>{(function(e,t){typeof uz=="object"&&typeof P8e!="undefined"?t(uz):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){"use strict";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],p=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+p;FM&&(M=F[0]),F[1]p&&(p=F[1])}function T(F){switch(F.type){case"GeometryCollection":F.geometries.forEach(T);break;case"Point":P(F.coordinates);break;case"MultiPoint":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++qM&&(M=H[0]),H[1]p&&(p=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,p]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A=="string"&&(A=k.objects[A]),A.type==="GeometryCollection"?{type:"FeatureCollection",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:"Feature",properties:C,geometry:M}:_==null?{type:"Feature",id:L,properties:C,geometry:M}:{type:"Feature",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C1)for(var V=1,H=P(F[0]),X,G;VH&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]=2))throw new Error("n must be \u22652");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],p;A={scale:[C-L?(C-L)/(p-1):1,M-_?(M-_)/(p-1):1],translate:[L,_]}}else T=k.bbox;var P=g(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case"GeometryCollection":W={type:"GeometryCollection",geometries:N.geometries.map(X)};break;case"Point":W={type:"Point",coordinates:H(N.coordinates)};break;case"MultiPoint":W={type:"MultiPoint",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W{"use strict";var oX=I8e.exports={},sRt=XE().locationmodeToLayer,lRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")};oX.getTopojsonPath=function(e,t){return e+t+".json"};oX.getTopojsonFeatures=function(e,t){var r=sRt[e.locationmode],n=t.objects[r];return lRt(t,n).features}});var tx=ye(YE=>{"use strict";var uRt=es().BADNUM;YE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};YE.makeLine=function(e){return e.length===1?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}};YE.makePolygon=function(e){if(e.length===1)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r{R8e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xE7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xE9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xE9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xE3)o.?tom(e|\xE9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}});var dz=ye(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function rx(e,t,r={}){let n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function cRt(e,t,r={}){switch(e){case"Point":return uX(t).geometry;case"LineString":return fX(t).geometry;case"Polygon":return cX(t).geometry;case"MultiPoint":return F8e(t).geometry;case"MultiLineString":return z8e(t).geometry;case"MultiPolygon":return q8e(t).geometry;default:throw new Error(e+" is invalid")}}function uX(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!fz(e[0])||!fz(e[1]))throw new Error("coordinates must contain numbers");return rx({type:"Point",coordinates:e},t,r)}function fRt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let a=0;acX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return rx({type:"LineString",coordinates:e},t,r)}function dRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function z8e(e,t,r={}){return rx({type:"MultiLineString",coordinates:e},t,r)}function F8e(e,t,r={}){return rx({type:"MultiPoint",coordinates:e},t,r)}function q8e(e,t,r={}){return rx({type:"MultiPolygon",coordinates:e},t,r)}function vRt(e,t,r={}){return rx({type:"GeometryCollection",geometries:e},t,r)}function pRt(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function O8e(e,t="kilometers"){let r=lX[t];if(!r)throw new Error(t+" units is invalid");return e*r}function hX(e,t="kilometers"){let r=lX[t];if(!r)throw new Error(t+" units is invalid");return e/r}function gRt(e,t){return B8e(hX(e,t))}function mRt(e){let t=e%360;return t<0&&(t+=360),t}function yRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function B8e(e){return e%(2*Math.PI)*180/Math.PI}function _Rt(e){return e%360*Math.PI/180}function xRt(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return O8e(hX(e,t),r)}function bRt(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let n=sX[t];if(!n)throw new Error("invalid original units");let i=sX[r];if(!i)throw new Error("invalid final units");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function wRt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function TRt(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(t=>{if(!fz(t))throw new Error("bbox must only contain numbers")})}function ARt(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}ku.areaFactors=sX;ku.azimuthToBearing=yRt;ku.bearingToAzimuth=mRt;ku.convertArea=bRt;ku.convertLength=xRt;ku.degreesToRadians=_Rt;ku.earthRadius=qp;ku.factors=lX;ku.feature=rx;ku.featureCollection=hz;ku.geometry=cRt;ku.geometryCollection=vRt;ku.isNumber=fz;ku.isObject=wRt;ku.lengthToDegrees=gRt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=dRt;ku.multiLineString=z8e;ku.multiPoint=F8e;ku.multiPolygon=q8e;ku.point=uX;ku.points=fRt;ku.polygon=cX;ku.polygons=hRt;ku.radiansToDegrees=B8e;ku.radiansToLength=O8e;ku.round=pRt;ku.validateBBox=TRt;ku.validateId=ARt});var pz=ye(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var jv=dz();function KE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d==="FeatureCollection",x=d==="Feature",b=v?e.features.length:1,g=0;gl||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function PRt(e,t,r){var n=r,i=!1;return V8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function H8e(e,t){if(!e)throw new Error("geojson is required");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case"LineString":if(t(r,n,i,0,0)===!1)return!1;break;case"Polygon":for(var s=0;s{"use strict";Object.defineProperty(gz,"__esModule",{value:!0});var G8e=dz(),zRt=pz();function Z8e(e){return zRt.geomReduce.call(void 0,e,(t,r)=>t+FRt(r),0)}function FRt(e){let t=0,r;switch(e.type){case"Polygon":return j8e(e.coordinates);case"MultiPolygon":for(r=0;r0){t+=Math.abs(W8e(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*qRt}var ORt=Z8e;gz.area=Z8e;gz.default=ORt});var K8e=ye(mz=>{"use strict";Object.defineProperty(mz,"__esModule",{value:!0});var BRt=dz(),NRt=pz();function Y8e(e,t={}){let r=0,n=0,i=0;return NRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),BRt.point.call(void 0,[r/i,n/i],t.properties)}var URt=Y8e;mz.centroid=Y8e;mz.default=URt});var $8e=ye(yz=>{"use strict";Object.defineProperty(yz,"__esModule",{value:!0});var VRt=pz();function J8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return VRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]{"use strict";var GRt=xa(),tRe=D8e(),{area:jRt}=X8e(),{centroid:WRt}=K8e(),{bbox:ZRt}=$8e(),Q8e=OS(),Z5=H1(),XRt=gy(),YRt=ES(),_z=wM(),eRe=Object.keys(tRe),KRt={"ISO-3":Q8e,"USA-states":Q8e,"country names":JRt};function JRt(e){for(var t=0;t0&&c[f+1][0]<0)return f;return null}switch(n==="RUS"||n==="FJI"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;lf?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case"MultiPolygon":for(o=0;o0?v.properties.ct=tDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else Z5.log(["Location",h.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[f]}switch(r.type){case"FeatureCollection":var l=r.features;for(a=0;ai&&(i=s,r=o)}else r=t;return WRt(r).geometry.coordinates}function rDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){GRt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL "'+l+'" does not exist.':"Unexpected error while fetching from "+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!=="pending")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c("Unexpected error while fetching from "+l);f++},50)})}for(var a=0;a{"use strict";var nDt=xa(),aDt=ao(),nRe=va(),aRe=op(),oDt=aRe.stylePoints,sDt=aRe.styleText;oRe.exports=function(t,r){r&&lDt(t,r)};function lDt(e,t){var r=t[0].trace,n=t[0].node3;n.style("opacity",t[0].trace.opacity),oDt(n,r,e),sDt(n,r,e),n.selectAll("path.js-line").style("fill","none").each(function(i){var a=nDt.select(this),o=i.trace,s=o.line||{};a.call(nRe.stroke,s.color).call(aDt.dashLine,s.dash||"",s.width||0),o.fill!=="none"&&a.call(nRe.fill,o.fillcolor)})}});var _X=ye((Tpr,uRe)=>{"use strict";var sRe=xa(),bz=Mr(),uDt=cz().getTopojsonFeatures,gX=tx(),xz=ix(),lRe=wg().findExtremes,yX=es().BADNUM,cDt=q0().calcMarkerSize,mX=lu(),fDt=pX();function hDt(e,t,r){var n=t.layers.frontplot.select(".scatterlayer"),i=bz.makeTraceGroups(n,r,"trace scattergeo");function a(o,s){o.lonlat[0]===yX&&sRe.select(s).remove()}i.selectAll("*").remove(),i.each(function(o){var s=sRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!=="none"){var u=gX.calcTraceToLineCoords(o),c=l.fill!=="none"?gX.makePolygon(u):gX.makeLine(u);s.selectAll("path.js-line").data([{geojson:c,trace:l}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}mX.hasMarkers(l)&&s.selectAll("path.point").data(bz.identity).enter().append("path").classed("point",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll("g").data(bz.identity).enter().append("g").append("text").each(function(f){a(f,this)}),fDt(e,o)})}function dDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l==="geojson-id"?xz.extractTraceFeature(e):uDt(r,i.topojson);for(o=0;o{"use strict";var vDt=Nc(),pDt=es().BADNUM,gDt=oT(),mDt=Mr().fillText,yDt=H2();cRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===pDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(vDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var g=a._module.formatLabels(h,a,b);return t.lonLabel=g.lonLabel,t.latLabel=g.latLabel,t.color=gDt(a,h),t.extraText=_Dt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function _Dt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i==="all"?yDt.hoverinfo.flags:i.split("+"),o=a.indexOf("location")!==-1&&Array.isArray(e.locations),s=a.indexOf("lon")!==-1,l=a.indexOf("lat")!==-1,u=a.indexOf("text")!==-1,c=[];function f(h){return h+"\xB0"}return o?c.push(t.loc):s&&l?c.push("("+f(r.latLabel)+", "+f(r.lonLabel)+")"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&mDt(t,e,c),c.join("
")}});var dRe=ye((Spr,hRe)=>{"use strict";hRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var gRe=ye((Mpr,pRe)=>{"use strict";var vRe=lu(),xDt=es().BADNUM;pRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!vRe.hasMarkers(s)&&!vRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h{(function(e,t){typeof wz=="object"&&typeof mRe!="undefined"?t(wz):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(wz,function(e){"use strict";function t(Ee,Ae){return EeAe?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);zeEe?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce=me)for(Re=ce=me;++Ceme&&(Re=me),ce=me)for(Re=ce=me;++Ceme&&(Re=me),ce0)return[Ee];if((Ce=Ae0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Aert;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=g.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce=me)for(Re=me;++CeRe&&(Re=me)}else for(;++Ce=me)for(Re=me;++CeRe&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce=me)for(Re=me;++Ceme&&(Re=me)}else for(;++Ce=me)for(Re=me;++Ceme&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce{(function(e,t){typeof Tz=="object"&&typeof yRe!="undefined"?t(Tz,JE()):typeof define=="function"&&define.amd?define(["exports","d3-array"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){"use strict";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,g=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,p=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr=0?1:-1,Ur=vr*wr,fi=g(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*g(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=g(wr);return[vr*g(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),BtCt&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*YtCt&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*YtCt&&(Ct=Bt))),Ti?gtOr(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gtkt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);BtCt&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:BtOr(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt);Ni(wr*g(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt);jr=wr*g(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt),vr=wr*g(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=g(Bt);jr=wr*g(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt),vr=wr*g(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Url?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=g(gt),vr=_(gt),Ur=g(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=g(Xi),Ti=g(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=g(Xi),Ti=g(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=g(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Urfi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*g(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)o?x((_(Bt)*(fi=g(vr))*_(wr)-_(vr)*(Ur=g(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return g(Ti)*g(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],iu;Ka0^Rs[1]<(v(Rs[0]-ia)l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn0)){if(Pn/=mi,mi<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)0?0:3:v(hn[0]-wr)0?2:1:v(hn[1]-Bt)0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Kavr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],iu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,iu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(iu[0],iu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=g(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=g(Bt),Ur=v(gt-Oo),fi=g(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:"LineString",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:"LineString",coordinates:Cn}})},Ea.outline=function(){return{type:"Polygon",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Il(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=g(vr),Fi=_(vr),Xi=g(fi),hn=_(fi),Ti=xi*g(wr),qi=xi*_(wr),Ii=Xi*g(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Wl(gt){return gt}var Ks=r(),Zl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Zl)),Zl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Zl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,Ql=-Al,Ls=Ql,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[Ql,Ls]];return Ql=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gtQl&&(Ql=gt),BtLs&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Ul=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Ul/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Ul=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Ul+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push("M",gt,",",Bt),this._point=1;break}case 1:{this._string.push("L",gt,",",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push("M",gt,",",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join("");return this._string=[],gt}else return null}};function hf(gt){return"m0,"+gt+"a"+gt+","+gt+" 0 1,1 0,"+-2*gt+"a"+gt+","+gt+" 0 1,1 0,"+2*gt+"z"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr=="function"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Wl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!="function"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi=="function"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=g(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=eu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?eu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=g(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=g(Bt),Ur=g(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=g(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(p((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return tu(Iu).scale(961/f)}function tu(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return p((u+gt)/2)}function md(gt,Bt){var wr=g(gt),vr=gt===Bt?_(gt):A(wr/g(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*g(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=g(gt),vr=gt===Bt?_(gt):(wr-g(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[g(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function ru(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=g(Bt),vr=1+g(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(p((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=tu(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Rl,e.geoGraticule=Qu,e.geoGraticule10=Il,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=ru,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,"__esModule",{value:!0})})});var xRe=ye((Az,_Re)=>{(function(e,t){typeof Az=="object"&&typeof _Re!="undefined"?t(Az,xX(),JE()):typeof define=="function"&&define.amd?define(["exports","d3-geo","d3-array"],t):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){"use strict";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,g=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),p=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>g&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+g)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>g||n(co)>g)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>g||n(co)>g)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return PeE&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr0&&n(Je)>g);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;trMt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>g&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>g&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>g?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:"MultiPoint",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>g;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>g;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Vl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Vl/pa+Li*(Vl+Vl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),nu=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Vl-Vl/Mn),zc=cu*el-nu*Zu;if(!zc)break;var Dl=(Wa*cu-To*nu)/zc,zl=(To*el-Wa*Zu)/zc;Pe-=Dl,Oe=c(-A,f(A,Oe-zl))}while((n(Dl)>g||n(zl)>g)&&--Je>0);return n(n(Oe)-A)Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>g&&--Mn>0);Ut=Xr*x(Dt),DtOe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=Heg||n(Xr)>g)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>g&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>g&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>g&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Vl=H(Rr-di*di),Zu=di*(Ds+co*Vl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>g&&--Li>0)}else{di=g,Li=25;do{var cu=di*di,el=H(Rr-cu),nu=Ds+co*el,zc=di*nu+Ro*q(di/zr)-As,Dl=nu+(Ro-co*cu)/el;di-=yo=el?zc/Dl:0}while(n(yo)>g&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be=1-g)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>g&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>g;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>g?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=p/he,Mt=4/p,Dt=Oe+He*He*4/p;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*p/Pe-p*(he-1)/(2*he)+Xr*p/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/p,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/p;var Xr=ht.invert(tr,.25*(Rr-Oe)*p/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-g:cl]}function Hs(he,be){return[he,be&1?-90+g:-cl]}function Eo(he){return[he[0]*(1-g),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:"Polygon",coordinates:[he===180?be.map(Eo):be]}}function $l(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Il(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Il.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Il).scale(152.63)}function Wl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Wl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Zl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-g,Mt-g],[et-g,He+g],[Oe+g,He+g],[Oe+g,Je-g]],30));return{type:"Polygon",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rrmr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;RrXr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Hc(){return So(Il,Al).scale(152.63)}var Ql=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ls(){return So(Yt,Ql).scale(169.529)}var mu=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/p*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[p/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Ul(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=g,He=A;Oeg||n(Li)>g)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>g*g&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>g;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,eu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(eu+Je*(Pu+Lc*Je)))}while(n(Oe)>g);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)g&&--Je>0);return et=b(Oe),[(n(be)=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function tu(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:PeOe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Rl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error("invalid projection");switch(he&&he.type){case"Feature":Oe=Wu;break;case"FeatureCollection":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:"FeatureCollection",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:"Feature",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:"GeometryCollection",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type==="GeometryCollection")return Rc(he,be);var Pe;switch(he.type){case"Point":Pe=mc;break;case"MultiPoint":Pe=mc;break;case"LineString":Pe=Yc;break;case"MultiLineString":Pe=Yc;break;case"Polygon":Pe=nc;break;case"MultiPolygon":Pe=nc;break;case"Sphere":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],ru=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:"Point",coordinates:hl[0]}:{type:"MultiPoint",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(ru.push(hl),hl=[])},result:function(){var he=ru.length?ru.length<2?{type:"LineString",coordinates:ru[0]}:{type:"MultiLineString",coordinates:ru}:null;return ru=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);ru.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!ru.length)return null;var he=[],be=[];return ru.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),ru=[],he.length?he.length>1?{type:"MultiPolygon",coordinates:he}:{type:"Polygon",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error("invalid digits");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case"GeometryCollection":tr={type:"GeometryCollection",geometries:Ut.geometries.map(et)};break;case"Point":tr={type:"Point",coordinates:Pe(Ut.coordinates)};break;case"MultiPoint":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case"LineString":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case"MultiLineString":case"Polygon":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case"MultiPolygon":tr={type:"MultiPolygon",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:"Feature",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case"Feature":return Mt(he);case"FeatureCollection":{var Dt={type:"FeatureCollection",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)g&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mrPn&&zrqa&&Xr=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function iu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)g&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,g),be=c(be,g),he=f(he,A),be=f(be,k-g),Pe=c(Pe,0),Pe=f(Pe,100-g),Oe=c(Oe,g);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>g||n(co)>g)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=$l,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Il,e.geoHufnagel=Ks,e.geoHufnagelRaw=Wl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Ul,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Rl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=iu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,"__esModule",{value:!0})})});var SRe=ye((Epr,ARe)=>{"use strict";var Zh=xa(),bX=Mr(),bDt=ba(),X5=Math.PI/180,G2=180/Math.PI,TX={cursor:"pointer"},AX={cursor:"auto"};function wDt(e,t){var r=e.projection,n;return t._isScoped?n=TDt:t._isClipped?n=SDt:n=ADt,n(e,r)}ARe.exports=wDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+"."+h]=bX.nestedProperty(o,h).get(),bDt.call("_storeDirectGUIEdit",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+"."+h]=d)}r(f),f("projection.scale",t.scale()/e.fitScale),f("fitbounds",!1),i.emit("plotly_relayout",c)}function TDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":s[0],"geo.center.lat":s[1]})}function a(s){var l=t.invert(e.midPt);s("center.lon",l[0]),s("center.lat",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on("zoomstart",n).on("zoom",i).on("zoomend",o),r}function ADt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":A[0],"geo.center.lat":A[1],"geo.projection.rotation.lon":-k[0]})}function g(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k("projection.rotation.lon",-A[0]),k("center.lon",L[0]),k("center.lat",L[1])}return r.on("zoomstart",x).on("zoom",b).on("zoomend",g),r}function SDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=RDt(n,"zoomstart","zoom","zoomend"),a=0,o=n.on,s;n.on("zoomstart",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=MDt(d);s=Sz(t,h),o.call(n,"zoom",function(){var g=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=g,s=Sz(t,h);else if(Sz(t,g)){t.rotate(d).translate(x);var E=Sz(t,g),k=kDt(s,E),A=LDt(EDt(b,k)),L=r.r=CDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on("zoomend",function(){Zh.select(this).style(AX),o.call(n,"zoom",null),c(i.of(this,arguments)),MX(e,t,f)}).on("zoom.redraw",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-h[0],"geo.projection.rotation.lat":-h[1]})});function l(h){a++||h({type:"zoomstart"})}function u(h){h({type:"zoom"})}function c(h){--a||h({type:"zoomend"})}function f(h){var d=t.rotate();h("projection.rotation.lon",-d[0]),h("projection.rotation.lat",-d[1])}return Zh.rebind(n,i,"on")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&PDt(r)}function MDt(e){var t=.5*e[0]*X5,r=.5*e[1]*X5,n=.5*e[2]*X5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function EDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function kDt(e,t){if(!(!e||!t)){var r=IDt(e,t),n=Math.sqrt(TRe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,TRe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function CDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,g=bRe(r[0],r[1],d,x),E=bRe(r[0],r[1],v,b);return g<=E?[d,x,r[2]]:[v,b,r[2]]}function bRe(e,t,r,n){var i=wRe(r-e),a=wRe(n-t);return Math.sqrt(i*i+a*a)}function wRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*X5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function LDt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function PDt(e){var t=e[0]*X5,r=e[1]*X5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function TRe(e,t){for(var r=0,n=0,i=e.length;n{"use strict";var t1=xa(),CX=xX(),DDt=CX.geoPath,zDt=CX.geoDistance,FDt=xRe(),qDt=ba(),QE=Mr(),ODt=QE.strTranslate,Mz=va(),$E=ao(),MRe=Nc(),BDt=Xu(),kX=Qa(),ERe=wg().getAutoRange,EX=gv(),NDt=wf().prepSelect,UDt=wf().clearOutline,VDt=wf().selectOnClick,HDt=SRe(),fp=XE(),GDt=ix(),CRe=cz(),jDt=aX().feature;function LRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=LRe.prototype;PRe.exports=function(t){return new LRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!=="frame"&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),BDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var u=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=u.selectAll("path"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=WDt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=ERe(r,u),c.range=ERe(r,c);var g=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:g,lat:E};else if(n._isClipped){d={lon:g,lat:E},v={lon:g,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[g-A,g+A],b=[E-L,E+L]}else d={lon:g,lat:E},v={lon:g,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=kRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),p=f.translate();if(n.fitbounds){var P=f.getBounds(kRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):QE.warn("Something went wrong during"+this.id+"fitbounds computations.")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([p[0]+(F[0]-p[0]),p[1]+(F[1]-p[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h==="lonaxis"||h==="lataxis"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t["show"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(".layer").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append("g").attr("class",function(h){return"layer "+h}).each(function(h){var d=i[h]=t1.select(this);h==="bg"?r.bgRect=d.append("rect").style("pointer-events","all"):o(h)?a[h]=d.append("path").style("fill","none"):h==="backplot"?d.append("g").classed("choroplethlayer",!0):h==="frontplot"?d.append("g").classed("scatterlayer",!0):s(h)?a[h]=d.append("path").style("fill","none").style("stroke-miterlimit",2):l(h)&&(a[h]=d.append("path").style("stroke","none"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h==="frame"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(jDt(n,n.objects[h])):o(h)&&d.datum(ZDt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call($E.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+"color"]).call($E.dashLine,"",t[v+"width"]):l(h)&&d.call(Mz.fill,t[v+"color"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;$E.setRect(this.clipRect,i,a,o,s),this.bgRect.call($E.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+"."+d]=f[d];qDt.call("_guiRelayout",n,h),n.emit("plotly_doubleclick",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&UDt(n)}};a==="pan"?(i.node().onmousedown=null,i.call(HDt(r,t)),i.on("dblclick.zoom",s),n._context._scrollZoom.geo||i.on("wheel.zoom",null)):(a==="select"||a==="lasso")&&(i.on(".zoom",null),c.prepFn=function(f,h,d){NDt(f,h,d,c,a)},EX.init(c)),i.on("mousemove",function(){var f=r.projection.invert(QE.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},MRe.hover(n,t1.event,r.id)}),i.on("mouseout",function(){n._dragging||EX.unhover(n,t1.event)}),i.on("click",function(){a!=="select"&&a!=="lasso"&&(o.indexOf("select")>-1&&VDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf("event")>-1&&MRe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n="clip"+r._uid+e.id;e.clipDef=r._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=t1.select(e.container).append("g").attr("class","geo "+e.id).call($E.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:"y",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale};var i;e._isScoped?i={"center.lon":t.lon,"center.lat":t.lat}:e._isClipped?i={"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:i={"center.lon":t.lon,"center.lat":t.lat,"projection.rotation.lon":n.lon},QE.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?ODt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?"none":null}for(r in this.basePaths)this.basePaths[r].attr("d",t);for(r in this.dataPaths)this.dataPaths[r].attr("d",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr("display",i).attr("transform",n)};function WDt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n="geo"+QE.titleCase(n);for(var i=CX[n]||FDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=["center","rotate","parallels","clipExtent"],l=function(f){return f?a:[]},u=0;uv}else return!1},a.getPath=function(){return DDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function ZDt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e==="lonaxis"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e==="lataxis"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:"linear",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e==="lonaxis"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Cpr,zRe)=>{"use strict";var K5=dh(),XDt=Ju().attributes,YDt=Ed().dash,Y5=XE(),KDt=Bu().overrideAll,RRe=X1(),DRe={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:K5.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:YDt},JDt=zRe.exports=KDt({domain:XDt({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:RRe(Y5.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:RRe(Y5.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},tilt:{valType:"number",dflt:0},distance:{valType:"number",min:1.001,dflt:2},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:K5.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:Y5.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:Y5.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:Y5.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:Y5.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:K5.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:K5.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:K5.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:K5.background},lonaxis:DRe,lataxis:DRe},"plot","from-root");JDt.uirevision={valType:"any",editType:"none"}});var ORe=ye((Lpr,qRe)=>{"use strict";var Ez=Mr(),$Dt=k_(),QDt=kd().getSubplotData,kz=XE(),ezt=LX(),FRe=kz.axesNames;qRe.exports=function(t,r,n){$Dt(t,r,n,{type:"geo",attributes:ezt,handleDefaults:tzt,fullData:n,partition:"y"})};function tzt(e,t,r,n){var i=QDt(n.fullData,"geo",n.id),a=i.map(function(ae){return ae.index}),o=r("resolution"),s=r("scope"),l=kz.scopeDefaults[s],u=r("projection.type",l.projType),c=t._isAlbersUsa=u==="albers usa";c&&(s=t.scope="usa");var f=t._isScoped=s!=="world",h=t._isSatellite=u==="satellite",d=t._isConic=u.indexOf("conic")!==-1||u==="albers",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r("visible"),g,E=0;E0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r("projection.rotation.lon",X[0]),r("projection.rotation.lat",X[1]),r("projection.rotation.roll",X[2]),g=r("showcoastlines",!f&&b),g&&(r("coastlinecolor"),r("coastlinewidth")),g=r("showocean",b?void 0:!1),g&&r("oceancolor")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r("center.lon",G),r("center.lat",N),h&&(r("projection.tilt"),r("projection.distance")),d){var W=l.projParallels||[0,60];r("projection.parallels",W)}r("projection.scale"),g=r("showland",b?void 0:!1),g&&r("landcolor"),g=r("showlakes",b?void 0:!1),g&&r("lakecolor"),g=r("showrivers",b?void 0:!1),g&&(r("rivercolor"),r("riverwidth")),g=r("showcountries",f&&s!=="usa"&&b),g&&(r("countrycolor"),r("countrywidth")),(s==="usa"||s==="north america"&&o===50)&&(r("showsubunits",b),r("subunitcolor"),r("subunitwidth")),f||(g=r("showframe",b),g&&(r("framecolor"),r("framewidth"))),r("bgcolor");var re=r("fitbounds");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Ppr,URe)=>{"use strict";var rzt=kd().getSubplotCalcData,izt=Mr().counterRegex,nzt=IRe(),Wm="geo",BRe=izt(Wm),NRe={};NRe[Wm]={valType:"subplotid",dflt:Wm,editType:"calc"};function azt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i{"use strict";VRe.exports={attributes:H2(),supplyDefaults:T8e(),colorbar:Kd(),formatLabels:M8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:fRe(),eventData:dRe(),selectPoints:gRe(),moduleType:"trace",name:"scattergeo",basePlotModule:PX(),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}});var jRe=ye((Rpr,GRe)=>{"use strict";GRe.exports=HRe()});var J5=ye((Dpr,XRe)=>{"use strict";var lzt=Wo().hovertemplateAttrs,ax=H2(),uzt=Kl(),WRe=vl(),czt=dh().defaultLine,nx=no().extendFlat,ZRe=ax.marker.line;XRe.exports=nx({locations:{valType:"data_array",editType:"calc"},locationmode:ax.locationmode,z:{valType:"data_array",editType:"calc"},geojson:nx({},ax.geojson,{}),featureidkey:ax.featureidkey,text:nx({},ax.text,{}),hovertext:nx({},ax.hovertext,{}),marker:{line:{color:nx({},ZRe.color,{dflt:czt}),width:nx({},ZRe.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:ax.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:ax.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:nx({},WRe.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:lzt(),showlegend:nx({},WRe.showlegend,{dflt:!1})},uzt("",{cLetter:"z",editTypeOverride:"calc"}))});var KRe=ye((zpr,YRe)=>{"use strict";var Cz=Mr(),fzt=Uh(),hzt=J5();YRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,hzt,h,d)}var o=a("locations"),s=a("z");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a("geojson"),u;(typeof l=="string"&&l!==""||Cz.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="geojson-id"&&a("featureidkey"),a("text"),a("hovertext"),a("hovertemplate");var f=a("marker.line.width");f&&a("marker.line.color"),a("marker.opacity"),fzt(t,r,i,a,{prefix:"",cLetter:"z"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Fpr,QRe)=>{"use strict";var JRe=uo(),dzt=es().BADNUM,vzt=zv(),pzt=km(),gzt=F0();function $Re(e){return e&&typeof e=="string"}QRe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return $Re(c)||JRe(c)}:a=$Re;for(var o=0;o{"use strict";var mzt=xa(),yzt=va(),IX=ao(),_zt=Mu();function xzt(e,t){t&&eDe(e,t)}function eDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(".choroplethlocation"),a=r.marker||{},o=a.line||{},s=_zt.makeColorScaleFuncFromTrace(r);i.each(function(l){mzt.select(this).attr("fill",s(l.z)).call(yzt.stroke,l.mlc||o.color).call(IX.dashLine,"",l.mlw||o.width||0).style("opacity",a.opacity)}),IX.selectedPointStyle(i,r)}function bzt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(".choroplethlocation"),n):eDe(e,t)}tDe.exports={style:xzt,styleOnSelect:bzt}});var RX=ye((Opr,nDe)=>{"use strict";var wzt=xa(),rDe=Mr(),$5=ix(),Tzt=cz().getTopojsonFeatures,iDe=wg().findExtremes,Azt=Pz().style;function Szt(e,t,r){var n=t.layers.backplot.select(".choroplethlayer");rDe.makeTraceGroups(n,r,"trace choropleth").each(function(i){var a=wzt.select(this),o=a.selectAll("path.choroplethlocation").data(rDe.identity);o.enter().append("path").classed("choroplethlocation",!0),o.exit().remove(),Azt(e,i)})}function Mzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a==="geojson-id"?$5.extractTraceFeature(e):Tzt(r,i.topojson),l=[],u=[],c=0;c{"use strict";var Ezt=Qa(),kzt=J5(),Czt=Mr().fillText;aDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l")}}});var Rz=ye((Npr,oDe)=>{"use strict";oDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Upr,sDe)=>{"use strict";sDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{"use strict";lDe.exports={attributes:J5(),supplyDefaults:KRe(),colorbar:S_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:"trace",name:"choropleth",basePlotModule:PX(),categories:["geo","noOpacity","showLegend"],meta:{}}});var fDe=ye((Hpr,cDe)=>{"use strict";cDe.exports=uDe()});var zz=ye((Gpr,dDe)=>{"use strict";var Pzt=ba(),s0=Mr(),Izt=oT();function Rzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),g=l.p2c(h-d),E=l.p2c(h+d);n==="x"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(g,E),Math.max(x,b),Math.max(g,E))}else v=a.ids;var k,A,L,_,C,M,p,P,T,F=d;if(n==="x"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+p*p),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,p=l.c2p(_)-h,P=Math.sqrt(M*M+p*p),P{"use strict";var vDe=20;pDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:vDe,SYMBOL_STROKE:vDe/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}});var ek=ye((Wpr,_De)=>{"use strict";var Dzt=vl(),zzt=Su(),Fzt=Eg(),Af=Uc(),gDe=Oc().axisHoverFormat,mDe=Kl(),qzt=X1(),DX=no().extendFlat,Ozt=Bu().overrideAll,Bzt=ox().DASHES,yDe=Af.line,r1=Af.marker,Nzt=r1.line,Q5=_De.exports=Ozt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:gDe("x"),yhoverformat:gDe("y"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:zzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,noNumericWeightValues:!0,variantValues:["normal","small-caps"]}),mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:yDe.color,width:yDe.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:qzt(Bzt),dflt:"solid"}},marker:DX({},mDe("marker"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},mDe("marker.line"),{width:Nzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:"none"}),fillcolor:Fzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Dzt.opacity},"calc","nested");Q5.x.editType=Q5.y.editType=Q5.x0.editType=Q5.y0.editType="calc+clearAxisTypes";Q5.hovertemplate=Af.hovertemplate;Q5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{"use strict";var xDe=ox();zX.isOpenSymbol=function(e){return typeof e=="string"?xDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e=="string"?xDe.DOT_RE.test(e):e>200}});var TDe=ye((Xpr,wDe)=>{"use strict";var bDe=Mr(),Uzt=ba(),Vzt=Fz(),Hzt=ek(),Gzt=Sm(),qz=lu(),jzt=K3(),Wzt=Pg(),Zzt=$p(),Xzt=R0(),Yzt=Ig(),Kzt=D0();wDe.exports=function(t,r,n,i){function a(d,v){return bDe.coerce(t,r,Hzt,d,v)}var o=t.marker?Vzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=jzt(t,r,i,a);if(!l){r.visible=!1;return}Wzt(t,r,i,a),a("xhoverformat"),a("yhoverformat");var u=l{"use strict";var Jzt=JP();ADe.exports=function(t,r,n){var i=t.i;return"x"in t||(t.x=r._x[i]),"y"in t||(t.y=r._y[i]),Jzt(t,r,n)}});var EDe=ye((Kpr,MDe)=>{"use strict";function $zt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function Qzt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function eFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function tFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function rFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function tk(e,t,r,n,i,a){return typeof r=="function"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}MDe.exports={ge:function(e,t,r,n,i){return tk(e,t,r,n,i,$zt)},gt:function(e,t,r,n,i){return tk(e,t,r,n,i,Qzt)},lt:function(e,t,r,n,i){return tk(e,t,r,n,i,eFt)},le:function(e,t,r,n,i){return tk(e,t,r,n,i,tFt)},eq:function(e,t,r,n,i){return tk(e,t,r,n,i,rFt)}}});var Zm=ye((Jpr,CDe)=>{"use strict";CDe.exports=function(t,r,n){var i={},a,o;if(typeof r=="string"&&(r=kDe(r)),Array.isArray(r)){var s={};for(o=0;o{"use strict";var iFt=Zm();LDe.exports=nFt;function nFt(e){var t;return arguments.length>1&&(e=arguments),typeof e=="string"?e=e.split(/\s/).map(parseFloat):typeof e=="number"&&(e=[e]),e.length&&typeof e[0]=="number"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=iFt(e,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((Qpr,PDe)=>{"use strict";PDe.exports=aFt;function aFt(e,t){if(!e||e.length==null)throw Error("Argument should be an array");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;ni&&(i=e[o]),e[o]{IDe.exports=function(){for(var e=0;e{var DDe=HD();zDe.exports=oFt;function oFt(e,t,r){if(!e)throw new TypeError("must specify data as first parameter");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]=="number"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t=="string")&&(t=new(DDe(t||"float32"))(i+r));var u=t.length-r;if(i!==u)throw new Error("source length "+i+" ("+n+"x"+e.length+") does not match destination length "+u);for(a=0,s=r;a{"use strict";FDe.exports=function(e){var t=typeof e;return e!==null&&(t==="object"||t==="function")}});var BDe=ye((i0r,ODe)=>{"use strict";ODe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var WDe=ye((n0r,jDe)=>{"use strict";var NDe=EDe(),UDe=O5(),sFt=eA(),lFt=j2(),VDe=Zm(),qX=RDe(),uFt=W2(),cFt=qDe(),fFt=HD(),HDe=BDe(),hFt=1073741824;jDe.exports=function(t,r){r||(r={}),t=uFt(t,"float64"),r=VDe(r,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});let n=qX(r.maxDepth,255),i=qX(r.bounds,lFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=GDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype="array"),typeof r.dtype=="string"?s=new(fFt(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let g=0;gn||_>hFt){for(let N=0;N_e||p>Me||P=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(g,E,k,A,L){let _=[];for(let C=0;C{"use strict";ZDe.exports=WDe()});var OX=ye((o0r,XDe)=>{XDe.exports=dFt;function dFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case"a":a[6]+=n,a[7]+=i;break;case"v":a[1]+=i;break;case"h":a[1]+=n;break;default:for(var l=1;l{"use strict";Object.defineProperty(Bz,"__esModule",{value:!0});var vFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),rk=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},pFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},YDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},gFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),g=d*v-d*b-v*x;g<0&&(g=0),g/=d*b+v*x,g=Math.sqrt(g)*(s===l?-1:1);var E=g*a/o*h,k=g*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,p=(-h-k)/o,P=YDe(1,0,_,C),T=YDe(_,C,M,p);return l===0&&T>0&&(T-=rk),l===1&&T<0&&(T+=rk),[A,L,P,T]},mFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*rk/360),b=Math.cos(u*rk/360),g=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(g===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(g,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=gFt(r,n,i,a,o,s,f,d,x,b,g,E),L=vFt(A,4),_=L[0],C=L[1],M=L[2],p=L[3],P=Math.abs(p)/(rk/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);p/=T;for(var F=0;F{"use strict";QDe.exports=_Ft;var yFt=JDe();function _Ft(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return["C",e,t,r,n,r,n]}function $De(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((l0r,tze)=>{"use strict";tze.exports=function(t){return typeof t!="string"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}});var nze=ye((u0r,ize)=>{"use strict";var xFt=XS(),bFt=OX(),wFt=eze(),TFt=NX(),rze=tE();ize.exports=AFt;function AFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]=="string"&&(e=e[0]),typeof e=="string"&&(rze(TFt(e),"String is not an SVG path."),e=xFt(e)),rze(Array.isArray(e),"Argument should be a string or an array of path segments."),e=bFt(e),e=wFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var cze=ye((c0r,uze)=>{var Z2=Math.PI,aze=lze(120);uze.exports=SFt;function SFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(d.splice(0,7)),d.unshift("C"));break;case"S":var x=u,b=c;(t=="C"||t=="S")&&(x+=x-n,b+=b-i),d=["C",x,b,d[1],d[2],d[3],d[4]];break;case"T":t=="Q"||t=="T"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=oze(u,c,s,l,d[1],d[2]);break;case"Q":s=d[1],l=d[2],d=oze(u,c,d[1],d[2],d[3],d[4]);break;case"L":d=Uz(u,c,d[1],d[2]);break;case"H":d=Uz(u,c,d[1],c);break;case"V":d=Uz(u,c,u,d[1]);break;case"Z":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return["C",e,t,r,n,r,n]}function oze(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function sze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],g=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var g=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=eA&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>aze){var L=A,_=s,C=l;A=k+aze*(o&&A>k?1:-1),s=g+r*Math.cos(A),l=E+n*Math.sin(A);var M=sze(s,l,r,n,i,0,o,_,C,[A,L,g,E])}var p=Math.tan((A-k)/4),P=4/3*r*p,T=4/3*n*p,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q{var MFt=OX(),EFt=cze(),kFt={M:"moveTo",C:"bezierCurveTo"};fze.exports=function(e,t){e.beginPath(),EFt(MFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[kFt[n]].apply(e,i)}),e.closePath()}});var gze=ye((h0r,pze)=>{"use strict";var CFt=O5();pze.exports=LFt;var ik=1e20;function LFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext("2d"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v{"use strict";var PFt=nze(),IFt=XS(),RFt=hze(),DFt=NX(),zFt=gze(),VX=document.createElement("canvas"),hp=VX.getContext("2d");mze.exports=FFt;function FFt(e,t){if(!DFt(e))throw Error("Argument should be valid svg path string");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||PFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle="black",hp.fillRect(0,0,r,n),hp.fillStyle="white",a&&(typeof a!="number"&&(a=1),a>0?hp.strokeStyle="white":hp.strokeStyle="black",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),qFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=IFt(e);RFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=zFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function qFt(){if(Vz!=null)return Vz;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((v0r,Cze)=>{"use strict";var Gz=uo(),OFt=yze(),Hz=J_(),BFt=ba(),iA=Mr(),Qf=iA.isArrayOrTypedArray,tA=ao(),_ze=af(),xze=$y().formatColor,rA=lu(),NFt=S3(),GX=Fz(),nk=ox(),UFt=N1().DESELECTDIM,bze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},VFt=rp().appendArrayPointValue;function HFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(rA.hasText(t)&&(n.text=kze(e,t),n.textSel=Tze(e,t,t.selected),n.textUnsel=Tze(e,t,t.unselected)),rA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r500?"bold":"normal":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=xze(n,n.opacity,r),g=xze(n.line,n.opacity,r);if(!Qf(g[0])){var E=g;for(g=Array(r),a=0;ank.TOO_MANY_POINTS||rA.hasMarkers(t)?"rect":"round";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=bze[h],x=bze[d],b=c?c/.8+1:0,g=-x*b-x*.5;a.offset[o]=[v*b/f,g/f]}}return a}Cze.exports={style:HFt,markerStyle:WX,markerSelection:jX,linePositions:jFt,errorBarPositions:WFt,textPosition:ZFt}});var ZX=ye((p0r,Lze)=>{"use strict";var jz=Mr();Lze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{"use strict";var XFt=Oz(),nA=Mr(),Pze=af(),YFt=wg().findExtremes,Ize=Rg(),XX=q0(),KFt=XX.calcMarkerSize,JFt=XX.calcAxisExpansion,$Ft=XX.setFirstScatter,QFt=z0(),aA=Y2(),e7t=ZX(),Rze=es().BADNUM,t7t=ox().TOO_MANY_POINTS;zze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Pze.getFromId(t,r.xaxis,"x"),a=r._yA=Pze.getFromId(t,r.yaxis,"y"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=t7t,u=s*2,c={},f,h=i.makeCalcdata(r,"x"),d=a.makeCalcdata(r,"y"),v=Ize(r,i,"x",h),x=Ize(r,a,"y",d),b=v.vals,g=x.vals;r._x=b,r._y=g,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f1&&nA.extendFlat(o.line,aA.linePositions(e,r,n)),o.errorX||o.errorY){var s=aA.errorBarPositions(e,r,n,i,a);o.errorX&&nA.extendFlat(o.errorX,s.x),o.errorY&&nA.extendFlat(o.errorY,s.y)}return o.text&&(nA.extendFlat(o.text,{positions:n},aA.textPosition(e,r,o.text,o.marker)),nA.extendFlat(o.textSel,{positions:n},aA.textPosition(e,r,o.text,o.markerSel)),nA.extendFlat(o.textUnsel,{positions:n},aA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((m0r,Oze)=>{"use strict";var qze=Mr(),i7t=va(),n7t=N1().DESELECTDIM;function a7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=qze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,g=qze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h{"use strict";var Bze=lu(),o7t=YX().styleTextSelection;Nze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Bze.hasText(s),x=Bze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var g=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k{"use strict";var s7t=zz();Uze.exports={moduleType:"trace",name:"scattergl",basePlotModule:Jf(),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:ek(),supplyDefaults:TDe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:SDe(),calc:Fze(),hoverPoints:s7t.hoverPoints,selectPoints:KX(),meta:{}}});var Gze=ye((x0r,Zz)=>{"use strict";var Wz=O5();Zz.exports=Hze;Zz.exports.to=Hze;Zz.exports.from=l7t;function Hze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function l7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((b0r,Wze)=>{"use strict";var jze=Object.getOwnPropertySymbols,u7t=Object.prototype.hasOwnProperty,c7t=Object.prototype.propertyIsEnumerable;function f7t(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function h7t(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(a){return!1}}Wze.exports=h7t()?Object.assign:function(e,t){for(var r,n=f7t(e),i,a=1;a{Zze.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{"use strict";Yze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i{"use strict";Kze.exports=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))});var Xz=ye((S0r,oA)=>{"use strict";oA.exports=ak;oA.exports.float32=oA.exports.float=ak;oA.exports.fract32=oA.exports.fract=d7t;var $ze=new Float32Array(1);function d7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ak(e));for(var r=0,n=t.length;r{"use strict";function v7t(e,t){var r=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function p7t(e,t){return y7t(e)||v7t(e,t)||eFe(e,t)||b7t()}function g7t(e){return m7t(e)||_7t(e)||eFe(e)||x7t()}function m7t(e){if(Array.isArray(e))return $X(e)}function y7t(e){if(Array.isArray(e))return e}function _7t(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function eFe(e,t){if(e){if(typeof e=="string")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r 1.0 + delta) { + discard; + } + + alpha -= smoothstep(1.0 - delta, 1.0 + delta, radius); + + float borderRadius = fragBorderRadius; + float ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius); + vec4 color = mix(fragColor, fragBorderColor, ratio); + color.a *= alpha * opacity; + gl_FragColor = color; +} +`]),v.vert=Yz([`precision highp float; +#define GLSLIFY 1 + +attribute float x, y, xFract, yFract; +attribute float size, borderSize; +attribute vec4 colorId, borderColorId; +attribute float isActive; + +// \`invariant\` effectively turns off optimizations for the position. +// We need this because -fast-math on M1 Macs is re-ordering +// floating point operations in a way that causes floating point +// precision limits to put points in the wrong locations. +invariant gl_Position; + +uniform bool constPointSize; +uniform float pixelRatio; +uniform vec2 paletteSize, scale, scaleFract, translate, translateFract; +uniform sampler2D paletteTexture; + +const float maxSize = 100.; + +varying vec4 fragColor, fragBorderColor; +varying float fragBorderRadius, fragWidth; + +float pointSizeScale = (constPointSize) ? 2. : pixelRatio; + +bool isDirect = (paletteSize.x < 1.); + +vec4 getColor(vec4 id) { + return isDirect ? id / 255. : texture2D(paletteTexture, + vec2( + (id.x + .5) / paletteSize.x, + (id.y + .5) / paletteSize.y + ) + ); +} + +void main() { + // ignore inactive points + if (isActive == 0.) return; + + vec2 position = vec2(x, y); + vec2 positionFract = vec2(xFract, yFract); + + vec4 color = getColor(colorId); + vec4 borderColor = getColor(borderColorId); + + float size = size * maxSize / 255.; + float borderSize = borderSize * maxSize / 255.; + + gl_PointSize = (size + borderSize) * pointSizeScale; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + gl_Position = vec4(pos * 2. - 1., 0., 1.); + + fragBorderRadius = 1. - 2. * borderSize / (size + borderSize); + fragColor = color; + fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor; + fragWidth = 1. / gl_PointSize; +} +`]),Qze&&(v.frag=v.frag.replace("smoothstep","smoothStep"),d.frag=d.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(v)}rv.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nre)?N.tree=S7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:"points",usage:"static",data:N.tree,type:"uint32"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:"dynamic"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:"dynamic"}),Me({data:new Uint8Array(ke),type:"uint8",usage:"stream"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]=="number"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i{"use strict";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=iFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=q7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;vu&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return ok(a,o,r,s,l,d,0),o}function iFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a=t;a-=n)o=rFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(lk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(lk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function ok(e,t,r,n,i,a,o){if(e){!o&&a&&V7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?D7t(e,n,i,a):R7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),lk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=z7t(J2(e),t,r),ok(e,t,r,n,i,a,2)):o===2&&F7t(e,t,r,n,i,a):ok(J2(e),t,r,n,i,a,1);break}}}}function R7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ia?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&sA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function D7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=sl?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,g=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=g&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&sA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&sA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=g;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&sA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&sA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function z7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&nFe(i,n,n.next,a)&&sk(i,a)&&sk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),lk(n),lk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function F7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&j7t(o,s)){var l=aFe(o,s);o=J2(o,o.next),l=J2(l,l.next),ok(o,t,r,n,i,a,0),ok(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function q7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&sA(io.x||r.x===o.x&&U7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function U7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function V7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,H7t(i)}function H7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function G7t(e){var t=e,r=e;do(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function j7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!W7t(e,t)&&(sk(e,t)&&sk(t,e)&&Z7t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function nFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function W7t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&nFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function sk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function Z7t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function aFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function rFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function lk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var lFe=ye((k0r,sFe)=>{"use strict";var X7t=j2();sFe.exports=Y7t;function Y7t(e,t,r){if(!e||e.length==null)throw Error("Argument should be an array");t==null&&(t=1),r==null&&(r=X7t(e,t));for(var n=0;n{"use strict";uFe.exports=function(){var e,t;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[t={},"one"],[{},"two"],[{},"three"]])}catch(r){return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(t)!=="one")}});var hFe=ye((L0r,fFe)=>{"use strict";fFe.exports=function(){}});var sx=ye((P0r,dFe)=>{"use strict";var K7t=hFe()();dFe.exports=function(e){return e!==K7t&&e!==null}});var nY=ye((I0r,pFe)=>{"use strict";var J7t=Object.create,$7t=Object.getPrototypeOf,vFe={};pFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||J7t;return typeof e!="function"?!1:$7t(e(t(null),vFe))===vFe}});var aY=ye((R0r,gFe)=>{"use strict";var Q7t=sx(),e9t={function:!0,object:!0};gFe.exports=function(e){return Q7t(e)&&e9t[typeof e]||!1}});var i1=ye((D0r,mFe)=>{"use strict";var t9t=sx();mFe.exports=function(e){if(!t9t(e))throw new TypeError("Cannot use null or undefined");return e}});var _Fe=ye((z0r,yFe)=>{"use strict";var oY=Object.create,tF;nY()()||(tF=sY());yFe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n==="__proto__"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((F0r,xFe)=>{"use strict";var r9t=aY(),i9t=i1(),n9t=Object.prototype.isPrototypeOf,a9t=Object.defineProperty,o9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(i9t(e),t===null||r9t(t))return e;throw new TypeError("Prototype must be null or an object")};xFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=n9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&a9t(n.nullPolyfill,"__proto__",o9t),i},Object.defineProperty(t,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());_Fe()});var iF=ye((q0r,bFe)=>{"use strict";bFe.exports=nY()()?Object.setPrototypeOf:sY()});var TFe=ye((O0r,wFe)=>{"use strict";var s9t=aY();wFe.exports=function(e){if(!s9t(e))throw new TypeError(e+" is not an Object");return e}});var SFe=ye((B0r,AFe)=>{"use strict";var l9t=Object.create(null),u9t=Math.random;AFe.exports=function(){var e;do e=u9t().toString(36).slice(2);while(l9t[e]);return e}});var $2=ye((N0r,MFe)=>{"use strict";var c9t=void 0;MFe.exports=function(e){return e!==c9t&&e!==null}});var nF=ye((U0r,EFe)=>{"use strict";var f9t=$2(),h9t={object:!0,function:!0,undefined:!0};EFe.exports=function(e){return f9t(e)?hasOwnProperty.call(h9t,typeof e):!1}});var CFe=ye((V0r,kFe)=>{"use strict";var d9t=nF();kFe.exports=function(e){if(!d9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var PFe=ye((H0r,LFe)=>{"use strict";var v9t=CFe();LFe.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch(t){return!1}return!v9t(e)}});var lY=ye((G0r,IFe)=>{"use strict";var p9t=PFe(),g9t=/^\s*class[\s{/}]/,m9t=Function.prototype.toString;IFe.exports=function(e){return!(!p9t(e)||g9t.test(m9t.call(e)))}});var DFe=ye((j0r,RFe)=>{"use strict";RFe.exports=function(){var e=Object.assign,t;return typeof e!="function"?!1:(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}});var FFe=ye((W0r,zFe)=>{"use strict";zFe.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}});var OFe=ye((Z0r,qFe)=>{"use strict";var y9t=sx(),_9t=Object.keys;qFe.exports=function(e){return _9t(y9t(e)?Object(e):e)}});var NFe=ye((X0r,BFe)=>{"use strict";BFe.exports=FFe()()?Object.keys:OFe()});var VFe=ye((Y0r,UFe)=>{"use strict";var x9t=NFe(),b9t=i1(),w9t=Math.max;UFe.exports=function(e,t){var r,n,i=w9t(arguments.length,2),a;for(e=Object(b9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{"use strict";HFe.exports=DFe()()?Object.assign:VFe()});var uY=ye((J0r,GFe)=>{"use strict";var T9t=sx(),A9t=Array.prototype.forEach,S9t=Object.create,M9t=function(e,t){var r;for(r in e)t[r]=e[r]};GFe.exports=function(e){var t=S9t(null);return A9t.call(arguments,function(r){T9t(r)&&M9t(Object(r),t)}),t}});var WFe=ye(($0r,jFe)=>{"use strict";var cY="razdwatrzy";jFe.exports=function(){return typeof cY.contains!="function"?!1:cY.contains("dwa")===!0&&cY.contains("foo")===!1}});var XFe=ye((Q0r,ZFe)=>{"use strict";var E9t=String.prototype.indexOf;ZFe.exports=function(e){return E9t.call(this,e,arguments[1])>-1}});var fY=ye((egr,YFe)=>{"use strict";YFe.exports=WFe()()?String.prototype.contains:XFe()});var n1=ye((tgr,QFe)=>{"use strict";var oF=$2(),KFe=lY(),JFe=aF(),$Fe=uY(),uk=fY(),k9t=QFe.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!="string"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=uk.call(e,"c"),n=uk.call(e,"e"),i=uk.call(e,"w")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?JFe($Fe(a),o):o};k9t.gs=function(e,t,r){var n,i,a,o;return typeof e!="string"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?KFe(t)?oF(r)?KFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=uk.call(e,"c"),i=uk.call(e,"e")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?JFe($Fe(a),o):o}});var ck=ye((rgr,t7e)=>{"use strict";var e7e=Object.prototype.toString,C9t=e7e.call(function(){return arguments}());t7e.exports=function(e){return e7e.call(e)===C9t}});var fk=ye((igr,i7e)=>{"use strict";var r7e=Object.prototype.toString,L9t=r7e.call("");i7e.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||r7e.call(e)===L9t)||!1}});var a7e=ye((ngr,n7e)=>{"use strict";n7e.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var l7e=ye((agr,s7e)=>{var o7e=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};s7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return o7e()}try{return __global__||o7e()}finally{delete Object.prototype.__global__}}()});var hk=ye((ogr,u7e)=>{"use strict";u7e.exports=a7e()()?globalThis:l7e()});var f7e=ye((sgr,c7e)=>{"use strict";var P9t=hk(),hY={object:!0,symbol:!0};c7e.exports=function(){var e=P9t.Symbol,t;if(typeof e!="function")return!1;t=e("test symbol");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var d7e=ye((lgr,h7e)=>{"use strict";h7e.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var dY=ye((ugr,v7e)=>{"use strict";var I9t=d7e();v7e.exports=function(e){if(!I9t(e))throw new TypeError(e+" is not a symbol");return e}});var _7e=ye((cgr,y7e)=>{"use strict";var p7e=n1(),R9t=Object.create,g7e=Object.defineProperty,D9t=Object.prototype,m7e=R9t(null);y7e.exports=function(e){for(var t=0,r,n;m7e[e+(t||"")];)++t;return e+=t||"",m7e[e]=!0,r="@@"+e,g7e(D9t,r,p7e.gs(null,function(i){n||(n=!0,g7e(this,r,p7e(i)),n=!1)})),r}});var b7e=ye((fgr,x7e)=>{"use strict";var Qg=n1(),wh=hk().Symbol;x7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg("",wh&&wh.hasInstance||e("hasInstance")),isConcatSpreadable:Qg("",wh&&wh.isConcatSpreadable||e("isConcatSpreadable")),iterator:Qg("",wh&&wh.iterator||e("iterator")),match:Qg("",wh&&wh.match||e("match")),replace:Qg("",wh&&wh.replace||e("replace")),search:Qg("",wh&&wh.search||e("search")),species:Qg("",wh&&wh.species||e("species")),split:Qg("",wh&&wh.split||e("split")),toPrimitive:Qg("",wh&&wh.toPrimitive||e("toPrimitive")),toStringTag:Qg("",wh&&wh.toStringTag||e("toStringTag")),unscopables:Qg("",wh&&wh.unscopables||e("unscopables"))})}});var A7e=ye((hgr,T7e)=>{"use strict";var w7e=n1(),z9t=dY(),dk=Object.create(null);T7e.exports=function(e){return Object.defineProperties(e,{for:w7e(function(t){return dk[t]?dk[t]:dk[t]=e(String(t))}),keyFor:w7e(function(t){var r;z9t(t);for(r in dk)if(dk[r]===t)return r})})}});var E7e=ye((dgr,M7e)=>{"use strict";var Xm=n1(),vY=dY(),sF=hk().Symbol,F9t=_7e(),q9t=b7e(),O9t=A7e(),B9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,lA,S7e;if(typeof sF=="function")try{String(sF()),S7e=!0}catch(e){}else sF=null;lA=function(t){if(this instanceof lA)throw new TypeError("Symbol is not a constructor");return Wv(t)};M7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return S7e?sF(t):(r=B9t(lA.prototype),t=t===void 0?"":String(t),pY(r,{__description__:Xm("",t),__name__:Xm("",F9t(t))}))};q9t(Wv);O9t(Wv);pY(lA.prototype,{constructor:Xm(Wv),toString:Xm("",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return"Symbol ("+vY(this).__description__+")"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm("",function(){var e=vY(this);return typeof e=="symbol"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm("c","Symbol"));lF(lA.prototype,Wv.toStringTag,Xm("c",Wv.prototype[Wv.toStringTag]));lF(lA.prototype,Wv.toPrimitive,Xm("c",Wv.prototype[Wv.toPrimitive]))});var lx=ye((vgr,k7e)=>{"use strict";k7e.exports=f7e()()?hk().Symbol:E7e()});var L7e=ye((pgr,C7e)=>{"use strict";var N9t=i1();C7e.exports=function(){return N9t(this).length=0,this}});var uA=ye((ggr,P7e)=>{"use strict";P7e.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var R7e=ye((mgr,I7e)=>{"use strict";var U9t=$2(),V9t=nF(),H9t=Object.prototype.toString;I7e.exports=function(e){if(!U9t(e))return null;if(V9t(e)){var t=e.toString;if(typeof t!="function"||t===H9t)return null}try{return""+e}catch(r){return null}}});var z7e=ye((ygr,D7e)=>{"use strict";D7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var q7e=ye((_gr,F7e)=>{"use strict";var G9t=z7e(),j9t=/[\n\r\u2028\u2029]/g;F7e.exports=function(e){var t=G9t(e);return t===null?"":(t.length>100&&(t=t.slice(0,99)+"\u2026"),t=t.replace(j9t,function(r){switch(r){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),t)}});var gY=ye((xgr,N7e)=>{"use strict";var O7e=$2(),W9t=nF(),Z9t=R7e(),X9t=q7e(),B7e=function(e,t){return e.replace("%v",X9t(t))};N7e.exports=function(e,t,r){if(!W9t(r))throw new TypeError(B7e(t,e));if(!O7e(e)){if("default"in r)return r.default;if(r.isOptional)return null}var n=Z9t(r.errorMessage);throw O7e(n)||(n=t),new TypeError(B7e(n,e))}});var V7e=ye((bgr,U7e)=>{"use strict";var Y9t=gY(),K9t=$2();U7e.exports=function(e){return K9t(e)?e:Y9t(e,"Cannot use %v",arguments[1])}});var G7e=ye((wgr,H7e)=>{"use strict";var J9t=gY(),$9t=lY();H7e.exports=function(e){return $9t(e)?e:J9t(e,"%v is not a plain function",arguments[1])}});var W7e=ye((Tgr,j7e)=>{"use strict";j7e.exports=function(){var e=Array.from,t,r;return typeof e!="function"?!1:(t=["raz","dwa"],r=e(t),!!(r&&r!==t&&r[1]==="dwa"))}});var X7e=ye((Agr,Z7e)=>{"use strict";var Q9t=Object.prototype.toString,eqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);Z7e.exports=function(e){return typeof e=="function"&&eqt(Q9t.call(e))}});var K7e=ye((Sgr,Y7e)=>{"use strict";Y7e.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var $7e=ye((Mgr,J7e)=>{"use strict";J7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var e9e=ye((Egr,Q7e)=>{"use strict";Q7e.exports=K7e()()?Math.sign:$7e()});var r9e=ye((kgr,t9e)=>{"use strict";var tqt=e9e(),rqt=Math.abs,iqt=Math.floor;t9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:tqt(e)*iqt(rqt(e)))}});var n9e=ye((Cgr,i9e)=>{"use strict";var nqt=r9e(),aqt=Math.max;i9e.exports=function(e){return aqt(0,nqt(e))}});var l9e=ye((Lgr,s9e)=>{"use strict";var oqt=lx().iterator,sqt=ck(),lqt=X7e(),uqt=n9e(),a9e=uA(),cqt=i1(),fqt=sx(),hqt=fk(),o9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;s9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(cqt(e)),fqt(t)&&a9e(t),!this||this===Array||!lqt(this)){if(!t){if(sqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(o9e(e)){for(o=new Array(s=e.length),i=0;i=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=uqt(e.length),n&&(o=new n(s)),i=0;i{"use strict";u9e.exports=W7e()()?Array.from:l9e()});var h9e=ye((Igr,f9e)=>{"use strict";var dqt=c9e(),vqt=aF(),pqt=i1();f9e.exports=function(e){var t=Object(pqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?dqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):vqt(i,e),i}});var p9e=ye((Rgr,v9e)=>{"use strict";var gqt=uA(),mqt=i1(),yqt=Function.prototype.bind,d9e=Function.prototype.call,_qt=Object.keys,xqt=Object.prototype.propertyIsEnumerable;v9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(mqt(r)),gqt(n),i=_qt(r),o&&i.sort(typeof o=="function"?yqt.call(o,r):void 0),typeof e!="function"&&(e=i[e]),d9e.call(e,i,function(s,l){return xqt.call(r,s)?d9e.call(n,a,r[s],s,r,l):t})}}});var m9e=ye((Dgr,g9e)=>{"use strict";g9e.exports=p9e()("forEach")});var _9e=ye((zgr,y9e)=>{"use strict";var bqt=uA(),wqt=m9e(),Tqt=Function.prototype.call;y9e.exports=function(e,t){var r={},n=arguments[2];return bqt(t),wqt(e,function(i,a,o,s){r[a]=Tqt.call(t,n,i,a,o,s)}),r}});var T9e=ye((Fgr,w9e)=>{"use strict";var Aqt=$2(),Sqt=V7e(),x9e=G7e(),Mqt=h9e(),Eqt=uY(),kqt=_9e(),Cqt=Function.prototype.bind,Lqt=Object.defineProperty,Pqt=Object.prototype.hasOwnProperty,b9e;b9e=function(e,t,r){var n=Sqt(t)&&x9e(t.value),i;return i=Mqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Pqt.call(this,e)?n:(t.value=Cqt.call(n,r.resolveContext?r.resolveContext(this):this),Lqt(this,e,t),this[e])},i};w9e.exports=function(e){var t=Eqt(arguments[1]);return Aqt(t.resolveContext)&&x9e(t.resolveContext),kqt(e,function(r,n){return b9e(n,r,t)})}});var _Y=ye((qgr,E9e)=>{"use strict";var Iqt=L7e(),Rqt=aF(),Dqt=uA(),zqt=i1(),Op=n1(),Fqt=T9e(),A9e=lx(),S9e=Object.defineProperty,M9e=Object.defineProperties,vk;E9e.exports=vk=function(e,t){if(!(this instanceof vk))throw new TypeError("Constructor requires 'new'");M9e(this,{__list__:Op("w",zqt(e)),__context__:Op("w",t),__nextIndex__:Op("w",0)}),t&&(Dqt(t.on),t.on("_add",this._onAdd),t.on("_delete",this._onDelete),t.on("_clear",this._onClear))};delete vk.prototype.constructor;M9e(vk.prototype,Rqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){S9e(this,"__redo__",Op("c",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Iqt.call(this.__redo__),this.__nextIndex__=0})})));S9e(vk.prototype,A9e.iterator,Op(function(){return this}))});var I9e=ye((Ogr,P9e)=>{"use strict";var k9e=iF(),C9e=fY(),xY=n1(),qqt=lx(),bY=_Y(),L9e=Object.defineProperty,cA;cA=P9e.exports=function(e,t){if(!(this instanceof cA))throw new TypeError("Constructor requires 'new'");bY.call(this,e),t?C9e.call(t,"key+value")?t="key+value":C9e.call(t,"key")?t="key":t="value":t="value",L9e(this,"__kind__",xY("",t))};k9e&&k9e(cA,bY);delete cA.prototype.constructor;cA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});L9e(cA.prototype,qqt.toStringTag,xY("c","Array Iterator"))});var F9e=ye((Bgr,z9e)=>{"use strict";var R9e=iF(),uF=n1(),Oqt=lx(),wY=_Y(),D9e=Object.defineProperty,fA;fA=z9e.exports=function(e){if(!(this instanceof fA))throw new TypeError("Constructor requires 'new'");e=String(e),wY.call(this,e),D9e(this,"__length__",uF("",e.length))};R9e&&R9e(fA,wY);delete fA.prototype.constructor;fA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});D9e(fA.prototype,Oqt.toStringTag,uF("c","String Iterator"))});var O9e=ye((Ngr,q9e)=>{"use strict";var Bqt=ck(),Nqt=sx(),Uqt=fk(),Vqt=lx().iterator,Hqt=Array.isArray;q9e.exports=function(e){return Nqt(e)?Hqt(e)||Uqt(e)||Bqt(e)?!0:typeof e[Vqt]=="function":!1}});var N9e=ye((Ugr,B9e)=>{"use strict";var Gqt=O9e();B9e.exports=function(e){if(!Gqt(e))throw new TypeError(e+" is not iterable");return e}});var TY=ye((Vgr,H9e)=>{"use strict";var jqt=ck(),Wqt=fk(),U9e=I9e(),Zqt=F9e(),Xqt=N9e(),V9e=lx().iterator;H9e.exports=function(e){return typeof Xqt(e)[V9e]=="function"?e[V9e]():jqt(e)?new U9e(e):Wqt(e)?new Zqt(e):new U9e(e)}});var j9e=ye((Hgr,G9e)=>{"use strict";var Yqt=ck(),Kqt=uA(),Jqt=fk(),$qt=TY(),Qqt=Array.isArray,AY=Function.prototype.call,eOt=Array.prototype.some;G9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(Qqt(e)||Yqt(e)?r="array":Jqt(e)?r="string":e=$qt(e),Kqt(t),a=function(){o=!0},r==="array"){eOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r==="string"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var Z9e=ye((Ggr,W9e)=>{"use strict";W9e.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()});var K9e=ye((jgr,Y9e)=>{"use strict";var tOt=sx(),fF=iF(),cF=TFe(),rOt=i1(),iOt=SFe(),a1=n1(),nOt=TY(),aOt=j9e(),oOt=lx().toStringTag,X9e=Z9e(),sOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,lOt=Object.getPrototypeOf,ux;Y9e.exports=ux=function(){var e=arguments[0],t;if(!(this instanceof ux))throw new TypeError("Constructor requires 'new'");return t=X9e&&fF&&WeakMap!==ux?fF(new WeakMap,lOt(this)):this,tOt(e)&&(sOt(e)||(e=nOt(e))),MY(t,"__weakMapData__",a1("c","$weakMap$"+iOt())),e&&aOt(e,function(r){rOt(r),t.set(r[0],r[1])}),t};X9e&&(fF&&fF(ux,WeakMap),ux.prototype=Object.create(WeakMap.prototype,{constructor:a1(ux)}));Object.defineProperties(ux.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1("c",t)),this}),toString:a1(function(){return"[object WeakMap]"})});MY(ux.prototype,oOt,a1("c","WeakMap"))});var EY=ye((Wgr,J9e)=>{"use strict";J9e.exports=cFe()()?WeakMap:K9e()});var Q9e=ye((Zgr,$9e)=>{"use strict";$9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex=="function")return e.findIndex(t,r);if(typeof t!="function")throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a{"use strict";var hF=J_(),uOt=j2(),CY=bh(),cOt=Zm(),fOt=W2(),eqe=oFe(),hOt=lFe(),{float32:dOt,fract32:kY}=Xz(),vOt=EY(),tqe=eA(),pOt=Q9e(),gOt=` +precision highp float; + +attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract; +attribute vec4 color; +attribute float lineEnd, lineTop; + +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float thickness, pixelRatio, id, depth; +uniform vec4 viewport; + +varying vec4 fragColor; +varying vec2 tangent; + +vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) { + // the order is important + return position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; +} + +void main() { + float lineStart = 1. - lineEnd; + float lineOffset = lineTop * 2. - 1.; + + vec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract); + tangent = normalize(diff * scale * viewport.zw); + vec2 normal = vec2(-tangent.y, tangent.x); + + vec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart + + project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd + + + thickness * normal * .5 * lineOffset / viewport.zw; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; +} +`,mOt=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; + +void main() { + float alpha = 1.; + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`,yOt=` +precision highp float; + +attribute vec2 position, positionFract; + +uniform vec4 color; +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float pixelRatio, id; +uniform vec4 viewport; +uniform float opacity; + +varying vec4 fragColor; + +const float MAX_LINES = 256.; + +void main() { + float depth = (MAX_LINES - 4. - id) / (MAX_LINES); + + vec2 position = position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; + fragColor.a *= opacity; +} +`,_Ot=` +precision highp float; +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`,xOt=` +precision highp float; + +attribute vec2 aCoord, bCoord, nextCoord, prevCoord; +attribute vec4 aColor, bColor; +attribute float lineEnd, lineTop; + +uniform vec2 scale, translate; +uniform float thickness, pixelRatio, id, depth; +uniform vec4 viewport; +uniform float miterLimit, miterMode; + +varying vec4 fragColor; +varying vec4 startCutoff, endCutoff; +varying vec2 tangent; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +const float REVERSE_THRESHOLD = -.875; +const float MIN_DIFF = 1e-6; + +// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead +// TODO: precalculate dot products, normalize things beforehead etc. +// TODO: refactor to rectangular algorithm + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +bool isNaN( float val ){ + return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true; +} + +void main() { + vec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord; + + vec2 adjustedScale; + adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x; + adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y; + + vec2 scaleRatio = adjustedScale * viewport.zw; + vec2 normalWidth = thickness / scaleRatio; + + float lineStart = 1. - lineEnd; + float lineBot = 1. - lineTop; + + fragColor = (lineStart * aColor + lineEnd * bColor) / 255.; + + if (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return; + + if (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord); + if (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord); + + + vec2 prevDiff = aCoord - prevCoord; + vec2 currDiff = bCoord - aCoord; + vec2 nextDiff = nextCoord - bCoord; + + vec2 prevTangent = normalize(prevDiff * scaleRatio); + vec2 currTangent = normalize(currDiff * scaleRatio); + vec2 nextTangent = normalize(nextDiff * scaleRatio); + + vec2 prevNormal = vec2(-prevTangent.y, prevTangent.x); + vec2 currNormal = vec2(-currTangent.y, currTangent.x); + vec2 nextNormal = vec2(-nextTangent.y, nextTangent.x); + + vec2 startJoinDirection = normalize(prevTangent - currTangent); + vec2 endJoinDirection = normalize(currTangent - nextTangent); + + // collapsed/unidirectional segment cases + // FIXME: there should be more elegant solution + vec2 prevTanDiff = abs(prevTangent - currTangent); + vec2 nextTanDiff = abs(nextTangent - currTangent); + if (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) { + startJoinDirection = currNormal; + } + if (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) { + endJoinDirection = currNormal; + } + if (aCoord == bCoord) { + endJoinDirection = startJoinDirection; + currNormal = prevNormal; + currTangent = prevTangent; + } + + tangent = currTangent; + + //calculate join shifts relative to normals + float startJoinShift = dot(currNormal, startJoinDirection); + float endJoinShift = dot(currNormal, endJoinDirection); + + float startMiterRatio = abs(1. / startJoinShift); + float endMiterRatio = abs(1. / endJoinShift); + + vec2 startJoin = startJoinDirection * startMiterRatio; + vec2 endJoin = endJoinDirection * endMiterRatio; + + vec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin; + startTopJoin = sign(startJoinShift) * startJoin * .5; + startBotJoin = -startTopJoin; + + endTopJoin = sign(endJoinShift) * endJoin * .5; + endBotJoin = -endTopJoin; + + vec2 aTopCoord = aCoord + normalWidth * startTopJoin; + vec2 bTopCoord = bCoord + normalWidth * endTopJoin; + vec2 aBotCoord = aCoord + normalWidth * startBotJoin; + vec2 bBotCoord = bCoord + normalWidth * endBotJoin; + + //miter anti-clipping + float baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x))); + float abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x))); + + //prevent close to reverse direction switch + bool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal); + bool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal); + + if (prevReverse) { + //make join rectangular + vec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.); + aBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + aTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) { + //handle miter clipping + bTopCoord -= normalWidth * endTopJoin; + bTopCoord += normalize(endTopJoin * normalWidth) * baClipping; + } + + if (nextReverse) { + //make join rectangular + vec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.); + bBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + bTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) { + //handle miter clipping + aBotCoord -= normalWidth * startBotJoin; + aBotCoord += normalize(startBotJoin * normalWidth) * abClipping; + } + + vec2 aTopPosition = (aTopCoord) * adjustedScale + translate; + vec2 aBotPosition = (aBotCoord) * adjustedScale + translate; + + vec2 bTopPosition = (bTopCoord) * adjustedScale + translate; + vec2 bBotPosition = (bBotCoord) * adjustedScale + translate; + + //position is normalized 0..1 coord on the screen + vec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd; + + startCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy; + endCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + enableStartMiter = step(dot(currTangent, prevTangent), .5); + enableEndMiter = step(dot(currTangent, nextTangent), .5); + + //bevel miter cutoffs + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } + + //round miter cutoffs + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`,bOt=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +void main() { + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`;rqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new vOt;uc.createShaders=function(e){let t=e.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),r={primitive:"triangle strip",instances:e.prop("count"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join==="round"?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},n=e(CY({vert:gOt,frag:mOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:"back"},vert:xOt,frag:bOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:"triangle",elements:(o,s)=>s.triangles,offset:0,vert:yOt,frag:_Ot,uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t=="number"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join==="rect"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]=="number"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]=="number"&&(i={positions:i}),i=cOt(i,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,aL-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=pOt(g,_=>_>=A);g=g.slice(0,L),g.push(A)}for(let L=0;Lp-A+(g[L]-k)),M=eqe(_,C);M=M.map(p=>p+k+(p+k{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var sqe=ye((Ygr,oqe)=>{"use strict";var wOt=j2(),TOt=J_(),AOt=JX(),SOt=Zm(),iqe=bh(),nqe=W2(),{float32:MOt,fract32:PY}=Xz();oqe.exports=EOt;var aqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function EOt(e,t){if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let r=e._gl,n,i,a,o,s,l,u={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),i=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),a=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),s=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),l=e.buffer({usage:"static",type:"float",data:aqe}),v(t),n=e({vert:` + precision highp float; + + attribute vec2 position, positionFract; + attribute vec4 error; + attribute vec4 color; + + attribute vec2 direction, lineOffset, capOffset; + + uniform vec4 viewport; + uniform float lineWidth, capSize; + uniform vec2 scale, scaleFract, translate, translateFract; + + varying vec4 fragColor; + + void main() { + fragColor = color / 255.; + + vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; + + vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; + + vec2 position = position + dxy; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + pos += pixelOffset / viewport.zw; + + gl_Position = vec4(pos * 2. - 1., 0, 1); + } + `,frag:` + precision highp float; + + varying vec4 fragColor; + + uniform float opacity; + + void main() { + gl_FragColor = fragColor; + gl_FragColor.a *= opacity; + } + `,uniforms:{range:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(b,g)=>[g.viewport.x,g.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,g)=>g.offset*4,divisor:1},position:{buffer:i,offset:(b,g)=>g.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,g)=>g.offset*8,divisor:1},error:{buffer:s,offset:(b,g)=>g.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:aqe.length}),iqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b=="number")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((g,E)=>{if(g){if(b&&(b[E]?g.draw=!0:g.draw=!1),!g.draw){g.draw=!0;return}d(E)}})}function d(b){typeof b=="number"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]=="number"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let g=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L=="function"?L={after:L}:typeof L[0]=="number"&&(L={positions:L});else return C;return L=SOt(L,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=iqe({},u,L)),AOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=nqe(M),E+=M.length,M),positions:(M,p)=>(M=nqe(M,"float64"),p.count=Math.floor(M.length/2),p.bounds=wOt(M,2),p.offset=g,g+=p.count,M)},{color:(M,p)=>{let P=p.count;if(M||(M="transparent"),!Array.isArray(M)||typeof M[0]=="number"){let F=M;M=Array(P);for(let q=0;q{let T=p.bounds;return M||(M=T),p.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],p.translate=[-M[0],-M[1]],p.scaleFract=PY(p.scale),p.translateFract=PY(p.translate),M},viewport:M=>{let p;return Array.isArray(M)?p={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(p={x:M.x||M.left||0,y:M.y||M.top||0},M.right?p.width=M.right-p.x:p.width=M.w||M.width||0,M.bottom?p.height=M.bottom-p.y:p.height=M.h||M.height||0):p={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},p}}]),C}),g||E){let L=c.reduce((p,P,T)=>p+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((p,P)=>{if(!p)return;let{positions:T,count:F,offset:q,color:V,errors:H}=p;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=MOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var cqe=ye((Kgr,uqe)=>{var lqe=/[\'\"]/;uqe.exports=function(t){return t?(lqe.test(t.charAt(0))&&(t=t.substr(1)),lqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var vqe=ye((smr,dqe)=>{"use strict";function fqe(e,t){if(typeof e!="string")return[e];var r=[e];typeof t=="string"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach(function(l){var u=new RegExp(["\\",l[0],"[^\\",l[0],"\\",l[1],"]*\\",l[1]].join("")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error("References have circular dependency. Please, check them.");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp("(\\"+i+d+"\\"+i+")","g"),l[0]+"$1"+l[1])}),h})});var o=new RegExp("\\"+i+"([0-9]+)\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error("Circular references in parenthesis");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function hqe(e,t){if(t&&t.flat){var r=t&&t.escape||"___",n=e[0],i;if(!n)return"";for(var a=new RegExp("\\"+r+"([0-9]+)\\"+r),o=0;n!=i;){if(o++>1e4)throw Error("Circular references in "+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,"")),u+c},"");function s(l,u){if(e[u]==null)throw Error("Reference "+u+"is undefined");return e[u]}}function qY(e,t){return Array.isArray(e)?hqe(e,t):fqe(e,t)}qY.parse=fqe;qY.stringify=hqe;dqe.exports=qY});var mqe=ye((lmr,gqe)=>{"use strict";var pqe=vqe();gqe.exports=function(t,r,n){if(t==null)throw Error("First argument should be a string");if(r==null)throw Error("Separator should be a string or a RegExp");n?(typeof n=="string"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof n.ignore=="string"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=pqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l{});var OY=ye((fmr,_qe)=>{"use strict";var kOt=yqe();_qe.exports={isSize:function(t){return/^[\d\.]/.test(t)||t.indexOf("/")!==-1||kOt.indexOf(t)!==-1}}});var Tqe=ye((hmr,wqe)=>{"use strict";var COt=cqe(),LOt=IY(),POt=RY(),IOt=DY(),ROt=zY(),DOt=FY(),BY=mqe(),zOt=OY().isSize;wqe.exports=bqe;var pk=bqe.cache={};function bqe(e){if(typeof e!="string")throw new Error("Font argument must be a string.");if(pk[e])return pk[e];if(e==="")throw new Error("Cannot parse an empty string.");if(POt.indexOf(e)!==-1)return pk[e]={system:e};for(var t={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},r=BY(e,/\s+/),n;n=r.shift();){if(LOt.indexOf(n)!==-1)return["style","variant","weight","stretch"].forEach(function(a){t[a]=n}),pk[e]=t;if(ROt.indexOf(n)!==-1){t.style=n;continue}if(n==="normal"||n==="small-caps"){t.variant=n;continue}if(DOt.indexOf(n)!==-1){t.stretch=n;continue}if(IOt.indexOf(n)!==-1){t.weight=n;continue}if(zOt(n)){var i=BY(n,"/");if(t.size=i[0],i[1]!=null?t.lineHeight=xqe(i[1]):r[0]==="/"&&(r.shift(),t.lineHeight=xqe(r.shift())),!r.length)throw new Error("Missing required font-family.");return t.family=BY(r.join(" "),/\s*,\s*/).map(COt),pk[e]=t}throw new Error("Unknown or unsupported font token: "+n)}throw new Error("Missing required font-size.")}function xqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((dmr,Aqe)=>{"use strict";var FOt=Zm(),qOt=OY().isSize,OOt=mk(IY()),BOt=mk(RY()),NOt=mk(DY()),UOt=mk(zY()),VOt=mk(FY()),HOt={normal:1,"small-caps":1},GOt={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},NY={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};Aqe.exports=function(t){if(t=FOt(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),t.system)return t.system&&gk(t.system,BOt),t.system;if(gk(t.style,UOt),gk(t.variant,HOt),gk(t.weight,NOt),gk(t.stretch,VOt),t.size==null&&(t.size=NY.size),typeof t.size=="number"&&(t.size+="px"),!qOt)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return GOt[n]?n:'"'+n+'"'}).join(", "));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight==="normal"||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(" ")};function gk(e,t){if(e&&!t[e]&&!OOt[e])throw Error("Unknown keyword `"+e+"`");return e}function mk(e){for(var t={},r=0;r{"use strict";Sqe.exports={parse:Tqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY=="object"&&typeof HY!="undefined"?HY.exports=t():typeof define=="function"&&define.amd?define(t):e.createREGL=t()})(VY,function(){"use strict";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi1&&Er===Wr&&(Er==='"'||Er==="'"))return['"'+o(At.substr(1,At.length-2))+'"'];var wi=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(".");if(Ui.length===1)return['"'+o(At)+'"'];for(var Oi=[],Bi=0;Bi65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case p:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At=="object"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset=="number"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn0){if(typeof wn[0]=="number"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType="buffer",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn=="number")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:("data"in gn&&(ca=gn.data),"usage"in gn&&(Kn=Ni[gn.usage]),"primitive"in gn&&(Za=Ki[gn.primitive]),"count"in gn&&(wn=gn.count|0),"type"in gn&&(Aa=Bi[gn.type]),"length"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType="elements",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn=="function"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,$l=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Il=35842,vo=35843,Wl=36196,Ks=5121,Zl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,Ql=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Ul=37441,Js=37443,hc=37444,Cc=33984,ws=[Ql,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return"[object "+At+"]"}var dc=Ms("HTMLCanvasElement"),Sl=Ms("OffscreenCanvas"),ec=Ms("CanvasRenderingContext2D"),Ps=Ms("ImageBitmap"),ov=Ms("HTMLImageElement"),wo=Ms("HTMLVideoElement"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Zl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[$l]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Il]=.5,Ja[vo]=.25,Ja[Wl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]=="number")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Zl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={"don't care":Gc,"dont care":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,"nearest mipmap nearest":Ql,"linear mipmap nearest":Ls,"nearest mipmap linear":mu,"linear mipmap linear":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,"rgb5 a1":Xs},Dn={alpha:go,luminance:ho,"luminance alpha":Mo,rgb:Oo,rgba:Sa,rgba4:xo,"rgb5 a1":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn["half float"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,"depth stencil":Cs}),e(Rn,{uint16:Zl,uint32:Ec,"depth stencil":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{"rgb s3tc dxt1":Eo,"rgba s3tc dxt1":fs,"rgba s3tc dxt3":$l,"rgba s3tc dxt5":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{"rgb atc":fc,"rgba atc explicit alpha":ms,"rgba atc interpolated alpha":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{"rgb pvrtc 4bppv1":fa,"rgb pvrtc 2bppv1":Qu,"rgba pvrtc 4bppv1":Il,"rgba pvrtc 2bppv1":vo}),Er.webgl_compressed_texture_etc1&&(fn["rgb etc1"]=Wl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf("rgba")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!="object"||!Ie)){if("premultiplyAlpha"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),"flipY"in Ie&&(de.flipY=Ie.flipY),"alignment"in Ie&&(de.unpackAlignment=Ie.alignment),"colorSpace"in Ie&&(de.colorSpace=to[Ie.colorSpace]),"type"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;"shape"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):("radius"in Ie&&(pt=Kt=Ie.radius),"width"in Ie&&(pt=Ie.width),"height"in Ie&&(Kt=Ie.height),"channels"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if("format"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&("type"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Ul,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),"x"in Ie&&(de.xOffset=Ie.x|0),"y"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!("type"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<=0&&!("faces"in Ie)&&(de.genMipmaps=!0)}if("mag"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if("wrap"in Ie){var Jt=Ie.wrap;typeof Jt=="string"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if("wrapS"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if("wrapT"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,"anisotropic"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if("mipmap"in Ie){var rr=!1;switch(typeof Ie.mipmap){case"string":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case"boolean":rr=de.genMipmaps=Ie.mipmap;break;case"object":de.genMipmaps=!1,rr=!0;break;default:}rr&&!("min"in Ie)&&(de.minFilter=Ql)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Hl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Hl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType="texture2d",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Hl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr=="number"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr=="object")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),"faces"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Xl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType="textureCube",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),("depthTexture"in ls||"depthStencilTexture"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),"depth"in ls&&(typeof ls.depth=="boolean"?Xl=ls.depth:(yf=ls.depth,$c=!1)),"stencil"in ls&&(typeof ls.stencil=="boolean"?$c=ls.stencil:(Hl=ls.stencil,Xl=!1)),"depthStencil"in ls&&(typeof ls.depthStencil=="boolean"?Xl=$c=ls.depthStencil:(Fc=ls.depthStencil,Xl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:"framebufferCube",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn=="function"&&Xn._reglType==="framebuffer"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,"type"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):"x"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo1)for(var aa=0;aaAi&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function ru(At){for(var Er=Ih?"0123456789ABCDEF":"0123456789abcdef",Wr="",wi,Ui=0;Ui>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wr="",wi=At.length,Ui=0;UiAt.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui0;){for(cn=Array(),Bi=0,Ui=0;Ui0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn="";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er="",Wr=0;Wr>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join("")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln0&&(fn.push(Un,"="),fn.push.apply(fn,Ii(arguments)),fn.push(";")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?"var "+ji.join(",")+";":"",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,"=",fn.def(gn,ca),";")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,"=",Kn,";")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn="else{"+gn+"}"),mi(["if(",fn,"){",Ln(),"}",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za="a"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,"reverse subtract":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(".","_")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,"blendColor",[0,0,0,0]),Vn(Gs,"blendEquationSeparate",[lr,lr]),Vn(Rs,"blendFuncSeparate",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,"depthFunc",Dr),Vn(vs,"depthRange",[0,1]),Vn(Ko,"depthMask",!0),Vn(iu,iu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,"cullFace",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,"polygonOffset",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,"sampleCoverage",[1,!1]),Xn(Jc,Li),Vn(yc,"stencilMask",-1),Vn(_c,"stencilFunc",[wt,0,-1]),Vn(le,"stencilOpSeparate",[Z,tt,tt,tt]),Vn(w,"stencilOpSeparate",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,"scissor",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId="0";var rr=Pt(ro),dr=vt.shared={props:"a0"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,".",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,".",Cr),kr[Cr]=Wt.def(dr.current,".",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=["this",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),".call(",Gr.slice(0,Math.max(cr.data.length+1,4)),")");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def("this",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,".next",gr);var cr=Cr.context;return Ar.set(cr,"."+Oe,gr+".width"),Ar.set(cr,"."+Je,gr+".height"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,".next","null");var Cr=gr.context;return Ar.set(Cr,"."+Oe,Cr+"."+Dt),Ar.set(Cr,"."+Je,Cr+"."+Ut),"null"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,".getFramebuffer(",gr,")");Ar.set(cr,".next",Gr);var ei=Cr.context;return Ar.set(ei,"."+Oe,Gr+"?"+Gr+".width:"+ei+"."+Dt),Ar.set(ei,"."+Je,Gr+"?"+Gr+".height:"+ei+"."+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return"width"in Cr?yi=Cr.width|0:cr=!1,"height"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;"width"in Cr||(bn=qn.def(rn,".",Oe,"-",Gr));var mn=tn;return"height"in Cr||(mn=qn.def(rn,".",Je,"-",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,".x|0"),Gn=qn.def(rn,".y|0"),da=qn.def('"width" in ',rn,"?",rn,".width|0:","(",bn,".",Oe,"-",mn,")"),No=qn.def('"height" in ',rn,"?",rn,".height|0:","(",bn,".",Je,"-",Gn,")");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,".",Oe),qn.def(rn,".",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,"."+He,cr[2]),Cr.set(Gr,"."+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Xl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]=="string"&&typeof Wt[je]=="string";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]=="number"){for(var kr=[],Ar=0;Ar"+mn+"?"+cr+".constant["+mn+"]:0;"}).join(""),"}}else{","if(",yi,"(",cr,".buffer)){",Qn,"=",tn,".createStream(",mr,",",cr,".buffer);","}else{",Qn,"=",tn,".getBuffer(",cr,".buffer);","}",qn,'="type" in ',cr,"?",ei.glTypes,"[",cr,".type]:",Qn,".dtype;",Ri.normalized,"=!!",cr,".normalized;");function rn(bn){Cr(Ri[bn],"=",cr,".",bn,"|0;")}return rn("size"),rn("offset"),rn("stride"),rn("divisor"),Cr("}}"),Cr.exit("if(",Ri.isStream,"){",tn,".destroyStream(",Qn,");","}"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr=="number"||typeof pr=="boolean"?""+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Xl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Hl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,"."+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,".",kr,"=[",gr.join(),"];"):pr(dr,".",kr,"=",gr,";")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,".webgl_draw_buffers"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,".next"),rr||Pt("if(",Gr,"!==",kr,".cur){"),Pt("if(",Gr,"){",pr,".bindFramebuffer(",Ir,",",Gr,".framebuffer);"),gn&&Pt(Ar,".drawBuffersWEBGL(",Cr,"[",Gr,".colorAttachments.length]);"),Pt("}else{",pr,".bindFramebuffer(",Ir,",null);"),gn&&Pt(Ar,".drawBuffersWEBGL(",cr,");"),Pt("}",kr,".cur=",Gr,";"),rr||Pt("}")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,".dirty");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,"[",ln,"]")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+"!=="+yi+"["+Qn+"]"}).join("||")).then(dr,".",Aa[Gr],"(",tn,");",tn.map(function(ln,Qn){return yi+"["+Qn+"]="+ln}).join(";"),";"))}else{ei=Cr.def(gr,".",Gr);var Ri=vt.cond(ei,"!==",Ar,".",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,".enable(",vn[Gr],");").else(dr,".disable(",vn[Gr],");"),Ar,".",Gr,"=",ei,";"):Ri(dr,".",Aa[Gr],"(",ei,");",Ar,".",Gr,"=",ei,";")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,".dirty=false;"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,".enable(",ei,");").else(Ar,".disable(",ei,");")),Pt(kr,".",Cr,"=",gr,";")):(Pt(vt.cond(Gr).then(Ar,".enable(",ei,");").else(Ar,".disable(",ei,");")),Pt(kr,".",Cr,"=",Gr,";"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,".",Aa[Cr],"(",Gr,");",Gr.map(function(tn,Ri){return yi+"["+Ri+"]="+tn}).join(";"),";")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,".",Aa[Cr],"(",gr,");",kr,".",Cr,"=",gr,";")):Pt(Ar,".",Aa[Cr],"(",Gr,");",kr,".",Cr,"=",Gr,";")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,".angle_instanced_arrays"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,"=",cr(),";"),typeof dr=="string"?rn(kr,".count+=",dr,";"):rn(kr,".count++;"),Dn&&(rr?(ei=Pt.def(),rn(ei,"=",gr,".getNumPendingQueries();")):rn(gr,".beginQuery(",kr,");"))}function tn(rn){rn(kr,".cpuTime+=",cr(),"-",Gr,";"),Dn&&(rr?rn(gr,".pushScopeStats(",ei,",",gr,".getNumPendingQueries(),",kr,");"):rn(gr,".endQuery();"))}function Ri(rn){var bn=Pt.def(Ar,".profile");Pt(Ar,".profile=",rn,";"),Pt.exit(Ar,".profile=",bn,";")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri("true")):Ri("false");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,".profile");var Qn=vt.block();yi(Qn),Pt("if(",ln,"){",Qn,"}");var qn=vt.block();tn(qn),Pt.exit("if(",ln,"){",qn,"}")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Vl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,".location"),yi=Pt.def(pr.attributes,"[",ei,"]"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=["buffer","normalized","offset","stride"];function qn(){Pt("if(!",yi,".buffer){",Gr,".enableVertexAttribArray(",ei,");}");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,"||",Cr):mn=Cr,Pt("if(",yi,".type!==",bn,"||",yi,".size!==",mn,"||",Qn.map(function(da){return yi+"."+da+"!=="+cr[da]}).join("||"),"){",Gr,".bindBuffer(",mr,",",Ri,".buffer);",Gr,".vertexAttribPointer(",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],");",yi,".type=",bn,";",yi,".size=",mn,";",Qn.map(function(da){return yi+"."+da+"="+cr[da]+";"}).join(""),"}"),Un){var Gn=cr.divisor;Pt("if(",yi,".divisor!==",Gn,"){",vt.instancing,".vertexAttribDivisorANGLE(",[ei,Gn],");",yi,".divisor=",Gn,";}")}}function rn(){Pt("if(",yi,".buffer){",Gr,".disableVertexAttribArray(",ei,");",yi,".buffer=null;","}if(",Ma.map(function(bn,mn){return yi+"."+bn+"!=="+ln[mn]}).join("||"),"){",Gr,".vertexAttrib4f(",ei,",",ln,");",Ma.map(function(bn,mn){return yi+"."+bn+"="+ln[mn]+";"}).join(""),"}")}tn===Ea?qn():tn===qa?rn():(Pt("if(",tn,"===",Ea,"){"),qn(),Pt("}else{"),rn(),Pt("}"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,".",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr1){for(var Do=[],ps=[],fo=0;fo>1)",Ri],");")}function Gn(){Wt(ln,".drawArraysInstancedANGLE(",[ei,yi,tn,Ri],");")}cr&&cr!=="null"?qn?mn():(Wt("if(",cr,"){"),mn(),Wt("}else{"),Gn(),Wt("}")):Gn()}function bn(){function mn(){Wt(pr+".drawElements("+[ei,tn,Qn,yi+"<<(("+Qn+"-"+Ta+")>>1)"]+");")}function Gn(){Wt(pr+".drawArrays("+[ei,yi,tn]+");")}cr&&cr!=="null"?qn?mn():(Wt("if(",cr,"){"),mn(),Wt("}else{"),Gn(),Wt("}")):Gn()}Un&&(typeof Ri!="number"||Ri>=0)?typeof Ri=="string"?(Wt("if(",Ri,">0){"),rn(),Wt("}else if(",Ri,"<0){"),bn(),Wt("}")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc("body",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,".angle_instanced_arrays")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,Pt),");"):Pt(vt.shared.vao,".setVAO(",vt.shared.vao,".targetVAO);"):(Pt(vt.shared.vao,".setVAO(null);"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc("draw",1);_f(vt,Wt),Hl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,".useProgram(",rr,".program);"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,".setVAO(null);");var dr=vt.global.def("{}"),pr=Wt.def(rr,".id"),kr=Wt.def(dr,"[",pr,"]");Wt(vt.cond(kr).then(kr,".call(this,a0);").else(kr,"=",dr,"[",pr,"]=",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),"(",rr,");",kr,".call(this,a0);"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,".dirty=true;"),vt.shared.vao&&Wt(vt.shared.vao,".setVAO(null);")}function de(vt,Pt,Wt,rr){vt.batchId="a1",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr="a0",Ar="a1",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,"for(",pr,"=0;",pr,"<",Ar,";++",pr,"){",gr,"=",kr,"[",pr,"];",cr,"}",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Hl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,cr),");"):Cr(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,Cr),");"):Cr(vt.shared.vao,".setVAO(",vt.shared.vao,".targetVAO);"):(Cr(vt.shared.vao,".setVAO(null);"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def("{}"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,".id"),ln=cr.def(yi,"[",Ri,"]");cr(vt.shared.gl,".useProgram(",tn,".program);","if(!",ln,"){",ln,"=",yi,"[",Ri,"]=",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),"(",tn,");}",ln,".call(this,a0[",pr,"],",pr,");")}}function $e(vt,Pt){var Wt=vt.proc("batch",2);vt.batchId="0",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Hl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,"a1"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,".useProgram(",Cr,".program);"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,".setVAO(null);");var cr=vt.global.def("{}"),Gr=Wt.def(Cr,".id"),ei=Wt.def(cr,"[",Gr,"]");Wt(vt.cond(ei).then(ei,".call(this,a0,a1);").else(ei,"=",cr,"[",Gr,"]=",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),"(",Cr,");",ei,".call(this,a0,a1);"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,".dirty=true;"),vt.shared.vao&&Wt(vt.shared.vao,".setVAO(null);")}function pt(vt,Pt){var Wt=vt.proc("scope",3);vt.batchId="a2";var rr=vt.shared,dr=rr.current;if(Hl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],"["+Gr+"]",cr):Wt.set(vt.next[Ar],"["+Gr+"]",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,"."+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,"."+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,"."+Ar,Cr):Wt.set(rr.draw,"."+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr="["+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+"]"),Wt.set(rr.uniforms,"["+vt.link(Er.id(Ar),{stable:!0})+"]",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,"."+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,".targetVAO",pr):Wt.set(rr.vao,".targetVAO",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,"."+Ar,Cr):Wt.set(rr.shader,"."+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,".dirty=true;"),Wt.exit(dr,".dirty=true;")),Wt("a1(",vt.shared.context,",a0,",vt.batchId,");")}function Kt(vt){if(!(typeof vt!="object"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Xl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Xl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Xl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,"stencil"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+"."+cr]=Cr[cr]})}}return Ar("blend"),Ar("depth"),Ar("cull"),Ar("stencil"),Ar("polygonOffset"),Ar("scissor"),Ar("sample"),"vao"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,"framebuffer")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),"depth"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),"stencil"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Hl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Xl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case"frame":return Hl($);case"lost":pe=Ao;break;case"restore":pe=Jn;break;case"destroy":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Pqe=ye((pmr,Lqe)=>{"use strict";var jOt=Zm();Lqe.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},kqe(t)?t={container:t}:WOt(t)?t={container:t}:ZOt(t)?t={gl:t}:t=jOt(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}kqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Cqe(),t.container.appendChild(t.canvas),Eqe(t))}else if(!t.canvas)if(typeof document!="undefined")t.container=document.body||document.documentElement,t.canvas=Cqe(),t.container.appendChild(t.canvas),Eqe(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function Eqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function kqe(e){return typeof e.getContext=="function"&&"width"in e&&"height"in e}function WOt(e){return typeof e.nodeName=="string"&&typeof e.appendChild=="function"&&typeof e.getBoundingClientRect=="function"}function ZOt(e){return typeof e.drawArrays=="function"||typeof e.drawElements=="function"}function Cqe(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}});var Rqe=ye((gmr,Iqe)=>{"use strict";var XOt=UY(),YOt=[32,126];Iqe.exports=KOt;function KOt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement("canvas"),n=e.font,i=typeof e.step=="number"?[e.step,e.step]:e.step||[32,32],a=e.chars||YOt;if(n&&typeof n!="string"&&(n=XOt(n)),!Array.isArray(a))a=String(a).split("");else if(a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext("2d");u.fillStyle="#000",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign="center",u.textBaseline="middle",u.fillStyle="#fff";for(var c=i[0]/2,f=i[1]/2,s=0;st[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{"use strict";"use restrict";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function Dqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=Dqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var yk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|yk[e>>>16&255]<<8|yk[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>Dqe(e)+1}});var qqe=ye((ymr,Fqe)=>{"use strict";function zqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return JOt(e|0,t);break;case"object":if(typeof e.length=="number")return zqe(e,t,0);break}return[]}Fqe.exports=$Ot});var $qe=ye(jl=>{"use strict";var cx=WY(),Av=qqe(),Oqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var QOt=typeof Uint8ClampedArray!="undefined",eBt=typeof BigUint64Array!="undefined",tBt=typeof BigInt64Array!="undefined",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;jl.free=function(t){if(Oqe.isBuffer(t))vF[cx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=cx.log2(r)|0;dF[n].push(t)}};function Bqe(e){if(e){var t=e.length||e.byteLength,r=cx.log2(t);dF[r].push(e)}}function rBt(e){Bqe(e.buffer)}jl.freeUint8=jl.freeUint16=jl.freeUint32=jl.freeBigUint64=jl.freeInt8=jl.freeInt16=jl.freeInt32=jl.freeBigInt64=jl.freeFloat32=jl.freeFloat=jl.freeFloat64=jl.freeDouble=jl.freeUint8Clamped=jl.freeDataView=rBt;jl.freeArrayBuffer=Bqe;jl.freeBuffer=function(t){vF[cx.log2(t.length)].push(t)};jl.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return Bp(t);switch(r){case"uint8":return ZY(t);case"uint16":return Nqe(t);case"uint32":return Uqe(t);case"int8":return Vqe(t);case"int16":return Hqe(t);case"int32":return Gqe(t);case"float":case"float32":return jqe(t);case"double":case"float64":return Wqe(t);case"uint8_clamped":return Zqe(t);case"bigint64":return Yqe(t);case"biguint64":return Xqe(t);case"buffer":return Jqe(t);case"data":case"dataview":return Kqe(t);default:return null}return null};function Bp(t){var t=cx.nextPow2(t),r=cx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}jl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}jl.mallocUint8=ZY;function Nqe(e){return new Uint16Array(Bp(2*e),0,e)}jl.mallocUint16=Nqe;function Uqe(e){return new Uint32Array(Bp(4*e),0,e)}jl.mallocUint32=Uqe;function Vqe(e){return new Int8Array(Bp(e),0,e)}jl.mallocInt8=Vqe;function Hqe(e){return new Int16Array(Bp(2*e),0,e)}jl.mallocInt16=Hqe;function Gqe(e){return new Int32Array(Bp(4*e),0,e)}jl.mallocInt32=Gqe;function jqe(e){return new Float32Array(Bp(4*e),0,e)}jl.mallocFloat32=jl.mallocFloat=jqe;function Wqe(e){return new Float64Array(Bp(8*e),0,e)}jl.mallocFloat64=jl.mallocDouble=Wqe;function Zqe(e){return QOt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}jl.mallocUint8Clamped=Zqe;function Xqe(e){return eBt?new BigUint64Array(Bp(8*e),0,e):null}jl.mallocBigUint64=Xqe;function Yqe(e){return tBt?new BigInt64Array(Bp(8*e),0,e):null}jl.mallocBigInt64=Yqe;function Kqe(e){return new DataView(Bp(e),0,e)}jl.mallocDataView=Kqe;function Jqe(e){e=cx.nextPow2(e);var t=cx.log2(e),r=vF[t];return r.length>0?r.pop():new Oqe(e)}jl.mallocBuffer=Jqe;jl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var eOe=ye((xmr,Qqe)=>{"use strict";var iBt=Object.prototype.toString;Qqe.exports=function(e){var t;return iBt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((bmr,tOe)=>{tOe.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var nOe=ye((wmr,iOe)=>{"use strict";var nBt=XY();iOe.exports=rOe;var _k=96;function YY(e,t){var r=nBt(getComputedStyle(e).getPropertyValue(t));return r[0]*rOe(r[1],e)}function aBt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=YY(r,"font-size")/128;return t.removeChild(r),n}function rOe(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return aBt(e,t);case"em":return YY(t,"font-size");case"rem":return YY(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return _k;case"cm":return _k/2.54;case"mm":return _k/25.4;case"pt":return _k/72;case"pc":return _k/6}return 1}});var sOe=ye((Tmr,oOe)=>{"use strict";oOe.exports=mF;var oBt=mF.canvas=document.createElement("canvas"),pF=oBt.getContext("2d"),aOe=gF([32,126]);mF.createPairs=gF;mF.ascii=aOe;function mF(e,t){Array.isArray(e)&&(e=e.join(", "));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]=="number"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=aOe),pF.font=i+"px "+e;for(var o=0;oi*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i{"use strict";cOe.exports=fx;fx.canvas=document.createElement("canvas");fx.cache={};function fx(o,t){t||(t={}),(typeof o=="string"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||"",a=t.style||t.fontStyle||"",o=[a,i,n].join(" ")+"px "+r,s=t.origin||"top";if(fx.cache[r]&&n<=fx.cache[r].em)return lOe(fx.cache[r],s);var l=t.canvas||fx.canvas,u=l.getContext("2d"),c={upper:t.upper!==void 0?t.upper:"H",lower:t.lower!==void 0?t.lower:"x",descent:t.descent!==void 0?t.descent:"p",ascent:t.ascent!==void 0?t.ascent:"h",tittle:t.tittle!==void 0?t.tittle:"i",overshoot:t.overshoot!==void 0?t.overshoot:"O"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h="H",d={top:0};u.clearRect(0,0,f,f),u.textBaseline="top",u.fillStyle="black",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline="bottom",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline="alphabetic",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),g=f-b-1+v;d.baseline=d.alphabetic=g,u.clearRect(0,0,f,f),u.textBaseline="middle",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="hanging",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="ideographic",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.descent,0,0),d.descent=uOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.overshoot,0,0);var L=uOe(u.getImageData(0,0,f,f));d.overshoot=L-g}for(var _ in d)d[_]/=n;return d.em=n,fx.cache[r]=d,lOe(d,s)}function lOe(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var n in e)n!=="em"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var pOe=ye((Smr,vOe)=>{"use strict";var hA=Mqe(),sBt=Zm(),lBt=GY(),uBt=Pqe(),cBt=EY(),KY=J_(),fBt=Rqe(),hx=$qe(),hBt=eA(),dBt=eOe(),vBt=XY(),pBt=nOe(),gBt=sOe(),mBt=bh(),yBt=fOe(),_Bt=W2(),xBt=WY(),hOe=xBt.nextPow2,dOe=new cBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement("div")),yF.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){bBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=uBt(t),this.shader=dOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||lBt({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),dOe.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(dBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t=="string")t={text:t};else if(!t)return;t=sBt(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=hBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset=="number"&&(t.offset=[t.offset,0]),this.positionOffset=_Bt(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!t.font&&(t.font=Vu.baseFontSize+"px sans-serif");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke=="string")try{ke=hA.parse(ke)}catch(Ge){ke=hA.parse(Vu.baseFontSize+"px "+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=hA.parse(hA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=hA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=vBt(ke.size),me=Math.round(Ce[0]*pBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(", "),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:yBt(Re,{origin:"top",fontSize:Vu.baseFontSize,fontStyle:ce.join(" ")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=hA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text=="string"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=hx.mallocFloat(this.count*2),f=0,h=0;f1?r.align[ge]:r.align[0]:r.align;if(typeof ie=="number")return ie;switch(ie){case"right":case"end":return-ke;case"center":case"centre":case"middle":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke=="number"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color="transparent"),typeof t.color=="string"||!isNaN(t.color))this.color=KY(t.color,"uint8");else{var H;if(typeof t.color[0]=="number"&&t.color.length>this.counts.length){var X=t.color.length;H=hx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text="";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement("canvas");Vu.atlasContext=Vu.atlasCanvas.getContext("2d",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function bBt(e){return typeof e=="function"&&e._gl&&e.prop&&e.texture&&e.buffer}vOe.exports=Vu});var xF=ye((Mmr,gOe)=>{"use strict";var wBt=pZ(),TBt=GY();gOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has("parcoords"))){try{o.regl=TBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(s){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:s,layer:o.key})},!1)}}),a||wBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,bOe)=>{"use strict";var mOe=QX(),yOe=LY(),ABt=sqe(),_Oe=pOe(),JY=Mr(),SBt=Sg().selectMode,MBt=xF(),EBt=lu(),kBt=hU(),CBt=YX().styleTextSelection,xOe={};function LBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=bOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=MBt(t,["ANGLE_instanced_arrays","OES_element_index_uint"],xOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(kBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=ABt(h)),a.line2d===!0&&(a.line2d=yOe(h)),a.scatter2d===!0&&(a.scatter2d=mOe(h)),a.fill2d===!0&&(a.fill2d=yOe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;la.glText.length){var d=f-a.glText.length;for(l=0;lae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill==="tozeroy"){for(Ce=0;CeCe&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill==="tozerox"){for(Ce=0;CeCe&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill==="toself"||Me.fill==="tonext"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te-1;for(l=0;l{"use strict";var wOe=Vze();wOe.plot=QY();TOe.exports=wOe});var MOe=ye((kmr,SOe)=>{"use strict";SOe.exports=AOe()});var eK=ye((Cmr,LOe)=>{"use strict";var PBt=Uc(),COe=Kl(),EOe=Oc().axisHoverFormat,IBt=Wo().hovertemplateAttrs,xk=ek(),RBt=ad().idRegex,DBt=Vs().templatedArray,dA=no().extendFlat,o1=PBt.marker,zBt=o1.line,FBt=dA(COe("marker.line",{editTypeOverride:"calc"}),{width:dA({},zBt.width,{editType:"calc"}),editType:"calc"}),bF=dA(COe("marker"),{symbol:o1.symbol,angle:o1.angle,size:dA({},o1.size,{editType:"markerSize"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:FBt,editType:"calc"});bF.color.editType=bF.cmin.editType=bF.cmax.editType="style";function kOe(e){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:RBt[e],editType:"plot"}}}LOe.exports={dimensions:DBt("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:dA({},xk.text,{}),hovertext:dA({},xk.hovertext,{}),hovertemplate:IBt(),xhoverformat:EOe("x"),yhoverformat:EOe("y"),marker:bF,xaxes:kOe("x"),yaxes:kOe("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:xk.selected.marker,editType:"calc"},unselected:{marker:xk.unselected.marker,editType:"calc"},opacity:xk.opacity}});var wF=ye((Lmr,POe)=>{"use strict";POe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i{"use strict";var tK=Mr(),qBt=Zd(),IOe=eK(),OBt=lu(),BBt=$p(),NBt=wF(),UBt=Fz().isOpenSymbol;ROe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,IOe,d,v)}var o=qBt(t,r,{name:"dimensions",handleItemDefaults:VBt}),s=a("diagonal.visible"),l=a("showupperhalf"),u=a("showlowerhalf"),c=NBt(r,o,"values");if(!c||!s&&!l&&!u){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),BBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=UBt(r.marker.symbol),h=OBt.isBubble(r);a("marker.line.width",f||h?1:0),HBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function VBt(e,t){function r(i,a){return tK.coerce(e,t,IOe.dimensions,i,a)}r("label");var n=r("values");n&&n.length?r("visible"):t.visible=!1,r("axis.type"),r("axis.matches")}function HBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;uc&&o||u{"use strict";var zOe=Mr();FOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=zOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||zOe.extendFlat(l,o),l}});var NOe=ye((Rmr,BOe)=>{"use strict";var rK=Mr(),TF=af(),GBt=q0().calcMarkerSize,jBt=q0().calcAxisExpansion,WBt=z0(),OOe=Y2().markerSelection,ZBt=Y2().markerStyle,XBt=qOe(),YBt=es().BADNUM,KBt=ox().TOO_MANY_POINTS;BOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},"v"),_=0;_KBt,g;for(b?g=a.sizeAvg||Math.max(a.size,3):g=GBt(r,i),c=0;c{(function(){var e,t,r,n,i,a;typeof performance!="undefined"&&performance!==null&&performance.now?bk.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(bk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(bk.exports=function(){return Date.now()-r},r=Date.now()):(bk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(UOe)});var GOe=ye((Dmr,MF)=>{var JBt=VOe(),s1=window,AF=["moz","webkit"],pA="AnimationFrame",gA=s1["request"+pA],wk=s1["cancel"+pA]||s1["cancelRequest"+pA];for(vA=0;!gA&&vA{jOe.exports=function(t,r){var n=typeof t=="number",i=typeof r=="number";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error("array length must be positive");for(var o=new Array(a),s=0,l=t;s{"use strict";var $Bt=QX(),QBt=Zm(),eNt=j2(),ZOe=GOe(),tNt=WOe(),nK=eA(),rNt=W2();YOe.exports=vx;function vx(e,t){if(!(this instanceof vx))return new vx(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=$Bt(e),this.canvas=this.scatter.canvas}vx.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=ZOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,ZOe(()=>{this.dirty=!1})),this)};vx.prototype.update=function(...e){if(!e.length)return;for(let n=0;nb||!i.lower&&x{t[a+s]=n})}this.scatter.draw(...t)}return this};vx.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function iNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function XOe(e){if(typeof e=="number")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var $Oe=ye((qmr,JOe)=>{"use strict";var nNt=KOe(),aK=Mr(),kF=af(),aNt=Sg().selectMode;JOe.exports=function(t,r,n){if(n.length)for(var i=0;i-1,T=aNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d{"use strict";QOe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s{"use strict";var eBe=oK(),sNt=zz().calcHover,tBe=Qa().getFromId,lNt=no().extendFlat;function uNt(e,t,r,n,i){i||(i={});var a=(n||"").charAt(0)==="x",o=(n||"").charAt(0)==="y",s=rBe(e,t,r);if((a||o)&&i.hoversubplots==="axis"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=lNt({},e),f=0;f{"use strict";var lBe=Mr(),aBe=lBe.pushUnique,oBe=lu(),sBe=oK();uBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!oBe.hasMarkers(i)&&!oBe.hasText(i);if(i.visible!==!0||f)return c;var h=sBe.getDimIndex(i,l),d=sBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],g=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A{"use strict";var fBe=Mr(),cNt=z0(),fNt=Y2().markerStyle;hBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){cNt(t,n),fBe.extendFlat(i.matrixOptions,fNt(t,n));var a=fBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var pBe=ye((Vmr,vBe)=>{"use strict";var hNt=ba(),dNt=nV();vBe.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:eK(),supplyDefaults:DOe(),colorbar:Kd(),calc:NOe(),plot:$Oe(),hoverPoints:nBe().hoverPoints,selectPoints:cBe(),editStyle:dBe(),meta:{}};hNt.register(dNt)});var bBe=ye((Hmr,xBe)=>{"use strict";var vNt=LY(),pNt=ba(),gNt=xF(),mNt=kd().getModuleCalcData,px=Jf(),gBe=af().getFromId,mBe=Qa().shouldShowZeroLine,yBe="splom",_Be={};function yNt(e){var t=e._fullLayout,r=pNt.getModule(yBe),n=mNt(e.calcdata,r)[0],i=gNt(e,["ANGLE_instanced_arrays","OES_element_index_uint"],_Be);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function _Nt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n{"use strict";var wBe=pBe();wBe.basePlotModule=bBe(),TBe.exports=wBe});var MBe=ye((jmr,SBe)=>{"use strict";SBe.exports=ABe()});var cK=ye((Wmr,EBe)=>{"use strict";var TNt=Kl(),lK=Cd(),uK=Su(),ANt=Ju().attributes,CF=no().extendFlat,SNt=Vs().templatedArray;EBe.exports={domain:ANt({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:uK({editType:"plot"}),tickfont:uK({autoShadowDflt:!0,editType:"plot"}),rangefont:uK({editType:"plot"}),dimensions:SNt("dimension",{label:{valType:"string",editType:"plot"},tickvals:CF({},lK.tickvals,{editType:"plot"}),ticktext:CF({},lK.ticktext,{editType:"plot"}),tickformat:CF({},lK.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:CF({editType:"calc"},TNt("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}});var Tk=ye((Zmr,kBe)=>{"use strict";kBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}});var Km=ye((Xmr,LBe)=>{"use strict";var MNt=OS();function CBe(e){return[e]}LBe.exports={keyFun:function(e){return e.key},repeat:CBe,descend:MNt,wrap:CBe,unwrap:function(e){return e[0]}}});var dK=ye((Ymr,UBe)=>{"use strict";var th=Tk(),em=xa(),ENt=Km().keyFun,LF=Km().repeat,mA=Mr().sorterAsc,kNt=Mr().strTranslate,PBe=th.bar.snapRatio;function IBe(e,t){return e*(1-PBe)+t*PBe}var RBe=th.bar.snapClose;function CNt(e,t){return e*(1-RBe)+t*RBe}function IF(e,t,r,n){if(LNt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c=t[r][0]&&e<=t[r][1])return!0;return!1}function PNt(e){e.attr("x",-th.bar.captureWidth/2).attr("width",th.bar.captureWidth)}function INt(e){e.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function RNt(e){if(!e.brush.filterSpecified)return"0,"+e.height;for(var t=DBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}function zBe(){em.select(document.body).style("cursor",null)}function hK(e){e.attr("stroke-dasharray",RNt)}function PF(e,t){var r=em.select(e).selectAll(".highlight, .highlight-shadow"),n=t?r.transition().duration(th.bar.snapDuration).each("end",t):r;hK(n)}function FBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=DBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]=E[0]&&g<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function zNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=FBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region==="ns",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region==="s"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function qBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(mA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function FNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(OBe(e,t),qBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,zBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function OBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=FBe(t,r),i="crosshair";n.clickableOrdinalRange?i="pointer":n.region&&(i=n.region+"-resize"),em.select(document.body).style("cursor",i)}function qNt(e){e.on("mousemove",function(t){em.event.preventDefault(),t.parent.inBrushDrag||OBe(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||zBe()}).call(em.behavior.drag().on("dragstart",function(t){zNt(this,t)}).on("drag",function(t){qBe(this,t)}).on("dragend",function(t){FNt(this,t)}))}function BBe(e,t){return e[0]-t[0]}function ONt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(".background").data(LF);i.enter().append("rect").classed("background",!0).call(PNt).call(INt).style("pointer-events",n?"none":"auto").attr("transform",kNt(0,th.verticalPadding)),i.call(qNt).attr("height",function(s){return s.height-th.verticalPadding});var a=e.selectAll(".highlight-shadow").data(LF);a.enter().append("line").classed("highlight-shadow",!0).attr("x",-th.bar.width/2).attr("stroke-width",th.bar.width+th.bar.strokeWidth).attr("stroke",t).attr("opacity",th.bar.strokeOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(s){return s.height}).call(hK);var o=e.selectAll(".highlight").data(LF);o.enter().append("line").classed("highlight",!0).attr("x",-th.bar.width/2).attr("stroke-width",th.bar.width-th.bar.strokeWidth).attr("stroke",th.bar.fillColor).attr("opacity",th.bar.fillOpacity).attr("stroke-linecap","butt"),o.attr("y1",function(s){return s.height}).call(hK)}function BNt(e,t,r){var n=e.selectAll("."+th.cn.axisBrush).data(LF,ENt);n.enter().append("g").classed(th.cn.axisBrush,!0),ONt(n,t,r)}function NNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function UNt(e){return function(r){var n=r.brush,i=NNt(n),a=i.slice();n.filter.set(a),e()}}function NBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function VNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(mA)}).sort(BBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=NBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function HNt(e,t,r,n,i,a){var o=VNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:UNt(i),brushEndCallback:a}}}function GNt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(mA)}),t.multiselect?e=NBe(e.sort(BBe)):e=[e[0]]):e=[e.sort(mA)],t.tickvals){var r=t.tickvals.slice().sort(mA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}UBe.exports={makeBrush:HNt,ensureAxisBrush:BNt,cleanRanges:GNt}});var GBe=ye((Kmr,HBe)=>{"use strict";var gx=Mr(),jNt=Dv().hasColorscale,WNt=Uh(),ZNt=Ju().defaults,XNt=Zd(),YNt=Qa(),VBe=cK(),KNt=dK(),vK=Tk().maxDimensionCount,JNt=wF();function $Nt(e,t,r,n,i){var a=i("line.color",r);if(jNt(e,"line")&&gx.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),WNt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function QNt(e,t,r,n){function i(u,c){return gx.coerce(e,t,VBe.dimensions,u,c)}var a=i("values"),o=i("visible");if(a&&a.length||(o=t.visible=!1),o){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var s=i("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:s},YNt.setConvert(t._ax,n.layout),i("multiselect");var l=i("constraintrange");l&&(t.constraintrange=KNt.cleanRanges(l,t))}}HBe.exports=function(t,r,n,i){function a(c,f){return gx.coerce(t,r,VBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(gx.log("parcoords traces support up to "+vK+" dimensions at the moment"),o.splice(vK));var s=XNt(t,r,{name:"dimensions",layout:i,handleItemDefaults:QNt}),l=$Nt(t,r,n,i,a);ZNt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),JNt(r,s,"values",l);var u=gx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});gx.coerceFont(a,"labelfont",u),gx.coerceFont(a,"tickfont",u,{autoShadowDflt:!0}),gx.coerceFont(a,"rangefont",u),a("labelangle"),a("labelside"),a("unselected.line.color"),a("unselected.line.opacity")}});var WBe=ye((Jmr,jBe)=>{"use strict";var eUt=Mr().isArrayOrTypedArray,pK=Mu(),tUt=Km().wrap;jBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,"line")&&eUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:"line",cLetter:"c"})):(n=rUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),tUt({lineColor:n,cscale:i})};function rUt(e){for(var t=new Array(e),r=0;r{"use strict";var iUt=Mr().isTypedArray;RF.convertTypedArray=function(e){return iUt(e)?Array.prototype.slice.call(e):e};RF.isOrdinal=function(e){return!!e.tickvals};RF.isVisible=function(e){return e.visible||!("visible"in e)}});var rNe=ye((Qmr,tNe)=>{"use strict";var nUt=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join(` +`),aUt=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` +`),Ak=Tk().maxDimensionCount,$Be=Mr(),ZBe=1e-6,DF=2048,oUt=new Uint8Array(4),XBe=new Uint8Array(4),YBe={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function sUt(e){e.read({x:0,y:0,width:1,height:1,data:oUt})}function QBe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function lUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],QBe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u>>8*t)%256/255}function fUt(e,t,r){for(var n=new Array(e*(Ak+4)),i=0,a=0;aX&&(X=M[F].dim1.canvasX,V=F);T===0&&QBe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F{"use strict";var zd=xa(),l1=Mr(),yK=l1.isArrayOrTypedArray,lNe=l1.numberFormat,uNe=rZ(),cNe=Qa(),gUt=l1.strRotate,Jm=l1.strTranslate,mUt=Ll(),zF=ao(),iNe=Mu(),bK=Km(),tg=bK.keyFun,$m=bK.repeat,fNe=bK.unwrap,yA=gK(),ll=Tk(),hNe=dK(),yUt=rNe();function nNe(e,t,r){return l1.aggNums(e,null,t,r)}function dNe(e,t){return wK(nNe(Math.min,e,t),nNe(Math.max,e,t))}function FF(e){var t=e.range;return t?wK(t[0],t[1]):dNe(e.values,e._length)}function wK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function _Ut(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function xUt(e,t,r,n,i){var a=FF(r);return n?zd.scale.ordinal().domain(n.map(_Ut(lNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function bUt(e,t){return zd.scale.linear().range([t,e-t])}function wUt(e,t){return zd.scale.linear().domain(FF(e)).range([t,1-t])}function TUt(e){if(e.tickvals){var t=FF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function AUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=uNe(a[1]);return zd.rgb("rgb("+o[0]+","+o[1]+","+o[2]+")")}),n=function(a){return function(o){return o[a]}},i="rgb".split("").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function xK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function SUt(e,t,r){var n=fNe(t),i=n.trace,a=yA.convertTypedArray(n.lineColor),o=i.line,s={color:uNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=iNe.extractOpts(o),u=l.reversescale?iNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,g=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(FF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(yA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:AUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:g,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function MUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=bUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(yA.isVisible).map(function(h,d){var v=wUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?"__"+x:""),g=h.constraintrange,E=g&&g.length;E&&!yK(g[0])&&(g=[g]);var k=E?g.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=xK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function p(q,V){return q.val-V.val}if(yK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!yK(C)||!C.length?C=_.map(lNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(p),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=yA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:yA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:xUt(i,ll.verticalPadding,h,_,C),ordinalScale:TUt(h),parent:c,model:r,brush:hNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function aNe(e){e.classed(ll.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default")}function EUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function oNe(e,t){var r=t==="top"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function _K(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style("opacity",function(F){return F.pick?0:1}),s.style("background","rgba(255, 255, 255, 0)");var b=s.selectAll("."+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append("g").classed(ll.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),b.attr("transform",function(F){return Jm(F.model.translateX,F.model.translateY)});var g=b.selectAll("."+ll.cn.parcoordsControlView).data($m,tg);g.enter().append("g").classed(ll.cn.parcoordsControlView,!0),g.attr("transform",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=g.selectAll("."+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append("g").classed(ll.cn.yAxis,!0),g.each(function(F){_K(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=yUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr("transform",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on("drag",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),_K(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr("transform",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr("transform",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!xK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on("dragend",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,_K(E,q,u),zd.select(this).attr("transform",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!xK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll("."+ll.cn.axisOverlays).data($m,tg);k.enter().append("g").classed(ll.cn.axisOverlays,!0),k.selectAll("."+ll.cn.axis).remove();var A=k.selectAll("."+ll.cn.axis).data($m,tg);A.enter().append("g").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return yA.isOrdinal(F)?X:vNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),zF.font(A.selectAll("text"),F.model.tickFont)}),A.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),A.selectAll("text").style("cursor","default");var L=k.selectAll("."+ll.cn.axisHeading).data($m,tg);L.enter().append("g").classed(ll.cn.axisHeading,!0);var _=L.selectAll("."+ll.cn.axisTitle).data($m,tg);_.enter().append("text").classed(ll.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",a?"none":"auto"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);zF.font(q,F.model.labelFont),mUt.convertToTspans(q,t)}).attr("transform",function(F){var q=oNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?"":Jm(0,2*V+F.model.height))+gUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr("text-anchor",function(F){var q=oNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?"start":"end":"middle"});var C=k.selectAll("."+ll.cn.axisExtent).data($m,tg);C.enter().append("g").classed(ll.cn.axisExtent,!0);var M=C.selectAll("."+ll.cn.axisExtentTop).data($m,tg);M.enter().append("g").classed(ll.cn.axisExtentTop,!0),M.attr("transform",Jm(0,-ll.axisExtentOffset));var p=M.selectAll("."+ll.cn.axisExtentTopText).data($m,tg);p.enter().append("text").classed(ll.cn.axisExtentTopText,!0).call(aNe),p.text(function(F){return sNe(F,!0)}).each(function(F){zF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll("."+ll.cn.axisExtentBottom).data($m,tg);P.enter().append("g").classed(ll.cn.axisExtentBottom,!0),P.attr("transform",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll("."+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append("text").classed(ll.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(aNe),T.text(function(F){return sNe(F,!1)}).each(function(F){zF.font(zd.select(this),F.model.rangeFont)}),hNe.ensureAxisBrush(k,c,t)}});var AK=ye((TK,xNe)=>{"use strict";var CUt=gNe(),LUt=xF(),mNe=gK().isVisible,_Ne={};function yNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function PUt(e,t){return function(n,i){return yNe(e,t,n)-yNe(e,t,i)}}var TK=xNe.exports=function(t,r){var n=t._fullLayout,i=LUt(t,[],_Ne);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var g=l[x]=b.index;a[x]=t.data[g].dimensions,o[x]=t.data[g].dimensions.slice()});var c=function(v,x,b){var g=o[v][x],E=b.map(function(M){return M.slice()}),k="dimensions["+x+"].constraintrange",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=g.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),g.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete g.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit("plotly_restyle",[C,[l[v]]])},f=function(v){t.emit("plotly_hover",v)},h=function(v){t.emit("plotly_unhover",v)},d=function(v,x){var b=PUt(x,o[v].filter(mNe));a[v].sort(b),o[v].filter(function(g){return!mNe(g)}).sort(function(g){return o[v].indexOf(g)}).forEach(function(g){a[v].splice(a[v].indexOf(g),1),a[v].splice(o[v].indexOf(g),0,g)}),t.emit("plotly_restyle",[{dimensions:[a[v]]},[l[v]]])};CUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};TK.reglPrecompiled=_Ne});var wNe=ye(Sk=>{"use strict";var bNe=xa(),IUt=kd().getModuleCalcData,RUt=AK(),DUt=Zp();Sk.name="parcoords";Sk.plot=function(e){var t=IUt(e.calcdata,"parcoords")[0];t.length&&RUt(e,t)};Sk.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())};Sk.toSVG=function(e){var t=e._fullLayout._glimages,r=bNe.select(e).selectAll(".svg-container"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function i(){var a=this,o=a.toDataURL("image/png"),s=t.append("svg:image");s.attr({xmlns:DUt.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){bNe.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}});var ANe=ye((ryr,TNe)=>{"use strict";TNe.exports={attributes:cK(),supplyDefaults:GBe(),calc:WBe(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:wNe(),categories:["gl","regl","noOpacity","noHover"],meta:{}}});var ENe=ye((iyr,MNe)=>{"use strict";var SNe=ANe();SNe.plot=AK();MNe.exports=SNe});var CNe=ye((nyr,kNe)=>{"use strict";kNe.exports=ENe()});var SK=ye((ayr,RNe)=>{"use strict";var PNe=no().extendFlat,zUt=vl(),LNe=Su(),FUt=Kl(),INe=Wo().hovertemplateAttrs,qUt=Ju().attributes,OUt=PNe({editType:"calc"},FUt("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:INe({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});RNe.exports={domain:qUt({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:PNe({},zUt.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:INe({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:LNe({editType:"calc"}),tickfont:LNe({autoShadowDflt:!0,editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:OUt,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var FNe=ye((oyr,zNe)=>{"use strict";var _A=Mr(),BUt=Dv().hasColorscale,NUt=Uh(),UUt=Ju().defaults,VUt=Zd(),DNe=SK(),HUt=wF(),GUt=vv().isTypedArraySpec;function jUt(e,t,r,n,i){i("line.shape"),i("line.hovertemplate");var a=i("line.color",n.colorway[0]);if(BUt(e,"line")&&_A.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),NUt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function WUt(e,t){function r(u,c){return _A.coerce(e,t,DNe.dimensions,u,c)}var n=r("values"),i=r("visible");if(n&&n.length||(i=t.visible=!1),i){r("label"),r("displayindex",t._index);var a=e.categoryarray,o=_A.isArrayOrTypedArray(a)&&a.length>0||GUt(a),s;o&&(s="array");var l=r("categoryorder",s);l==="array"?(r("categoryarray"),r("ticktext")):(delete e.categoryarray,delete e.ticktext),!o&&l==="array"&&(t.categoryorder="trace")}}zNe.exports=function(t,r,n,i){function a(u,c){return _A.coerce(t,r,DNe,u,c)}var o=VUt(t,r,{name:"dimensions",handleItemDefaults:WUt}),s=jUt(t,r,n,i,a);UUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),HUt(r,o,"values",s),a("hoveron"),a("hovertemplate"),a("arrangement"),a("bundlecolors"),a("sortpaths"),a("counts");var l=i.font;_A.coerceFont(a,"labelfont",l,{overrideDflt:{size:Math.round(l.size)}}),_A.coerceFont(a,"tickfont",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var ONe=ye((syr,qNe)=>{"use strict";var ZUt=Km().wrap,XUt=Dv().hasColorscale,YUt=zv(),KUt=Gq(),JUt=ao(),Mk=Mr(),$Ut=uo();qNe.exports=function(t,r){var n=Mk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(p){var P;if(p.categoryorder==="trace")P=null;else if(p.categoryorder==="array")P=p.categoryarray;else{P=KUt(p.values);for(var T=!0,F=0;F=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var ZNe=ye((lyr,WNe)=>{"use strict";var ul=xa(),uVt=(R2(),ab(I2)).interpolateNumber,cVt=qP(),Ck=Nc(),mx=Mr(),Ek=mx.strTranslate,BNe=ao(),MK=id(),fVt=Ll();function hVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(EVt.bind(0,t,r)),o=n.selectAll("g.parcatslayer").data([null]);o.enter().append("g").attr("class","parcatslayer").style("pointer-events",i?"none":"all");var s=o.selectAll("g.trace.parcats").data(a,u1),l=s.enter().append("g").attr("class","trace parcats");s.attr("transform",function(E){return Ek(E.x,E.y)}),l.append("g").attr("class","paths");var u=s.select("g.paths"),c=u.selectAll("path.path").data(function(E){return E.paths},u1);c.attr("fill",function(E){return E.model.color});var f=c.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(E){return E.model.color}).attr("fill-opacity",0);CK(f),c.attr("d",function(E){return E.svgD}),f.empty()||c.sort(EK),c.exit().remove(),c.on("mouseover",dVt).on("mouseout",vVt).on("click",pVt),l.append("g").attr("class","dimensions");var h=s.select("g.dimensions"),d=h.selectAll("g.dimension").data(function(E){return E.dimensions},u1);d.enter().append("g").attr("class","dimension"),d.attr("transform",function(E){return Ek(E.x,0)}),d.exit().remove();var v=d.selectAll("g.category").data(function(E){return E.categories},u1),x=v.enter().append("g").attr("class","category");v.attr("transform",function(E){return Ek(0,E.y)}),x.append("rect").attr("class","catrect").attr("pointer-events","none"),v.select("rect.catrect").attr("fill","none").attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),UNe(x);var b=v.selectAll("rect.bandrect").data(function(E){return E.bands},u1);b.each(function(){mx.raiseToTop(this)}),b.attr("fill",function(E){return E.color});var g=b.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(E){return E.color}).attr("fill-opacity",0);b.attr("fill",function(E){return E.color}).attr("width",function(E){return E.width}).attr("height",function(E){return E.height}).attr("y",function(E){return E.y}).attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":E.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),PK(g),b.exit().remove(),x.append("text").attr("class","catlabel").attr("pointer-events","none"),v.select("text.catlabel").attr("text-anchor",function(E){return kk(E)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(E){return kk(E)?E.width+5:-5}).attr("y",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){BNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),fVt.convertToTspans(ul.select(this),t)}),x.append("text").attr("class","dimlabel"),v.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(E){return E.width/2}).attr("y",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){BNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll("rect.bandrect").on("mouseover",wVt).on("mouseout",TVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on("dragstart",AVt).on("drag",SVt).on("dragend",MVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll("g.paths").selectAll("path.path"),E.dimensionSelection=ul.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),s.exit().remove()}WNe.exports=function(e,t,r,n){hVt(r,e,n,t)};function u1(e){return e.key}function kk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function EK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor"),_=ul.mouse(i)[0];Ck.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:b,idealAlign:_1&&u.displayInd===l.dimensions.length-1?(h=o.left,d="left"):(h=o.left+o.width,d="right");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,g={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&E.push(["Count:",g.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&E.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var k=E.join("
");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:g,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function xVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var i=this;n.push(VNe(e,t,i))}),n}function bVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d="left"):(h=a.left+a.width,d="right");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var g=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/g,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&C.push(["Count:",_.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(C.push("P(color \u2229 "+v+"): "+_.probabilityLabel),C.push("P("+v+" | color): "+A.toFixed(3)),C.push("P(color | "+v+"): "+L.toFixed(3)));var M=C.join("
"),p=MK.mostReadable(o.color,["black","white"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:p,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:g,colorcount:E,bandcolorcount:b}]}}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a==="color"?(_Vt(o),RK(o,"plotly_hover",ul.event)):(yVt(o),IK(o,"plotly_hover",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var s;a==="category"?s=VNe(r,i,o):a==="color"?s=bVt(r,i,o):a==="dimension"&&(s=xVt(r,i,o)),s&&Ck.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function TVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(CK(t.pathSelection),UNe(t.dimensionSelection.selectAll("g.category")),PK(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),Ck.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(EK),t.hoverinfoItems.indexOf("skip")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r==="color"?RK(n,"plotly_unhover",ul.event):IK(n,"plotly_unhover",ul.event)}}function AVt(e){e.parcatsViewModel.arrangement!=="fixed"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,mx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll("rect.bandrect").each(function(i){i.yc.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement==="freeform"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragXh.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}zK(e.parcatsViewModel),DK(e.parcatsViewModel),jNe(e.parcatsViewModel),GNe(e.parcatsViewModel)}}function MVt(e){if(e.parcatsViewModel.arrangement!=="fixed"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll("text").attr("font-weight","normal");var t={},r=HNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t["dimensions["+v+"].displayindex"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[l],t["dimensions["+e.model.containerInd+"].ticktext"]=[u],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron==="color"?RK(e.potentialClickBand,"plotly_click",ul.event.sourceEvent):IK(e.potentialClickBand,"plotly_click",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,zK(e.parcatsViewModel),DK(e.parcatsViewModel);var f=ul.transition().duration(300).ease("cubic-in-out");f.each(function(){jNe(e.parcatsViewModel,!0),GNe(e.parcatsViewModel,!0)}).each("end",function(){(i||a)&&cVt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function HNe(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+="C"+o[l]+","+(t[l+1]+n)+" "+a[l]+","+(t[l]+n)+" "+(e[l]+r[l])+","+(t[l]+n),u+="l-"+r[l]+",0 ";return u+="Z",u}function DK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths==="backward"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),HX?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x0?g=v*(b.count/d):g=0;for(var E=new Array(n.length),k=0;k1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,g,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k0?x=b.count/d*v:x=0,g={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(g);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var FK=ye((uyr,XNe)=>{"use strict";var CVt=ZNe();XNe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;CVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var KNe=ye(OF=>{"use strict";var LVt=kd().getModuleCalcData,PVt=FK(),YNe="parcats";OF.name=YNe;OF.plot=function(e,t,r,n){var i=LVt(e.calcdata,YNe);if(i.length){var a=i[0];PVt(e,a,r,n)}};OF.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}});var $Ne=ye((fyr,JNe)=>{"use strict";JNe.exports={attributes:SK(),supplyDefaults:FNe(),calc:ONe(),plot:FK(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:KNe(),categories:["noOpacity"],meta:{}}});var eUe=ye((hyr,QNe)=>{"use strict";QNe.exports=$Ne()});var c1=ye((dyr,sUe)=>{"use strict";var IVt=X1(),tUe="1.13.4",aUe='\xA9 OpenStreetMap contributors',rUe=['\xA9 Carto',aUe].join(" "),iUe=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),RVt=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),oUe={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:aUe,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:rUe,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:rUe,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:iUe,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:iUe,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:RVt,tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},nUe=IVt(oUe);sUe.exports={requiredVersion:tUe,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:oUe,styleValuesNonMapbox:nUe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+tUe+"."].join(` +`),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join(` +`),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",nUe.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join(` +`),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join(` +`),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":`content: ""; cursor: pointer; position: absolute; background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;`,"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":`display:block; width: 21px; height: 21px; background-image: url('data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E')`}}});var Pk=ye((vyr,fUe)=>{"use strict";var lUe=Mr(),uUe=va().defaultLine,DVt=Ju().attributes,zVt=Su(),FVt=Uc().textposition,qVt=Bu().overrideAll,OVt=Vs().templatedArray,qK=c1(),cUe=zVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});cUe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var BVt=fUe.exports=qVt({_arrayAttrRegexps:[lUe.counterRegex("mapbox",".layers",!0)],domain:DVt({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:qK.styleValuesMapbox.concat(qK.styleValuesNonMapbox),dflt:qK.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:OVt("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:uUe},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:uUe}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:cUe,textposition:lUe.extendFlat({},FVt,{arrayOk:!1})}})},"plot","from-root");BVt.uirevision={valType:"any",editType:"none"}});var BF=ye((pyr,vUe)=>{"use strict";var NVt=Wo().hovertemplateAttrs,UVt=Wo().texttemplateAttrs,VVt=Eg(),Ik=H2(),xA=Uc(),hUe=Pk(),HVt=vl(),GVt=Kl(),ew=no().extendFlat,jVt=Bu().overrideAll,WVt=Pk(),dUe=Ik.line,bA=Ik.marker;vUe.exports=jVt({lon:Ik.lon,lat:Ik.lat,cluster:{enabled:{valType:"boolean"},maxzoom:ew({},WVt.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:ew({},bA.opacity,{dflt:1})},mode:ew({},xA.mode,{dflt:"markers"}),text:ew({},xA.text,{}),texttemplate:UVt({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:ew({},xA.hovertext,{}),line:{color:dUe.color,width:dUe.width},connectgaps:xA.connectgaps,marker:ew({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:bA.opacity,size:bA.size,sizeref:bA.sizeref,sizemin:bA.sizemin,sizemode:bA.sizemode},GVt("marker")),fill:Ik.fill,fillcolor:VVt(),textfont:hUe.layers.symbol.textfont,textposition:hUe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:xA.selected.marker},unselected:{marker:xA.unselected.marker},hoverinfo:ew({},HVt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:NVt()},"calc","nested")});var OK=ye((gyr,pUe)=>{"use strict";var ZVt=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];pUe.exports={isSupportedFont:function(e){return ZVt.indexOf(e)!==-1}}});var yUe=ye((myr,mUe)=>{"use strict";var Rk=Mr(),BK=lu(),XVt=$p(),YVt=R0(),KVt=D0(),JVt=Ig(),gUe=BF(),$Vt=OK().isSupportedFont;mUe.exports=function(t,r,n,i){function a(g,E){return Rk.coerce(t,r,gUe,g,E)}function o(g,E){return Rk.coerce2(t,r,gUe,g,E)}var s=QVt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("hovertext"),a("hovertemplate"),a("mode"),a("below"),BK.hasMarkers(r)){XVt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&(Rk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Rk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}BK.hasLines(r)&&(YVt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),d=o("cluster.opacity"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a("cluster.enabled",v);if(x||BK.hasText(r)){var b=i.font.family;KVt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:$Vt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&JVt(t,r,n,a),Rk.coerceSelectionMarkerOpacity(r,a)};function QVt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var NK=ye((yyr,xUe)=>{"use strict";var _Ue=Qa();xUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=_Ue.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=_Ue.tickText(o,o.c2l(s[1]),!0).text,i}});var UK=ye((_yr,wUe)=>{"use strict";var bUe=Mr();wUe.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=bUe.isArrayOrTypedArray(r)?bUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var kUe=ye((xyr,EUe)=>{"use strict";var SUe=uo(),iv=Mr(),eHt=es().BADNUM,UF=tx(),TUe=Mu(),tHt=ao(),rHt=S3(),VF=lu(),iHt=OK().isSupportedFont,nHt=UK(),aHt=rp().appendArrayPointValue,oHt=Ll().NEWLINES,sHt=Ll().BR_TAG_ALL;EUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=VF.hasLines(n),s=VF.hasMarkers(n),l=VF.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=NF("fill"),d=NF("line"),v=NF("circle"),x=NF("symbol"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var g;if((a||o)&&(g=UF.calcTraceToLineCoords(r)),a&&(h.geojson=UF.makePolygon(g),h.layout.visibility="visible",iv.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(d.geojson=UF.makeLine(g),d.layout.visibility="visible",iv.extendFlat(d.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var E=lHt(r);v.geojson=E.geojson,v.layout.visibility="visible",f&&(v.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":HK(n.cluster.color,n.cluster.step),"circle-radius":HK(n.cluster.size,n.cluster.step),"circle-opacity":HK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":AUe(n),"text-size":12}}),iv.extendFlat(v.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(u&&f&&(v.filter=["!",["has","point_count"]]),(c||l)&&(x.geojson=uHt(r,t),iv.extendFlat(x.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(iv.extendFlat(x.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&iv.extendFlat(x.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),x.layout["icon-allow-overlap"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var k=(n.marker||{}).size,A=nHt(n.textposition,k);iv.extendFlat(x.layout,{"text-size":n.textfont.size,"text-anchor":A.anchor,"text-offset":A.offset,"text-font":AUe(n)}),iv.extendFlat(x.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function NF(e){return{type:e,geojson:UF.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function lHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(TUe.hasColorscale(t,"marker")?c=TUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=rHt(t));var h;o&&(h=function(k){var A=SUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),iHt(s)||(s=r);var l=s.split(", ");return l}});var IUe=ye((byr,PUe)=>{"use strict";var cHt=Mr(),CUe=kUe(),wA=c1().traceLayerPrefix,rg={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function LUe(e,t,r,n){this.type="scattermapbox",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:wA+t+"-fill",line:wA+t+"-line",circle:wA+t+"-circle",symbol:wA+t+"-symbol",cluster:wA+t+"-cluster",clusterCount:wA+t+"-cluster-count"},this.below=null}var Dk=LUe.prototype;Dk.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&cHt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Dk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Dk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};PUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new LUe(t,n.uid,i,a),s=CUe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var fHt=Nc(),GK=Mr(),hHt=oT(),dHt=GK.fillText,vHt=es().BADNUM,pHt=c1().traceLayerPrefix;function gHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=pHt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var p=M.lonlat;if(p[0]===vHt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=GK.modHalf(p[0],360),T=p[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(fHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],g=b.lonlat,E=[GK.modHalf(g[0],360)+d,g[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=hHt(i,b),e.extraText=RUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function RUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&dHt(t,e,u),u.join("
")}DUe.exports={hoverPoints:gHt,getExtraText:RUe}});var FUe=ye((Tyr,zUe)=>{"use strict";zUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var OUe=ye((Ayr,qUe)=>{"use strict";var mHt=Mr(),yHt=lu(),_Ht=es().BADNUM;qUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!yHt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof jK=="object"&&typeof WK!="undefined"?WK.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.mapboxgl=t())})(jK,function(){"use strict";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o="var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk);",s={};e(s),r=a(s),typeof window!="undefined"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}}return n(["exports"],function(i){"use strict";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o="1.13.4",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y=="undefined"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)U)return U;for(;Ine?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!="undefined"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function g(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m=="object"&&m?H(m,G):m}function N(m,y){for(var I=0;I=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!="undefined"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,""}),I["max-age"]){var U=parseInt(I["max-age"],10);isNaN(U)?delete I["max-age"]:I["max-age"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\b(iPad|iPhone|iPod)\b/.test(y)||y.match("Safari")&&!y.match("Chrome")))}return ie}function Ee(m){try{var y=f[m];return y.setItem("_mapbox_test_",1),y.removeItem("_mapbox_test_"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+("0x"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split("").map(function(y){return"%"+("00"+y.charCodeAt(0).toString(16)).slice(-2)}).join(""))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement("canvas"),J=U.getContext("2d");if(!J)throw new Error("failed to create canvas 2d context");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement("a")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia("(prefers-reduced-motion: reduce)")),Ge.matches):!1}},ct={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf("https://api.mapbox.cn")===0?"https://events.mapbox.cn/events/v2":this.API_URL.indexOf("https://api.mapbox.com")===0?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement("img"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr="01";function er(){for(var m="1",y="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",I="",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(""),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path="/styles/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path="/fonts/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path="/v4/"+U.authority+".json",U.params.push("secure"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path="/styles/v1"+ne.path+"/sprite"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=""+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\.(png|jpg)\d*)(?=$)/,ne=/^.+\/v4\//,fe=nt.devicePixelRatio>=2||I===512?"@2x":"",Fe=qt.supported?".webp":"$1";U.path=U.path.replace(J,""+fe+Fe),U.path=U.path.replace(ne,"/"),U.path="/v4"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push("sku="+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U="/v4/",J=/\.[\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\/v4\/)/)||!ne.path.match(J))return y;var fe="mapbox://tiles/";fe+=ne.path.replace(U,"");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+="?"+Fe.join("&")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne=0&&y.params.splice(ne,1)}if(J.path!=="/"&&(y.path=""+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error("An API access token is required to use Mapbox GL. "+U);if(I[0]==="s")throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+U);return y.params=y.params.filter(function(fe){return fe.indexOf("access_token")===-1}),y.params.push("access_token="+I),$t(y)};function xt(m){return m.indexOf("mapbox:")===0}var bt=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf("sku=")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re("Unable to write to LocalStorage")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push("access_token="+(J||ct.ACCESS_TOKEN||""));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{"Content-Type":"text/plain"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,"map.load"),this.success={},this.skuToken=""}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,"appUserTurnstile"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{"enabled.telemetry":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe="mapbox-tiles",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get("Cache-Control")||"");if(!J["no-store"]){J["max-age"]&&U.headers.set("Expires",new Date(I+J["max-age"]*1e3).toUTCString());var ne=new Date(U.headers.get("Expires")).getTime()-I;neDate.now()&&!I["no-cache"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send("enforceCacheSizeLimit",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type==="json")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader("Cache-Control"),I.getResponseHeader("Expires"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty("signal"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send("getResource",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:"json"}),y)},Zr=function(m,y){return yr(_(m,{type:"arrayBuffer"}),y)},Vr=function(m,y){return yr(_(m,{method:"POST"}),y)};function gi(m){var y=f.document.createElement("a");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var fe=new f.Blob([new Uint8Array(m)],{type:"image/png"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:"image/png"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error("Could not load image because of "+U.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept="image/webp,*/*"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},xn={"*":{type:"source"}},_t=["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],br={type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},Hr={type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},ti={type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},zi={type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},Yi={type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},an={type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},hi={id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},Ji=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],ua={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Fn={"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Sa={"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},go={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Oo={"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},ho={"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Mo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},xo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},zs={type:"array",value:"*"},ks={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},Zs={type:"enum",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:"array",minimum:0,maximum:24,value:["number","color"],length:2},wl={type:"array",value:"*",minimum:1},os={anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},cl=["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],Cs={"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},ml={"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},Ys={"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},Hs={"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Eo={"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},fs={"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},$l={"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Hu={"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},fc={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},ms={"*":{type:"string"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:$l,paint_background:Hu,transition:fc,"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:ms},fa=function(y,I,U,J){this.message=(y?y+": ":"")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,"constants have been deprecated as of v8")]:[]}function Il(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U":m.itemType.kind==="value"?"array":"array<"+y+">"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,Ql(So),Hc];function kc(m,y){if(y.kind==="error")return null;if(m.kind==="array"){if(y.kind==="array"&&(y.N===0&&y.itemType.kind==="value"||!kc(m.itemType,y.itemType))&&(typeof m.N!="number"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind==="value")for(var I=0,U=mu;I255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]==="%"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]==="%"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,"").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]==="#"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf("("),nr=mt.indexOf(")");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(","),_i=1;switch(Lr){case"rgba":if(Yr.length!==4)return null;_i=fe(Yr.pop());case"rgb":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case"hsla":if(Yr.length!==4)return null;_i=fe(Yr.pop());case"hsl":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y=="string"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return"rgba("+Math.round(I)+","+Math.round(U)+","+Math.round(J)+","+ne+")"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?"variant":"case":this.sensitivity=I?"accent":"base",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Ul=function(y){this.sections=y};Ul.fromString=function(y){return new Ul([new ih(y,null,null,null,null)])},Ul.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Ul.factory=function(y){return y instanceof Ul?y:Ul.fromString(y)},Ul.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(y){return y.text}).join("")},Ul.prototype.serialize=function(){for(var y=["format"],I=0,U=this.sections;I=0&&m<=255&&typeof y=="number"&&y>=0&&y<=255&&typeof I=="number"&&I>=0&&I<=255)){var J=typeof U=="number"?[m,y,I,U]:[m,y,I];return"Invalid rgba value ["+J.join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}return typeof U=="undefined"||typeof U=="number"&&U>=0&&U<=1?null:"Invalid rgba value ["+[m,y,I,U].join(", ")+"]: 'a' must be between 0 and 1."}function Cc(m){if(m===null)return!0;if(typeof m=="string")return!0;if(typeof m=="boolean")return!0;if(typeof m=="number")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Ul)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y2){var Fe=y[1];if(typeof Fe!="string"||!(Fe in dc)||Fe==="object")return I.error('The item type argument of "array" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!="number"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to "array" must be a positive integer literal',2);Qe=y[2],U++}J=Ql(fe,Qe)}else J=dc[ne];for(var st=[];U1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error("Expected at least one argument.");var U=y[1];if(!Array.isArray(U)&&typeof U=="object")return I.error("First argument must be an image or text section.");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe=="object"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe["font-scale"]&&(Qe=I.parse(Fe["font-scale"],1,Zn),!Qe))return null;var st=null;if(Fe["text-font"]&&(st=I.parse(Fe["text-font"],1,Ql(ko)),!st))return null;var mt=null;if(Fe["text-color"]&&(mt=I.parse(Fe["text-color"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!=="string"&&nr!=="value"&&nr!=="null"&&nr!=="resolvedImage")return I.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih("",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(","):null,U.textColor?U.textColor.evaluate(y):null)};return new Ul(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return["image",this.input.serialize()]};var ov={"to-boolean":Co,"to-color":Tl,"to-number":Zn,"to-string":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error("Expected at least one argument.");var U=y[0];if((U==="to-boolean"||U==="to-string")&&y.length!==2)return I.error("Expected one argument.");for(var J=ov[U],ne=[],fe=1;fe4?U="Invalid rbga value "+JSON.stringify(I)+": expected an array containing either three or four numeric values.":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||"Could not parse color from value '"+(typeof I=="string"?I:String(JSON.stringify(I)))+"'")}else if(this.type.kind==="number"){for(var Qe=null,st=0,mt=this.args;st=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;UI[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!="string")return I.error("'var' expression requires exactly one string literal argument.");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable "'+U+'". Make sure "'+U+'" has been bound in an enclosing "let" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return["var",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Zl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return"["+fe+"]"}).join(""),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y=="string"||typeof y=="boolean"||typeof y=="number")&&(y=["literal",y]);function U(mt,Xt,ur){return ur==="assert"?new Sl(Xt,[mt]):ur==="coerce"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var J=y[0];if(typeof J!="string")return this.error("Expression name must be a string, but found "+typeof J+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind==="string"||Fe.kind==="number"||Fe.kind==="boolean"||Fe.kind==="object"||Fe.kind==="array")&&Qe.kind==="value")fe=U(fe,Fe,I.typeAnnotation||"assert");else if((Fe.kind==="color"||Fe.kind==="formatted"||Fe.kind==="resolvedImage")&&(Qe.kind==="value"||Qe.kind==="string"))fe=U(fe,Fe,I.typeAnnotation||"coerce");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!=="resolvedImage"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression "'+J+'". If you wanted a literal array, use ["literal", [...]].',0)}else return typeof y=="undefined"?this.error("'undefined' value invalid. Use null instead."):typeof y=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof y+" instead.")},fl.prototype.concat=function(y,I,U){var J=typeof y=="number"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=""+this.key+I.map(function(ne){return"["+ne+"]"}).join("");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name==="error")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||yy)J=ne-1;else throw new Ms("Input is not a number.");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J=Fe)return I.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,tu=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*tu,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Rl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe1}))return I.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);J={name:"cubic-bezier",controlPoints:Qe}}else return I.error("Unknown interpolation type "+String(J[0]),1,0);if(y.length-1<4)return I.error("Expected at least 4 arguments, but found only "+(y.length-1)+".");if((y.length-1)%2!==0)return I.error("Expected an even number of arguments.");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U==="interpolate-hcl"||U==="interpolate-lab"?mt=Tl:I.expectedType&&I.expectedType.kind!=="value"&&(mt=I.expectedType);for(var Xt=0;Xt=ur)return I.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!=="number"&&mt.kind!=="color"&&!(mt.kind==="array"&&mt.itemType.kind==="number"&&typeof mt.N=="number")?I.error("Type "+Ls(mt)+" is not interpolatable."):new Rl(mt,U,J,ne,st)},Rl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Rl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator==="interpolate"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator==="interpolate-hcl"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Rl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I=U.length)throw new Ms("Array index out of bounds: "+I+" > "+(U.length-1)+".");if(I!==Math.floor(I))throw new Ms("Array index must be an integer, but found "+I+" instead.");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error("Expected 2 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error("Expected first argument to be of type boolean, string, number or null, but found "+Ls(U.type)+" instead")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,["boolean","string","number","null"]))throw new Ms("Expected first argument to be of type boolean, string, number or null, but found "+Ls(ws(I))+" instead.");if(!Gc(U,["string","array"]))throw new Ms("Expected second argument to be of type array or string, but found "+Ls(ws(U))+" instead.");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var ru=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};ru.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error("Expected 3 or 4 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error("Expected first argument to be of type boolean, string, number or null, but found "+Ls(U.type)+" instead");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new ru(U,J,ne):null}else return new ru(U,J)},ru.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,["boolean","string","number","null"]))throw new Ms("Expected first argument to be of type boolean, string, number or null, but found "+Ls(ws(I))+" instead.");if(!Gc(U,["string","array"]))throw new Ms("Expected second argument to be of type array or string, but found "+Ls(ws(U))+" instead.");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},ru.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},ru.prototype.outputDefined=function(){return!1},ru.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),y]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error("Expected at least 4 arguments, but found only "+(y.length-1)+".");if(y.length%2!==1)return I.error("Expected an even number of arguments.");var U,J;I.expectedType&&I.expectedType.kind!=="value"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;FeNumber.MAX_SAFE_INTEGER)return mt.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof nr=="number"&&Math.floor(nr)!==nr)return mt.error("Numeric branch labels must be integer values.");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!="undefined")return mt.error("Branch labels must be unique.");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!=="value"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=["match",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe=5)return I.error("Expected 3 or 4 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[Ql(So),ko,So]))return I.error("Expected first argument to be of type array or string, but found "+Ls(U.type)+" instead");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,["string","array"]))throw new Ms("Expected first argument to be of type array or string, but found "+Ls(ws(I))+" instead.");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),y]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m==="=="||m==="!="?y.kind==="boolean"||y.kind==="string"||y.kind==="number"||y.kind==="null"||y.kind==="value":y.kind==="string"||y.kind==="number"||y.kind==="value"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return yI}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!=="=="&&m!=="!=";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind==="value"||fe.type.kind==="value"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error("Expected two or three arguments.");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('"'+Qe+`" comparisons are not supported for type '`+Ls(st.type)+"'.");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('"'+Qe+`" comparisons are not supported for type '`+Ls(mt.type)+"'.");if(st.type.kind!==mt.type.kind&&st.type.kind!=="value"&&mt.type.kind!=="value")return Fe.error("Cannot compare types '"+Ls(st.type)+"' and '"+Ls(mt.type)+"'.");U&&(st.type.kind==="value"&&mt.type.kind!=="value"?st=new Sl(mt.type,[st]):st.type.kind!=="value"&&mt.type.kind==="value"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!=="string"&&mt.type.kind!=="string"&&st.type.kind!=="value"&&mt.type.kind!=="value")return Fe.error("Cannot use collator to compare non-string types.");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind==="string"||st.kind==="number"))throw new Ms('Expected arguments for "'+m+'" to be (string, string) or (number, number), but found ('+st.kind+", "+mt.kind+") instead.")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!=="string"||ur.kind!=="string")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii("==",gt,xi),Pn=Ii("!=",Bt,Fi),Ma=Ii("<",wr,Xi),Ta=Ii(">",vr,hn),Ea=Ii("<=",Ur,Ti),qa=Ii(">=",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error("Expected two arguments.");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!="object"||Array.isArray(J))return I.error("NumberFormat options argument must be an object.");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J["min-fraction-digits"]&&(Fe=I.parse(J["min-fraction-digits"],1,Zn),!Fe))return null;var Qe=null;return J["max-fraction-digits"]&&(Qe=I.parse(J["max-fraction-digits"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error("Expected 1 argument, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1);return U?U.type.kind!=="array"&&U.type.kind!=="string"&&U.type.kind!=="value"?I.error("Expected argument of type string or array, but found "+Ls(U.type)+" instead."):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I=="string")return I.length;if(Array.isArray(I))return I.length;throw new Ms("Expected value to be of type string or array, but found "+Ls(ws(I))+" instead.")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=["length"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={"==":mi,"!=":Pn,">":Ta,"<":Ma,">=":qa,"<=":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,"index-of":ru,interpolate:Rl,"interpolate-hcl":Rl,"interpolate-lab":Rl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,"number-format":Cn,object:Sl,slice:nc,step:yu,string:Sl,"to-boolean":wo,"to-color":wo,"to-number":wo,"to-string":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I=="undefined"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],"to-rgba":[Ql(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},"feature-state":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],"geometry-type":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],"heatmap-density":[Zn,[],function(m){return m.globals.heatmapDensity||0}],"line-progress":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],"+":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],"filter-id->":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],"filter-<=":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],"filter-id-<=":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],"filter->=":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],"filter-id->=":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],"filter-has":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],"filter-has-id":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],"filter-type-in":[Co,[Ql(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],"filter-id-in":[Co,[Ql(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],"filter-in-small":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],"filter-in-large":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?"number":m instanceof String?"string":m instanceof Boolean?"boolean":Array.isArray(m)?"array":m===null?"null":typeof m}function vs(m){return typeof m=="object"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function iu(m,y){var I=y.type==="color",U=m.stops&&typeof m.stops[0][0]=="object",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?"exponential":"interval");if(I&&(m=Il({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!=="rgb"&&!Ph[m.colorSpace])throw new Error("Unknown color space: "+m.colorSpace);var Fe,Qe,st;if(fe==="exponential")Fe=bu;else if(fe==="interval")Fe=mf;else if(fe==="categorical"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!=="number")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!=="rgb"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate=="function"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type==="color"?I=ss.parse(I):y.type==="formatted"?I=Ul.fromString(I.toString()):y.type==="resolvedImage"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!=="enum"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type==="enum"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe=="number"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms("Expected value to be one of "+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(", ")+", but found "+JSON.stringify(Fe)+" instead.");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!="undefined"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]=="string"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type==="string"?{typeAnnotation:"coerce"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!=="constant"&&!eu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!=="camera"&&!eu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Rl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result==="error")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks("","data expressions not supported")]);var J=Pu(I,["zoom"]);if(!J&&!Rs(y))return yl([new Ks("","zoom expressions not supported")]);var ne=B(I);if(!ne&&!J)return yl([new Ks("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Rl&&!ia(y))return yl([new Ks("",'"interpolate" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc("constant",m.value):new Jc("source",m.value));var fe=ne instanceof Rl?ne.interpolation:void 0;return Bo(U?new yc("camera",m.value,ne.labels,fe):new yc("composite",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Il(this,iu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result==="error")throw new Error(I.value.map(function(J){return J.key+": "+J.message}).join(", "));return I.value}else{var U=m;return typeof m=="string"&&y.type==="color"&&(U=ss.parse(m)),{kind:"constant",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;IU.maximum?[new fa(y,I,I+" is greater than the maximum value "+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!=="categorical"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)==="array"&&Ka(m.value.stops[0])==="array"&&Ka(m.value.stops[0][0])==="object",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I==="identity"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property "property"')),I!=="identity"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property "stops"')),I==="exponential"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,"exponential functions not supported")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,"property functions not supported")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,"zoom functions not supported"))),(I==="categorical"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'"property" property is required')),mt;function Xt(Yr){if(I==="identity")return[new fa(Yr.key,Yr.value,'identity function may not have a "stops" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)==="array"&&si.length===0&&_i.push(new fa(Yr.key,si,"array must have at least one stop")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!=="array")return[new fa(Hi,si,"array expected, "+Ka(si)+" found")];if(si.length!==2)return[new fa(Hi,si,"array length 2 expected, length "+si.length+" found")];if(st){if(Ka(si[0])!=="object")return[new fa(Hi,si,"object expected, "+Ka(si[0])+" found")];if(si[0].zoom===void 0)return[new fa(Hi,si,"object stop key must have zoom")];if(si[0].value===void 0)return[new fa(Hi,si,"object stop key must have value")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,"stop zoom values must appear in ascending order")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+"[0]",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+"[0]",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Wl(si[1]))?_i.concat([new fa(Hi+"[1]",si[1],"expressions are not allowed in function stops.")]):_i.concat(Wa({key:Hi+"[1]",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+" stop domain type must match previous stop domain type "+U)];if(si!=="number"&&si!=="string"&&si!=="boolean")return[new fa(Yr.key,Ei,"stop domain value must be a number, string, or boolean")];if(si!=="number"&&I!=="categorical"){var Vi="number expected, "+si+" found";return Gs(y)&&I===void 0&&(Vi+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new fa(Yr.key,Ei,Vi)]}return I==="categorical"&&si==="number"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,"integer expected, found "+Hi)]:I!=="categorical"&&si==="number"&&ne!==void 0&&Hi=2&&m[1]!=="$id"&&m[1]!=="$type";case"in":return m.length>=3&&(typeof m[1]!="string"||Array.isArray(m[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case"any":case"all":for(var y=0,I=m.slice(1);yy?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]==="within")return!0;for(var y=1;y"||y==="<="||y===">="?He(m[1],m[2],y):y==="any"?et(m.slice(1)):y==="all"?["all"].concat(m.slice(1).map(Je)):y==="none"?["all"].concat(m.slice(1).map(Je).map(Ut)):y==="in"?Mt(m[1],m.slice(2)):y==="!in"?Ut(Mt(m[1],m.slice(2))):y==="has"?Dt(m[1]):y==="!has"?Ut(Dt(m[1])):y==="within"?m:!0;return I}function He(m,y,I){switch(m){case"$type":return["filter-type-"+I,y];case"$id":return["filter-id-"+I,y];default:return["filter-"+I,m,y]}}function et(m){return["any"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case"$type":return["filter-type-in",["literal",y]];case"$id":return["filter-id-in",["literal",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?["filter-in-large",m,["literal",y.sort(Pe)]]:["filter-in-small",m,["literal",y]]}}function Dt(m){switch(m){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",m]}}function Ut(m){return["!",m]}function tr(m){return Sr(Wl(m.value))?yt(Il({},m,{expressionContext:"filter",valueSpec:{value:"boolean"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!=="array")return[new fa(I,y,"array expected, "+Ka(y)+" found")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,"filter array must have at least 1 element")];switch(ne=ne.concat(hr({key:I+"[0]",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case"<":case"<=":case">":case">=":y.length>=2&&vo(y[1])==="$type"&&ne.push(new fa(I,y,'"$type" cannot be use with operator "'+y[0]+'"'));case"==":case"!=":y.length!==3&&ne.push(new fa(I,y,'filter array for operator "'+y[0]+'" must have 3 elements'));case"in":case"!in":y.length>=2&&(J=Ka(y[1]),J!=="string"&&ne.push(new fa(I+"[1]",y[1],"string expected, "+J+" found")));for(var fe=2;fe=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},nu.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},nu.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},nu.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},nu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U=0)){var Xt=m[mt];st[mt]=zl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error("$name property is reserved for worker serialization logic.");return Qe!=="Object"&&(st.$name=Qe),st}throw new Error("can't serialize object of type "+typeof m)}function We(m){if(m==null||typeof m=="boolean"||typeof m=="number"||typeof m=="string"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m=="object"){var y=m.$name||"Object",I=zl[y],U=I.klass;if(!U)throw new Error("can't deserialize unregistered class "+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne=0?Qe:We(Qe)}}return J}throw new Error("can't deserialize object of type "+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},"Arabic Supplement":function(m){return m>=1872&&m<=1919},"Arabic Extended-A":function(m){return m>=2208&&m<=2303},"Hangul Jamo":function(m){return m>=4352&&m<=4607},"Unified Canadian Aboriginal Syllabics":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(m){return m>=6320&&m<=6399},"General Punctuation":function(m){return m>=8192&&m<=8303},"Letterlike Symbols":function(m){return m>=8448&&m<=8527},"Number Forms":function(m){return m>=8528&&m<=8591},"Miscellaneous Technical":function(m){return m>=8960&&m<=9215},"Control Pictures":function(m){return m>=9216&&m<=9279},"Optical Character Recognition":function(m){return m>=9280&&m<=9311},"Enclosed Alphanumerics":function(m){return m>=9312&&m<=9471},"Geometric Shapes":function(m){return m>=9632&&m<=9727},"Miscellaneous Symbols":function(m){return m>=9728&&m<=9983},"Miscellaneous Symbols and Arrows":function(m){return m>=11008&&m<=11263},"CJK Radicals Supplement":function(m){return m>=11904&&m<=12031},"Kangxi Radicals":function(m){return m>=12032&&m<=12255},"Ideographic Description Characters":function(m){return m>=12272&&m<=12287},"CJK Symbols and Punctuation":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},"Hangul Compatibility Jamo":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},"Bopomofo Extended":function(m){return m>=12704&&m<=12735},"CJK Strokes":function(m){return m>=12736&&m<=12783},"Katakana Phonetic Extensions":function(m){return m>=12784&&m<=12799},"Enclosed CJK Letters and Months":function(m){return m>=12800&&m<=13055},"CJK Compatibility":function(m){return m>=13056&&m<=13311},"CJK Unified Ideographs Extension A":function(m){return m>=13312&&m<=19903},"Yijing Hexagram Symbols":function(m){return m>=19904&&m<=19967},"CJK Unified Ideographs":function(m){return m>=19968&&m<=40959},"Yi Syllables":function(m){return m>=40960&&m<=42127},"Yi Radicals":function(m){return m>=42128&&m<=42191},"Hangul Jamo Extended-A":function(m){return m>=43360&&m<=43391},"Hangul Syllables":function(m){return m>=44032&&m<=55215},"Hangul Jamo Extended-B":function(m){return m>=55216&&m<=55295},"Private Use Area":function(m){return m>=57344&&m<=63743},"CJK Compatibility Ideographs":function(m){return m>=63744&&m<=64255},"Arabic Presentation Forms-A":function(m){return m>=64336&&m<=65023},"Vertical Forms":function(m){return m>=65040&&m<=65055},"CJK Compatibility Forms":function(m){return m>=65072&&m<=65103},"Small Form Variants":function(m){return m>=65104&&m<=65135},"Arabic Presentation Forms-B":function(m){return m>=65136&&m<=65279},"Halfwidth and Fullwidth Forms":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y=65097&&m<=65103)||tt["CJK Compatibility Ideographs"](m)||tt["CJK Compatibility"](m)||tt["CJK Radicals Supplement"](m)||tt["CJK Strokes"](m)||tt["CJK Symbols and Punctuation"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt["CJK Unified Ideographs Extension A"](m)||tt["CJK Unified Ideographs"](m)||tt["Enclosed CJK Letters and Months"](m)||tt["Hangul Compatibility Jamo"](m)||tt["Hangul Jamo Extended-A"](m)||tt["Hangul Jamo Extended-B"](m)||tt["Hangul Jamo"](m)||tt["Hangul Syllables"](m)||tt.Hiragana(m)||tt["Ideographic Description Characters"](m)||tt.Kanbun(m)||tt["Kangxi Radicals"](m)||tt["Katakana Phonetic Extensions"](m)||tt.Katakana(m)&&m!==12540||tt["Halfwidth and Fullwidth Forms"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt["Small Form Variants"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt["Unified Canadian Aboriginal Syllabics"](m)||tt["Unified Canadian Aboriginal Syllabics Extended"](m)||tt["Vertical Forms"](m)||tt["Yijing Hexagram Symbols"](m)||tt["Yi Syllables"](m)||tt["Yi Radicals"](m))}function oi(m){return!!(tt["Latin-1 Supplement"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt["General Punctuation"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt["Letterlike Symbols"](m)||tt["Number Forms"](m)||tt["Miscellaneous Technical"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt["Control Pictures"](m)&&m!==9251||tt["Optical Character Recognition"](m)||tt["Enclosed Alphanumerics"](m)||tt["Geometric Shapes"](m)||tt["Miscellaneous Symbols"](m)&&!(m>=9754&&m<=9759)||tt["Miscellaneous Symbols and Arrows"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt["CJK Symbols and Punctuation"](m)||tt.Katakana(m)||tt["Private Use Area"](m)||tt["CJK Compatibility Forms"](m)||tt["Small Form Variants"](m)||tt["Halfwidth and Fullwidth Forms"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt["Arabic Supplement"](m)||tt["Arabic Extended-A"](m)||tt["Arabic Presentation Forms-A"](m)||tt["Arabic Presentation Forms-B"](m)}function Kr(m){return m>=1424&&m<=2303||tt["Arabic Presentation Forms-A"](m)||tt["Arabic Presentation Forms-B"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo("pluginStateChange",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on("pluginStateChange",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error("setRTLTextPlugin cannot be called multiple times.");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()==="deferred"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);Ithis.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(Jfe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind==="constant"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z("DataDrivenProperty",Er),Z("DataConstantProperty",At),Z("CrossFadedDataDrivenProperty",Wr),Z("CrossFadedProperty",wi),Z("ColorRampProperty",Ui);var Bi="-transition",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!=="custom"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!=="background"&&(this.source=I.source,this.sourceLayer=I["source-layer"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U==="visibility"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe="layers."+this.id+".layout."+U;if(this._validate(Vl,fe,U,J,ne))return}if(U==="visibility"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe="layers."+this.id+".paint."+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification["property-type"]==="cross-faded-data-driven",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U=this.maxzoom?!0:this.visibility==="none"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne==="layout"&&!Object.keys(J).length)&&!(ne==="paint"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind==="source"||J.value.kind==="composite")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z("StructArrayLayout2i4",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z("StructArrayLayout4i8",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z("StructArrayLayout2i4i12",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z("StructArrayLayout2i4ub8",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z("StructArrayLayout2f8",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z("StructArrayLayout10ui20",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z("StructArrayLayout4i4ui4i24",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z("StructArrayLayout3f12",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z("StructArrayLayout1ul4",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z("StructArrayLayout6i1ul2ui20",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z("StructArrayLayout2i2i2i12",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z("StructArrayLayout2f1f2i16",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z("StructArrayLayout2ub2f12",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z("StructArrayLayout3ui6",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z("StructArrayLayout8i15ui1ul4f68",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z("StructArrayLayout1f4",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z("StructArrayLayout3i6",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z("StructArrayLayout1ul2ui8",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z("StructArrayLayout2ui4",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z("StructArrayLayout1ui2",Jo);var Xl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Xl.prototype.bytesPerElement=16,Z("StructArrayLayout4f16",Xl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z("CollisionBoxArray",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z("PlacedSymbolArray",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z("SymbolInstanceArray",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z("GlyphOffsetArray",yf);var Hl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z("SymbolLineVertexArray",Hl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z("FeatureIndexArray",ef);var ls=Dn([{name:"a_pos",components:2,type:"Int16"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re("Max vertices per segment is "+ns.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-Ife.x+1||Qefe.y+1)&&re("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type==="circle"&&(fe=J.layout.get("circle-sort-key"));for(var Fe=0,Qe=y;Fe=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z("CircleBucket",ps,{omit:["layers"]});function fo(m,y){for(var I=0;I=3){for(var ne=0;ne1){if(Ev(m,y))return!0;for(var U=0;U1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fey.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;Uy.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;stJ.x&&y.x>J.x||m.yJ.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind==="constant"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I==="viewport"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function L9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function P9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var R9=om,pQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fem.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError("out of range source coordinates for image copy");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError("out of range destination coordinates for image copy");for(var fe=m.data,Fe=y.data,Qe=0;Qe80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lrst&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return Gx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===cS(m,y,I,U)>0)for(ne=y;ne=y;ne-=U)fe=yC(ne,m[ne],m[ne+1],fe);return fe&&Wx(fe,fe.next)&&(Yx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Wx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Yx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function Gx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?pC(m,U,J,ne):vC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Yx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=jx(sm(m),y,I),Gx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):Gx(sm(m),y,I,U,J,ne,1);break}}}}function vC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function pC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.xne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=oS(Fe,Qe,y,I,U),ur=oS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function jx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Wx(J,ne)&&Dw(J,U,U.next,ne)&&Xx(J,ne)&&Xx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Yx(U),Yx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=lS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),Gx(fe,y,I,U,J,ne),Gx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x=I.x&&I.x>=st&&U!==I.x&&um(Jfe.x||I.x===fe.x&&V9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function V9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=oS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,aS(J)}function aS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function oS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function sS(m){var y=m,I=m;do(y.x=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!mC(m,y)&&(Xx(m,y)&&Xx(y,m)&&H9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Wx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Wx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Zx(m,I,y)||ne===0&&Zx(m,U,y)||fe===0&&Zx(I,m,U)||Fe===0&&Zx(I,y,U))}function Zx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function mC(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Xx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function H9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function lS(m,y){var I=new uS(m.i,m.x,m.y),U=new uS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function yC(m,y,I,U){var J=new uS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Yx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function uS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(cS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=dC;function fS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||_C)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function _C(m,y){return my?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe1)for(var Qe=0;Qe>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error("unknown command "+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),JFe&&(Fe=J),nest&&(st=ne);else if(I!==7)throw new Error("unknown command "+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}vS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new dS(this._pbf,y,this.extent,this._keys,this._values)};var CC=j9;function j9(m,y){this.layers=m.readFields(W9,{},y)}function W9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var LC=CC,C1=dS,PC=vg,pg={VectorTile:LC,VectorTileFeature:C1,VectorTileLayer:PC},IC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw("fill-extrusion",this.layers,I);for(var J=0,ne=y;J=1){var Vi=_i[Hi-1];if(!Z9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),IC[y.type]==="Polygon"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Parn)||m.y===y.y&&(m.y<0||m.y>rn)}function X9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({"fill-extrusion-opacity":new At(on["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Er(on["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new At(on["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new At(on["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Wr(on["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Er(on["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Er(on["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new At(on["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get("fill-extrusion-translate"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),Qe.angle,st),ur=this.paint.get("fill-extrusion-height").evaluate(J,ne),nr=this.paint.get("fill-extrusion-base").evaluate(J,ne),Lr=Y9(Xt,mt,Qe,0),Yr=gS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return RC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function pS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?"butt":J;if(qo&&Na==="round"&&(Anne&&(Na="bevel"),Na==="bevel"&&(An>2&&(Na="flipbevel"),An100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na==="bevel"||Na==="fakeround"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na==="fakeround")for(var ou=Math.round(ra*180/Math.PI/yS),il=1;il2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>eb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(eb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z("LineBucket",Gf,{omit:["layers","patternFeatures"]});var _S=new Oi({"line-cap":new At(on.layout_line["line-cap"]),"line-join":new Er(on.layout_line["line-join"]),"line-miter-limit":new At(on.layout_line["line-miter-limit"]),"line-round-limit":new At(on.layout_line["line-round-limit"]),"line-sort-key":new Er(on.layout_line["line-sort-key"])}),xS=new Oi({"line-opacity":new Er(on.paint_line["line-opacity"]),"line-color":new Er(on.paint_line["line-color"]),"line-translate":new At(on.paint_line["line-translate"]),"line-translate-anchor":new At(on.paint_line["line-translate-anchor"]),"line-width":new Er(on.paint_line["line-width"]),"line-gap-width":new Er(on.paint_line["line-gap-width"]),"line-offset":new Er(on.paint_line["line-offset"]),"line-blur":new Er(on.paint_line["line-blur"]),"line-dasharray":new wi(on.paint_line["line-dasharray"]),"line-pattern":new Wr(on.paint_line["line-pattern"]),"line-gradient":new Ui(on.paint_line["line-gradient"])}),Nw={paint:xS,layout:_S},J9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new J9(Nw.paint.properties["line-width"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U==="line-gradient"){var J=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values["line-floorwidth"]=R.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd("line-width",this,J),xd("line-gap-width",this,J)),fe=xd("line-offset",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get("line-translate"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),Qe.angle,st),Xt=st/2*D(this.paint.get("line-width").evaluate(J,ne),this.paint.get("line-gap-width").evaluate(J,ne)),ur=this.paint.get("line-offset").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J":"\uFE40","?":"\uFE16","@":"\uFF20","[":"\uFE47","\\":"\uFF3C","]":"\uFE48","^":"\uFF3E",_:"\uFE33","`":"\uFF40","{":"\uFE37","|":"\u2015","}":"\uFE38","~":"\uFF5E","\xA2":"\uFFE0","\xA3":"\uFFE1","\xA5":"\uFFE5","\xA6":"\uFFE4","\xAC":"\uFFE2","\xAF":"\uFFE3","\u2013":"\uFE32","\u2014":"\uFE31","\u2018":"\uFE43","\u2019":"\uFE44","\u201C":"\uFE41","\u201D":"\uFE42","\u2026":"\uFE19","\u2027":"\u30FB","\u20A9":"\uFFE6","\u3001":"\uFE11","\u3002":"\uFE12","\u3008":"\uFE3F","\u3009":"\uFE40","\u300A":"\uFE3D","\u300B":"\uFE3E","\u300C":"\uFE41","\u300D":"\uFE42","\u300E":"\uFE43","\u300F":"\uFE44","\u3010":"\uFE3B","\u3011":"\uFE3C","\u3014":"\uFE39","\u3015":"\uFE3A","\u3016":"\uFE17","\u3017":"\uFE18","\uFF01":"\uFE15","\uFF08":"\uFE35","\uFF09":"\uFE36","\uFF0C":"\uFE10","\uFF0D":"\uFE32","\uFF0E":"\u30FB","\uFF1A":"\uFE13","\uFF1B":"\uFE14","\uFF1C":"\uFE3F","\uFF1E":"\uFE40","\uFF1F":"\uFE16","\uFF3B":"\uFE47","\uFF3D":"\uFE48","\uFF3F":"\uFE33","\uFF5B":"\uFE37","\uFF5C":"\u2015","\uFF5D":"\uFE38","\uFF5F":"\uFE35","\uFF60":"\uFE36","\uFF61":"\uFE12","\uFF62":"\uFE41","\uFF63":"\uFE42"};function ki(m){for(var y="",I=0;I>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error("Expected varint not more than 10 bytes")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U="",J=y;J239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function $9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne=0,mt=0,Xt=0;Xt0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=ou*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),rq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=wS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function rq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;FeU;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function xQ(m){for(var y=0,I=0;Ist){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||_Q(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function J$e(m,y,I,U,J,ne,fe,Fe,Qe){var st=bQ(U,ne,fe),mt=wQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt=0&&Vi=0&&en=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||_Q(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=TQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function AQ(m,y,I,U,J){for(var ne=[],fe=0;fe=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function SQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=UC(Xt,0,_a[0]),Vi=UC(ur,0,_a[1]),Ei=UC(Xt,_a[0],_a[2]),en=UC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=VC(nl.stretch-Hi,Ei,st,m.left),bf=HC(nl.fixed-An,ra,nl.stretch,Lr),qh=VC(Ws.stretch-Vi,en,mt,m.top),Zf=HC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=VC(Au.stretch-Hi,Ei,st,m.left),Wd=HC(Au.fixed-An,ra,Au.stretch,Lr),Oh=VC(Ou.stretch-Vi,en,mt,m.top),fv=HC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var YC=nl.stretch+nl.fixed,cq=Au.stretch+Au.fixed,KC=Ws.stretch+Ws.fixed,fq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+YC,y:ne.paddedRect.y+Gw+KC,w:cq-YC,h:fq-KC},Qw=ra/fe/st,JC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:JC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=MQ(Xt,_i,Lr),Na=MQ(ur,si,Yr),ja=0;ja0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=Q$e),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y=0)break;U[y]=Qe,y=Fe}U[y]=fe};function Q$e(m,y){return my?1:0}function eQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qene)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],tQe);if(ur===0)return new u(U,J);for(var Yr=U;Yrsi.d||!si.d)&&(si=Ei,I&&console.log("found best %d after %d probes",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log("num probes: "+Hi),console.log("best distance: "+si.d)),si.p}function tQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=rQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function rQe(m,y){for(var I=!1,U=1/0,J=0;Jm.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function iQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne=rn||y0.y<0||y0.y>=rn||oQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a==="line")for(var us=0,zo=AQ(y.geometry,0,0,rn,rn);us1){var qh=K$e(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type==="Polygon")for(var Zf=0,jd=zw(y.geometry,0);ZfD1&&re(m.layerIds[0]+': Value for "text-size" is >= '+TS+'. Reduce your "text-size".')):_i.kind==="composite"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for "text-size" is >= '+TS+'. Reduce your "text-size".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;HiD1&&re(m.layerIds[0]+': Value for "icon-size" is >= '+TS+'. Reduce your "icon-size".')):hv.kind==="composite"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for "icon-size" is >= '+TS+'. Reduce your "icon-size".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get("text-rotate").evaluate(Vi,{},ra);Pa=new GC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=kQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(ou+=kQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,["vertical"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,YC=qo?qo.boxStartIndex:m.collisionBoxArray.length,cq=qo?qo.boxEndIndex:m.collisionBoxArray.length,KC=ja?ja.boxStartIndex:m.collisionBoxArray.length,fq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(MS,jQ){return MS&&MS.circleDiameter?Math.max(MS.circleDiameter,jQ):jQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var JC=jp>-1?1:0;JC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=au.MAX_GLYPHS&&re("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,YC,cq,KC,fq,st,rl,ou,us,zo,JC,0,ur,Ou,nf,jp)}function sQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])0)&&(fe.value.kind!=="constant"||fe.value.value.length>0),mt=Qe.value.kind!=="constant"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get("symbol-sort-key");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i=0;for(var ou=0,il=Ba.sections;ou=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st0},au.prototype.hasIconData=function(){return this.icon.segments.get().length>0},au.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},au.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},au.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},au.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z("SymbolBucket",au,{omit:["layers","collisionBoxArray","features","compareText"]}),au.MAX_GLYPHS=65535,au.addDynamicAttributes=aq;function fQe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):""})}var hQe=new Oi({"symbol-placement":new At(on.layout_symbol["symbol-placement"]),"symbol-spacing":new At(on.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new At(on.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Er(on.layout_symbol["symbol-sort-key"]),"symbol-z-order":new At(on.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new At(on.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new At(on.layout_symbol["icon-ignore-placement"]),"icon-optional":new At(on.layout_symbol["icon-optional"]),"icon-rotation-alignment":new At(on.layout_symbol["icon-rotation-alignment"]),"icon-size":new Er(on.layout_symbol["icon-size"]),"icon-text-fit":new At(on.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new At(on.layout_symbol["icon-text-fit-padding"]),"icon-image":new Er(on.layout_symbol["icon-image"]),"icon-rotate":new Er(on.layout_symbol["icon-rotate"]),"icon-padding":new At(on.layout_symbol["icon-padding"]),"icon-keep-upright":new At(on.layout_symbol["icon-keep-upright"]),"icon-offset":new Er(on.layout_symbol["icon-offset"]),"icon-anchor":new Er(on.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new At(on.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new At(on.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new At(on.layout_symbol["text-rotation-alignment"]),"text-field":new Er(on.layout_symbol["text-field"]),"text-font":new Er(on.layout_symbol["text-font"]),"text-size":new Er(on.layout_symbol["text-size"]),"text-max-width":new Er(on.layout_symbol["text-max-width"]),"text-line-height":new At(on.layout_symbol["text-line-height"]),"text-letter-spacing":new Er(on.layout_symbol["text-letter-spacing"]),"text-justify":new Er(on.layout_symbol["text-justify"]),"text-radial-offset":new Er(on.layout_symbol["text-radial-offset"]),"text-variable-anchor":new At(on.layout_symbol["text-variable-anchor"]),"text-anchor":new Er(on.layout_symbol["text-anchor"]),"text-max-angle":new At(on.layout_symbol["text-max-angle"]),"text-writing-mode":new At(on.layout_symbol["text-writing-mode"]),"text-rotate":new Er(on.layout_symbol["text-rotate"]),"text-padding":new At(on.layout_symbol["text-padding"]),"text-keep-upright":new At(on.layout_symbol["text-keep-upright"]),"text-transform":new Er(on.layout_symbol["text-transform"]),"text-offset":new Er(on.layout_symbol["text-offset"]),"text-allow-overlap":new At(on.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new At(on.layout_symbol["text-ignore-placement"]),"text-optional":new At(on.layout_symbol["text-optional"])}),dQe=new Oi({"icon-opacity":new Er(on.paint_symbol["icon-opacity"]),"icon-color":new Er(on.paint_symbol["icon-color"]),"icon-halo-color":new Er(on.paint_symbol["icon-halo-color"]),"icon-halo-width":new Er(on.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Er(on.paint_symbol["icon-halo-blur"]),"icon-translate":new At(on.paint_symbol["icon-translate"]),"icon-translate-anchor":new At(on.paint_symbol["icon-translate-anchor"]),"text-opacity":new Er(on.paint_symbol["text-opacity"]),"text-color":new Er(on.paint_symbol["text-color"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),"text-halo-color":new Er(on.paint_symbol["text-halo-color"]),"text-halo-width":new Er(on.paint_symbol["text-halo-width"]),"text-halo-blur":new Er(on.paint_symbol["text-halo-blur"]),"text-translate":new At(on.paint_symbol["text-translate"]),"text-translate-anchor":new At(on.paint_symbol["text-translate-anchor"])}),oq={paint:dQe,layout:hQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z("FormatSectionOverride",Yw,{omit:["defaultValue"]});var vQe=function(m){function y(I){m.call(this,I,oq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){var ne=this.layout.get("text-writing-mode");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===""){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===""){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:"",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split("."),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error("Could not find function "+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};function SQe(m,y,I){y=Math.pow(2,I)-y-1;var U=DQ(m*256,y*256,I),J=DQ((m+1)*256,(y+1)*256,I);return U[0]+","+U[1]+","+J[0]+","+J[1]}function DQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var zQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error("Invalid LngLat object: ("+y+", "+I+")");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=zQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y=="object"&&y!==null)return new sc(Number("lng"in y?y.lng:y.lon),Number(y.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var FQ=2*Math.PI*zQ;function qQ(m){return FQ*Math.cos(m*Math.PI/180)}function OQ(m){return(180+m)/360}function BQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function NQ(m,y){return m/qQ(y)}function MQe(m){return m*360-180}function lq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function EQe(m,y){return m*qQ(lq(y))}function kQe(m){return 1/Math.cos(m*Math.PI/180)}var ib=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};ib.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new ib(OQ(U.lng),BQ(U.lat),NQ(I,U.lat))},ib.prototype.toLngLat=function(){return new sc(MQe(this.x),lq(this.y))},ib.prototype.toAltitude=function(){return EQe(this.z,this.y)},ib.prototype.meterInMercatorCoordinateUnits=function(){return 1/FQ*kQe(lq(this.y))};var nb=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=SS(0,y,y,I,U)};nb.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},nb.prototype.url=function(y,I){var U=SQe(this.x,this.y,this.z),J=CQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String(I==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",J).replace("{bbox-epsg-3857}",U)},nb.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},nb.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var UQ=function(y,I){this.wrap=y,this.canonical=I,this.key=SS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new nb(U,+J,+ne),this.key=SS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?SS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):SS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrapy.wrap?!1:this.overscaledZy.overscaledZ?!1:this.canonical.xy.canonical.x?!1:this.canonical.y0;ne--)J=1<=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error("dem dimension mismatch");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new ZC(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=HQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=HQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(PQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;enJ)ne=!1;else if(!I)ne=!0;else if(this.expirationTime=Ha.maxzoom)&&Ha.visibility!=="none"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send("getGlyphs",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send("getImages",{icons:zi,source:this.source,tileID:this.tileID,type:"icons"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send("getImages",{icons:Yi,source:this.source,tileID:this.tileID,type:"patterns"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status="done",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,"id"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);kaKi;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log("z%d: %d clusters in %dms",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd("total time"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gijt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:"Feature",id:It.id,properties:Rt(It),geometry:{type:"Point",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+"k":ft>=1e3?Math.round(ft/100)/10+"k":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Giyr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);kaZt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It=="undefined"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt==="Point"||jt==="MultiPoint"||jt==="LineString")dt(It,ft);else if(jt==="Polygon"||jt==="MultiLineString")for(var Zt=0;Zt0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr=Zt)return null;for(var gi=[],Si=0;Si=jt&&ka=Zt)continue;var jn=[];if(Gi==="Point"||Gi==="MultiPoint")Ne(Pi,jn,jt,Zt,yr);else if(Gi==="LineString")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi==="MultiLineString")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi==="Polygon")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi==="MultiPolygon")for(var la=0;la=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gijt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;ZrZr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr==="Point"||Fr==="MultiPoint")for(var Vr=0;Vr0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;giZr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt0===ft)for(Zt=0,yr=It.length;Zt24)throw new Error("maxZoom should be in the 0-24 range");if(ft.promoteId&&ft.generateId)throw new Error("promoteId and generateId cannot be used together.");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",ft.indexMaxZoom,ft.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<1&&console.time("creation"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd("creation"));var Ki="z"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<1&&console.time("clipping");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd("clipping"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<1&&console.log("drilling down to z%d-%d-%d",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log("found parent tile z%d-%d-%d",gi,Si,Mi),Fr>1&&console.time("drilling down"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd("drilling down"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?"@2x":"",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,".json"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,".png"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var g=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O65535){Kt(new Error("glyphs > 65535 not supported"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce("LineAtlas out of space"),null;for(var pe=0,de=0;de=O.minX&&z.x=O.minY&&z.y0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+10&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event("data",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:"source",sourceDataType:"content"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event("data",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send("geojson.getClusterChildren",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de=="string"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+".loadData",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+".coalesce",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?"reloadTile":"loadTile";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de==="reloadTile"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send("removeTile",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event("dataloading",{dataType:"source"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"metadata"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"content"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!=="loaded"&&(de.state="loaded",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state="errored",$(null))},z.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+$.start(0)+" and "+$.end(0)+"-second mark."))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!=="loaded"&&(de.state="loaded",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!="number"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'missing required property "coordinates"'))),O.animate&&typeof O.animate!="boolean"&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'optional "animate" property must be a boolean value'))),O.canvas?typeof O.canvas!="string"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'missing required property "canvas"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!=="loaded"&&(Ie.state="loaded",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,"raster-dem":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error("Expected Source id to be "+Y+" instead of "+$.id);return i.bindAll(["load","abort","unload","serialize","prepare"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type==="fill-extrusion")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type==="fill-extrusion")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Ktthis.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vtthis._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e0)&&($.hasData()&&$.state!=="reloading"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||"_geojsonTileLayer",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||"_geojsonTileLayer",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||"_geojsonTileLayer",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,"reloading")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y==="raster"||Y==="image"||Y==="video"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi="mapboxgl_preloaded_worker_pool",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;dethis.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;prIe*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rrpe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.yK.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.xQn.x||as.yQn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu=this.screenRightBoundary||$this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z=0&&K0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get("text-optional"),dr=Ie.get("icon-optional"),pr=Ie.get("text-allow-overlap"),kr=Ie.get("icon-allow-overlap"),Ar=Ie.get("text-rotation-alignment")==="map",gr=Ie.get("text-pitch-alignment")==="map",Cr=Ie.get("icon-text-fit")!=="none",cr=Ie.get("symbol-z-order")==="viewport-y",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Yl=rn.textBoxScale,Bx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv=Nd.length,Nx=$.attemptAnchorPlacement(om,Fu,sy,A1,Yl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Bx);if(Nx&&(am=Nx.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Nx.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get("text-padding"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get("text-ignore-placement"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get("text-ignore-placement"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get("icon-ignore-placement"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get("text-ignore-placement"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,"left",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rrz},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Il=Math.pow(2,17),vo=Math.pow(2,16),Wl=Math.pow(2,9),Ks=Math.pow(2,8),Zl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Il+z*vo+K*Wl+z*Ks+K*Zl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get("symbol-z-order")!=="viewport-y"&&z.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type==="symbol"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt0)throw new Error("Unimplemented: "+de.map(function(Ie){return Ie.command}).join(", ")+".");return pe.forEach(function(Ie){Ie.command!=="setTransition"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new i.Event("data",{dataType:"style"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error("There is already a source with this ID");if(!$.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys($).join(", ")+".");var Ie=["vector","raster","geojson","video","image"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,"sources."+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error("There is no source with this ID");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source "'+O+'" cannot be removed while layer "'+$+'" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id "'+de+'" already exists on this map')));return}var Ie;if(O.type==="custom"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source=="object"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,"layers."+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+$+'" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!=="custom"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]="clear":(this._updatedSources[Ie.source]="reload",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be moved.")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+$+'" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be removed.")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot have zoom extent.")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be filtered.")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,"layers."+de.id+".filter",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style.")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+pe+"' does not exist in the map's style.")));return}var $e=Ie.getSource().type;if($e==="geojson"&&de){this.fire(new i.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if($e==="vector"&&!de){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+pe+"' does not exist in the map's style.")));return}var Ie=de.getSource().type,$e=Ie==="vector"?O.sourceLayer:void 0;if(Ie==="vector"&&!$e){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if($&&typeof O.id!="string"&&typeof O.id!="number"){this.fire(new i.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+$+"' does not exist in the map's style.")));return}var Ie=de.getSource().type;if(Ie==="vector"&&!pe){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!=="raster"&&(this._updatedSources[O.source]="reload",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type==="fill-extrusion"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id] 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`,Ml=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Yh=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`,Eh=`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,nh="uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}",hf=`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,kh="uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}",Kh=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,rc=` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,ah=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Wc=` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,df=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Cu=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`,Nf=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Zc=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`,ds=`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Ch="uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Jh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}`,Cf=`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,pd=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Lu=`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,$h=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,eu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Ul),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),tu=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,O=z.match(/attribute ([\w]+) ([\w]+)/g),$=Y.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),pe=z.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +varying `+Kt+" "+ir+" "+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:` +#ifdef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir==="float"?"vec2":"vec4",Pt=Jt.match(/color/)?"color":vt;return Ie[Jt]?pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +uniform lowp float u_`+Jt+`_t; +attribute `+Kt+" "+vt+" a_"+Jt+`; +varying `+Kt+" "+ir+" "+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:Pt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Jt+" = a_"+Jt+`; +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Jt+" = unpack_mix_"+Pt+"(a_"+Jt+", u_"+Jt+`_t); +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +uniform lowp float u_`+Jt+`_t; +attribute `+Kt+" "+vt+" a_"+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:Pt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = a_"+Jt+`; +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = unpack_mix_"+Pt+"(a_"+Jt+", u_"+Jt+`_t); +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:eu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:tu,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Rl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get("position"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get("anchor")==="viewport"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get("color");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get("intensity"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},ru=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get("circle-pitch-alignment")==="map"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get("circle-pitch-scale")==="map"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get("circle-translate"),O.paint.get("circle-translate-anchor")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get("heatmap-opacity")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get("hillshade-shadow-color"),$=K.paint.get("hillshade-highlight-color"),pe=K.paint.get("hillshade-accent-color"),de=K.paint.get("hillshade-illumination-direction")*(Math.PI/180);K.paint.get("hillshade-illumination-anchor")==="viewport"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get("hillshade-exaggeration"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get("line-cap")==="round",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get("line-translate"),K.paint.get("line-translate-anchor"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get("raster-brightness-min"),u_brightness_high:$.paint.get("raster-brightness-max"),u_saturation_factor:vs($.paint.get("raster-saturation")),u_contrast_factor:Ka($.paint.get("raster-contrast")),u_spin_weights:ia($.paint.get("raster-hue-rotate"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},iu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y==="constant"||Y==="source"),u_is_size_feature_constant:+(Y==="constant"||Y==="camera"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Rl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:ru,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:iu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram("collisionBox"),Kt=[],ir=0,Jt=0,vt=0;vt0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram("collisionCircle"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get("background-color"),$=K.paint.get("background-opacity");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get("background-pattern");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?"opaque":"translucent";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt==="opaque"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?"backgroundPattern":"background"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr "+K.overscaledZ);var dr=rr+" "+vt+"kb";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext("2d");$.clearRect(0,0,K.width,K.height),$.shadowColor="white",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle="white",$.textBaseline="top",$.font="bold 36px Open Sans, sans-serif",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass==="offscreen"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass==="translucent"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode==="3d"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,"fill-extrusion":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type==="symbol"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=""+z+(K?K.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;irthis.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&Kz.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-zK&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error("failed to invert matrix");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Vl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Vl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Vl.prototype.remove=function(){return i.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Vl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt="";if(z?Kt+="/"+de+"/"+Ie+"/"+O:Kt+=O+"/"+Ie+"/"+de,($e||pt)&&(Kt+="/"+Math.round($e*10)/10),pt&&(Kt+="/"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split("&").map(function(Pt){var Wt=Pt.split("=")[0];return Wt===ir?(Jt=!0,Wt+"="+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+"="+Kt),"#"+vt.join("&")}return"#"+Kt},Vl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace("#","");if(this._hashName){var O;return K.split("&").map(function($){return $.split("=")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||"").split("/")}return K.split("/")},Vl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Vl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),nu=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),Dl=function(z){this._map=z,this.clear()};Dl.prototype.clear=function(){this._inertiaBuffer=[]},Dl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},Dl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},Dl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,zl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,zl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,nu);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),zl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,zl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function zl(Y,z){(!Y.duration||Y.duration=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens("contextmenu")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(IeMath.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:"keyboardHandler",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll(["_onTimeout"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around==="center")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type="wheel":K!==0&&Math.abs(K)<4?this._type="trackpad":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type==="wheel"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom=="number"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type==="wheel"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom=="number"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type==="wheel"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Dl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll(["handleEvent","handleWindowEvent"],this);var O=this._el;this._listeners=[[O,"touchstart",{passive:!0}],[O,"touchmove",{passive:!1}],[O,"touchend",void 0],[O,"touchcancel",void 0],[O,"mousedown",void 0],[O,"mousemove",void 0],[O,"mouseup",void 0],[i.window.document,"mousemove",{capture:!0}],[i.window.document,"mouseup",void 0],[O,"mouseover",void 0],[O,"mouseout",void 0],[O,"dblclick",void 0],[O,"click",void 0],[O,"keydown",{capture:!1}],[O,"keyup",void 0],[O,"wheel",{passive:!1}],[O,"contextmenu",void 0],[i.window,"blur",void 0]];for(var $=0,pe=this._listeners;$Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event("movestart",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event("zoomstart",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event("rotatestart",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event("pitchstart",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event("move",O)),this._zooming&&this.fire(new i.Event("zoom",O)),this._rotating&&this.fire(new i.Event("rotate",O)),this._pitching&&this.fire(new i.Event("pitch",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event("zoomend",O)),de&&this.fire(new i.Event("rotateend",O)),Ie&&this.fire(new i.Event("pitchend",O)),this.fire(new i.Event("moveend",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,["center","zoom","bearing","pitch","around"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt="zoom"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt="bearing"in O?this._normalizeBearing(O.bearing,pt):pt,Pt="pitch"in O?+O.pitch:Kt,Wt="padding"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if("minZoom"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=eiO.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Rn.prototype.getDefaultPosition=function(){return"bottom-right"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),K&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),K===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString("AttributionControl."+K);z.title=O,z.setAttribute("aria-label",O)},Rn.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(".mapbox-improve-map"));var K=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+"="+pe.value+(de=0)return!1;return!0});var Ie=z.join(" | ");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Dn=function(){i.bindAll(["_updateLogo"],this),i.bindAll(["_updateCompact"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create("div","mapboxgl-ctrl");var K=o.create("a","mapboxgl-ctrl-logo");return K.target="_blank",K.rel="noopener nofollow",K.href="https://www.mapbox.com/",K.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),K.setAttribute("rel","noopener nofollow"),this._container.appendChild(K),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return"bottom-left"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType==="metadata")&&(this._container.style.display=this._logoRequired()?"block":"none")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add("mapboxgl-compact"):K.classList.remove("mapboxgl-compact")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$O.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(O.minPitch!=null&&O.minPitchZa)throw new Error("maxPitch must be less than or equal to "+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container=="string"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error("Container '"+O.container+"' not found.")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error("Invalid type: 'container' must be a String or HTMLElement.");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return $._update(!1)}),this.on("moveend",function(){return $._update(!1)}),this.on("zoom",function(){return $._update(!0)}),typeof i.window!="undefined"&&(i.window.addEventListener("online",this._onWindowOnline,!1),i.window.addEventListener("resize",this._onWindowResize,!1),i.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash=="string"&&O.hash||void 0;this._hash=O.hash&&new Vl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on("style.load",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on("data",function(Ie){$._update(Ie.dataType==="style"),$.fire(new i.Event(Ie.dataType+"data",Ie))}),this.on("dataloading",function(Ie){$.fire(new i.Event(Ie.dataType+"dataloading",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe="top-right"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf("bottom")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event("movestart",$)).fire(new i.Event("move",$))),this.fire(new i.Event("resize",$)),$e&&this.fire(new i.Event("moveend",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error("minZoom must be between "+gn+" and the current maxZoom, inclusive")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error("maxZoom must be greater than the current minZoom")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error("minPitch must be between "+Kn+" and the current maxPitch, inclusive")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error("maxPitch must be less than or equal to "+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error("maxPitch must be greater than the current minPitch")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($==="mouseenter"||$==="mouseover"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($==="mouseleave"||$==="mouseout"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove("mapboxgl-"+K+"-anchor-"+$);O.add("mapboxgl-"+K+"-anchor-"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=K&&K.anchor||"center",this._color=K&&K.color||"#3FB1CE",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||"auto",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!=="auto"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create("div"),this._element.setAttribute("aria-label","Map marker");var $=o.createNS("http://www.w3.org/2000/svg","svg"),pe=41,de=27;$.setAttributeNS(null,"display","block"),$.setAttributeNS(null,"height",pe+"px"),$.setAttributeNS(null,"width",de+"px"),$.setAttributeNS(null,"viewBox","0 0 "+de+" "+pe);var Ie=o.createNS("http://www.w3.org/2000/svg","g");Ie.setAttributeNS(null,"stroke","none"),Ie.setAttributeNS(null,"stroke-width","1"),Ie.setAttributeNS(null,"fill","none"),Ie.setAttributeNS(null,"fill-rule","evenodd");var $e=o.createNS("http://www.w3.org/2000/svg","g");$e.setAttributeNS(null,"fill-rule","nonzero");var pt=o.createNS("http://www.w3.org/2000/svg","g");pt.setAttributeNS(null,"transform","translate(3.0, 29.0)"),pt.setAttributeNS(null,"fill","#000000");for(var Kt=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}],ir=0,Jt=Kt;ir=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new i.Event("dragstart"))),this.fire(new i.Event("drag")))},z.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new i.Event("dragend")),this._state="inactive"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||"auto",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!=="auto"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:"geolocation"}).then(function(z){_o=z.state!=="denied",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Xl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Jo=0,Xl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event("outofmaxbounds",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("geolocate",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+"px",this._circleElement.style.height=Ie+"px"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var $=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=$,this._geolocateButton.setAttribute("aria-label",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Xl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("error",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener("contextmenu",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create("button","mapboxgl-ctrl-geolocate",this._container),o.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",O===!1){i.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var pe=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute("aria-label",pe)}else{var de=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=de,this._geolocateButton.setAttribute("aria-label",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Jn({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type==="resize";!Ie.geolocateSource&&$._watchState==="ACTIVE_LOCK"&&!$e&&($._watchState="BACKGROUND",$._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),$._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),$.fire(new i.Event("trackuserlocationend")))})},z.prototype.trigger=function(){if(!this._setup)return i.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new i.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Jo--,Xl=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new i.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new i.Event("trackuserlocationstart"));break}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");break}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Xl=!0):(O=this.options.positionOptions,Xl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},z}(i.Evented),xs={maxWidth:100,unit:"metric"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll(["_onMove","setUnit"],this)};Qc.prototype.getDefaultPosition=function(){return"bottom-left"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",z.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit==="imperial"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString("ScaleControl.Miles"))}else bc(z,O,$e,Y._getUIString("ScaleControl.Feet"))}else if(K&&K.unit==="nautical"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString("ScaleControl.NauticalMiles"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString("ScaleControl.Kilometers")):bc(z,O,Ie,Y._getUIString("ScaleControl.Meters"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+"px",Y.innerHTML=$+" "+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(""+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Hl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce("Full screen control 'container' must be a DOM element.")),i.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in i.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in i.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in i.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in i.window.document&&(this._fullscreenchange="MSFullscreenChange")};Hl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",i.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Hl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Hl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o.create("span","mapboxgl-ctrl-icon",z).setAttribute("aria-hidden",!0),z.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute("aria-label",z),this._fullscreenButton.title=z},Hl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Hl.prototype._isFullscreen=function(){return this._fullscreen},Hl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Hl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},ef=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new i.Event("open")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new i.Event("close")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},z.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement("body"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=o.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(vt){return $._container.classList.add(vt)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.ythis._map.transform.height-Kt?ir=["bottom"]:ir=[],de.xthis._map.transform.width-pt/2&&ir.push("right"),ir.length===0?Ie="bottom":Ie=ir.join("-")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+" translate("+Jt.x+"px,"+Jt.y+"px)"),Ao(this._container,Ie,"popup")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y=="number"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),"top-left":new i.Point(z,z),"top-right":new i.Point(-z,z),bottom:new i.Point(0,-Y),"bottom-left":new i.Point(z,-z),"bottom-right":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,"top-left":K,"top-right":K,bottom:K,"bottom-left":K,"bottom-right":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),"top-left":i.Point.convert(Y["top-left"]||[0,0]),"top-right":i.Point.convert(Y["top-right"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),"bottom-left":i.Point.convert(Y["bottom-left"]||[0,0]),"bottom-right":i.Point.convert(Y["bottom-right"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Hl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:""};return ns}),r})});var HUe=ye((Syr,VUe)=>{"use strict";var tw=Mr(),xHt=Ll().sanitizeHTML,bHt=UK(),BUe=c1();function NUe(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=BUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=NUe.prototype;ig.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=jF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!jF(e)){var r=wHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function UUe(e){var t={},r={};switch(e.type){case"circle":tw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":tw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":tw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=bHt(n.textposition,n.iconsize);tw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),tw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":tw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function wHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=xHt(e.sourceattribution)),n}VUe.exports=function(t,r,n){var i=new NUe(t,r);return i.update(n),i}});var $Ue=ye((Myr,JUe)=>{"use strict";var XK=ZK(),YK=Mr(),ZUe=ix(),GUe=ba(),THt=Qa(),AHt=gv(),WF=Nc(),XUe=Sg(),SHt=XUe.drawMode,MHt=XUe.selectMode,EHt=wf().prepSelect,kHt=wf().clearOutline,CHt=wf().clearSelectionsCache,LHt=wf().selectOnClick,yx=c1(),PHt=HUe();function YUe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=YUe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=KUe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new XK.Map({container:i.div,style:o.style,center:KK(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new XK.AttributionControl({compact:!0}));u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once("load",f)})),c=c.concat(ZUe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=KUe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(ZUe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&LHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&WF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=YK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),MHt(a)||SHt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){EHt(l,u,c,t.dragOptions,a)},AHt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var JK=Mr(),IHt=k_(),RHt=Zd(),QUe=Pk();eVe.exports=function(t,r,n){IHt(t,r,n,{type:"mapbox",attributes:QUe,handleDefaults:DHt,partition:"y",accessToken:r._mapboxAccessToken})};function DHt(e,t,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var i=r("bounds.west"),a=r("bounds.east"),o=r("bounds.south"),s=r("bounds.north");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,RHt(e,t,{name:"layers",handleItemDefaults:zHt}),t._input=e}function zHt(e,t){function r(l,u){return JK.coerce(e,t,QUe.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",JK.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),JK.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var ZF=ye(Np=>{"use strict";var rVe=ZK(),tm=Mr(),$K=tm.strTranslate,FHt=tm.strScale,qHt=kd().getSubplotCalcData,OHt=Zp(),BHt=xa(),iVe=ao(),NHt=Ll(),UHt=$Ue(),_x="mapbox",Qm=Np.constants=c1();Np.name=_x;Np.attr="subplot";Np.idRoot=_x;Np.idRegex=Np.attrRegex=tm.counterRegex(_x);var VHt=["mapbox subplots and traces are deprecated!","Please consider switching to `map` subplots and traces.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");Np.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}};Np.layoutAttributes=Pk();Np.supplyLayoutDefaults=tVe();var nVe=!0;Np.plot=function(t){nVe&&(nVe=!1,tm.warn(VHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[_x];if(rVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=HHt(t,i);rVe.accessToken=a;for(var o=0;og/2){var E=d.split("|").join("
");x.text(E).attr("data-unformatted",E).call(NHt.convertToTspans,e),b=iVe.bBox(x.node())}x.attr("transform",$K(-3,-b.height+8)),v.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;b.width+6>g&&(k=g/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr("transform",$K(A[0],A[1])+FHt(k))}};function HHt(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken==="")return"";for(var i=[],a=[],o=!1,s=!1,l=0;l1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}function aVe(e){return typeof e=="string"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf("mapbox://")===0||e.indexOf("stamen")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[_x],n=0;n{"use strict";var Cyr=["*scattermapbox* trace is deprecated!","Please consider switching to the *scattermap* trace type and `map` subplots.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");oVe.exports={attributes:BF(),supplyDefaults:yUe(),colorbar:Kd(),formatLabels:NK(),calc:lz(),plot:IUe(),hoverPoints:GF().hoverPoints,eventData:FUe(),selectPoints:OUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermapbox",basePlotModule:ZF(),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}});var uVe=ye((Pyr,lVe)=>{"use strict";lVe.exports=sVe()});var QK=ye((Iyr,cVe)=>{"use strict";var f1=J5(),GHt=Kl(),jHt=Wo().hovertemplateAttrs,WHt=vl(),xx=no().extendFlat;cVe.exports=xx({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:xx({},f1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:xx({},f1.marker.line.color,{editType:"plot"}),width:xx({},f1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:xx({},f1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:xx({},f1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:xx({},f1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:f1.hoverinfo,hovertemplate:jHt({},{keys:["properties"]}),showlegend:xx({},WHt.showlegend,{dflt:!1})},GHt("",{cLetter:"z",editTypeOverride:"calc"}))});var hVe=ye((Ryr,fVe)=>{"use strict";var zk=Mr(),ZHt=Uh(),XHt=QK();fVe.exports=function(t,r,n,i){function a(c,f){return zk.coerce(t,r,XHt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!zk.isArrayOrTypedArray(o)||!o.length||!zk.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||zk.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),ZHt(t,r,i,a,{prefix:"",cLetter:"z"}),zk.coerceSelectionMarkerOpacity(r,a)}});var eJ=ye((Dyr,pVe)=>{"use strict";var YHt=uo(),h1=Mr(),KHt=Mu(),JHt=ao(),$Ht=tx().makeBlank,dVe=ix();function QHt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:$Ht()};if(!r)return a;var o=dVe.extractTraceFeature(e);if(!o)return a;var s=KHt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return YHt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d{"use strict";var mVe=eJ().convert,eGt=eJ().convertOnSelect,gVe=c1().traceLayerPrefix;function yVe(e,t){this.type="choroplethmapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",gVe+t+"-fill"],["line",gVe+t+"-line"]],this.below=null}var TA=yVe.prototype;TA.update=function(e){this._update(mVe(e)),e[0].trace._glTrace=this};TA.updateOnSelect=function(e){this._update(eGt(e))};TA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};TA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};_Ve.exports=function(t,r){var n=r[0].trace,i=new yVe(t,n.uid),a=i.sourceId,o=mVe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var wVe=ye((qyr,bVe)=>{"use strict";var Fyr=["*choroplethmapbox* trace is deprecated!","Please consider switching to the *choroplethmap* trace type and `map` subplots.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");bVe.exports={attributes:QK(),supplyDefaults:hVe(),colorbar:S_(),calc:Lz(),plot:xVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";TVe.exports=wVe()});var rJ=ye((Byr,MVe)=>{"use strict";var tGt=Kl(),rGt=Wo().hovertemplateAttrs,SVe=vl(),XF=BF(),tJ=no().extendFlat;MVe.exports=tJ({lon:XF.lon,lat:XF.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:XF.text,hovertext:XF.hovertext,hoverinfo:tJ({},SVe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:rGt(),showlegend:tJ({},SVe.showlegend,{dflt:!1})},tGt("",{cLetter:"z",editTypeOverride:"calc"}))});var kVe=ye((Nyr,EVe)=>{"use strict";var iGt=Mr(),nGt=Uh(),aGt=rJ();EVe.exports=function(t,r,n,i){function a(u,c){return iGt.coerce(t,r,aGt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),nGt(t,r,i,a,{prefix:"",cLetter:"z"})}});var PVe=ye((Uyr,LVe)=>{"use strict";var iJ=uo(),oGt=Mr().isArrayOrTypedArray,nJ=es().BADNUM,sGt=zv(),CVe=Mr()._;LVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=oGt(a)&&a.length,s=0;s{"use strict";var lGt=uo(),aJ=Mr(),IVe=va(),RVe=Mu(),DVe=es().BADNUM,uGt=tx().makeBlank;zVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:uGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=aJ.isArrayOrTypedArray(l)&&l.length,f=aJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:d},properties:v})}}var b=RVe.extractOpts(r),g=b.reversescale?RVe.flipScale(b.colorscale):b.colorscale,E=g[0][1],k=IVe.opacity(E)<1?E:IVe.addOpacity(E,0),A=["interpolate",["linear"],["heatmap-density"],0,k];for(s=1;s{"use strict";var qVe=FVe(),cGt=c1().traceLayerPrefix;function OVe(e,t){this.type="densitymapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",cGt+t+"-heatmap"]],this.below=null}var YF=OVe.prototype;YF.update=function(e){var t=this.subplot,r=this.layerList,n=qVe(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};YF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};BVe.exports=function(t,r){var n=r[0].trace,i=new OVe(t,n.uid),a=i.sourceId,o=qVe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var VVe=ye((Gyr,UVe)=>{"use strict";var fGt=Qa(),hGt=GF().hoverPoints,dGt=GF().getExtraText;UVe.exports=function(t,r,n){var i=hGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=fGt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=dGt(s,l,o[0].t.labels),[a]}}});var GVe=ye((jyr,HVe)=>{"use strict";HVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var WVe=ye((Zyr,jVe)=>{"use strict";var Wyr=["*densitymapbox* trace is deprecated!","Please consider switching to the *densitymap* trace type and `map` subplots.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");jVe.exports={attributes:rJ(),supplyDefaults:kVe(),colorbar:S_(),formatLabels:NK(),calc:PVe(),plot:NVe(),hoverPoints:VVe(),eventData:GVe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";ZVe.exports=WVe()});var KVe=ye((Yyr,YVe)=>{YVe.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:"viewport",color:"white",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:"raster",tiles:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],tileSize:256,maxzoom:18,attribution:"ESRI © ESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}},{id:"waterway_tunnel",type:"line",source:"openmaptiles","source-layer":"waterway",minzoom:14,filter:["all",["in","class","river","stream","canal"],["==","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]},"line-dasharray":[2,4]}},{id:"waterway-other",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["!in","class","canal","river","stream"],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:"waterway-stream-canal",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["in","class","canal","stream"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:"waterway-river",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["==","class","river"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.2,stops:[[10,.8],[20,4]]},"line-opacity":.5}},{id:"water-offset",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",maxzoom:8,filter:["==","$type","Polygon"],layout:{visibility:"visible"},paint:{"fill-opacity":0,"fill-color":"#a0c8f0","fill-translate":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:"water",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-color":"hsl(210, 67%, 85%)","fill-opacity":0}},{id:"water-pattern",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-translate":[0,2.5],"fill-pattern":"wave","fill-opacity":1}},{id:"landcover-ice-shelf",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"landcover",filter:["==","subclass","ice_shelf"],layout:{visibility:"visible"},paint:{"fill-color":"#fff","fill-opacity":{base:1,stops:[[0,.9],[10,.3]]}}},{id:"tunnel-service-track-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:"tunnel-minor-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,1]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"tunnel-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"tunnel-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.7}},{id:"tunnel-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"tunnel-service-track",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:"tunnel-minor",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor_road"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-opacity":1,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"tunnel-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:"tunnel-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-motorway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#ffdaa6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-railway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},"line-dasharray":[2,2]}},{id:"ferry",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["in","class","ferry"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(108, 159, 182, 1)","line-width":1.1,"line-dasharray":[2,2]}},{id:"aeroway-taxiway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","taxiway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,2],[17,12]]},"line-opacity":1}},{id:"aeroway-runway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","runway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,5],[17,55]]},"line-opacity":1}},{id:"aeroway-taxiway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","taxiway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,1],[17,10]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"aeroway-runway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","runway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,4],[17,50]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"highway-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-minor-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,0]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"highway-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":.5,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"highway-primary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[7,0],[8,.6]]},"line-width":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:"highway-trunk-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[5,0],[6,.5]]},"line-width":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:"highway-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:4,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":{stops:[[4,0],[5,.5]]}}},{id:"highway-path",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"highway-motorway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-minor",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-opacity":.5,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"highway-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},"line-opacity":.5}},{id:"highway-primary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},"line-opacity":0}},{id:"highway-trunk",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"highway-motorway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"railway-transit",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-transit-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway-service",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-service-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"railway-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"bridge-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:"bridge-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(28, 76%, 67%)","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:"bridge-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"bridge-path-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#f8f4f0","line-width":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#cba","line-width":{base:1.2,stops:[[15,1.2],[20,4]]},"line-dasharray":[1.5,.75]}},{id:"bridge-motorway-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:"bridge-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:"bridge-motorway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"bridge-railway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"bridge-railway-hatching",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"cablecar",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,1],[19,2.5]]}}},{id:"cablecar-dash",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,3],[19,5.5]]},"line-dasharray":[2,3]}},{id:"boundary-land-level-4",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",[">=","admin_level",4],["<=","admin_level",8],["!=","maritime",1]],layout:{"line-join":"round"},paint:{"line-color":"#9e9cab","line-dasharray":[3,1,1,1],"line-width":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},"line-opacity":.6}},{id:"boundary-land-level-2",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["==","admin_level",2],["!=","maritime",1],["!=","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 66%)","line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:"boundary-land-disputed",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["!=","maritime",1],["==","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 70%)","line-dasharray":[1,3],"line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:"boundary-water",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["in","admin_level",2,4],["==","maritime",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(154, 189, 214, 1)","line-width":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},"line-opacity":{stops:[[6,0],[10,0]]}}},{id:"waterway-name",type:"symbol",source:"openmaptiles","source-layer":"waterway",minzoom:13,filter:["all",["==","$type","LineString"],["has","name"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin} {name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","text-letter-spacing":.2,"symbol-spacing":350},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-lakeline",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["==","$type","LineString"],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-ocean",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["==","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-other",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["!in","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":{stops:[[0,10],[6,14]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2,visibility:"visible"},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"poi-level-3",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:16,filter:["all",["==","$type","Point"],[">=","rank",25]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-2",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:15,filter:["all",["==","$type","Point"],["<=","rank",24],[">=","rank",15]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-1",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:14,filter:["all",["==","$type","Point"],["<=","rank",14],["has","name"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":11,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"rgba(191, 228, 172, 1)","text-halo-width":1,"text-halo-color":"rgba(30, 29, 29, 1)"}},{id:"poi-railway",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:13,filter:["all",["==","$type","Point"],["has","name"],["==","class","railway"],["==","subclass","station"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9,"icon-optional":!1,"icon-ignore-placement":!1,"icon-allow-overlap":!1,"text-ignore-placement":!1,"text-allow-overlap":!1,"text-optional":!0},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"road_oneway",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"road_oneway_opposite",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",-1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":-90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"highway-name-path",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15.5,filter:["==","class","path"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-color":"#f8f4f0","text-color":"hsl(30, 23%, 62%)","text-halo-width":.5}},{id:"highway-name-minor",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15,filter:["all",["==","$type","LineString"],["in","class","minor","service","track"]],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-name-major",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:12.2,filter:["in","class","primary","secondary","tertiary","trunk"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-shield",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:8,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"road_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-opacity":1,"text-color":"rgba(20, 19, 19, 1)","text-halo-color":"rgba(230, 221, 221, 0)","text-halo-width":2,"icon-color":"rgba(183, 18, 18, 1)","icon-opacity":.3,"icon-halo-color":"rgba(183, 55, 55, 0)"}},{id:"highway-shield-us-interstate",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:7,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[7,"point"],[7,"line"],[8,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"highway-shield-us-other",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:9,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"place-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:12,filter:["!in","class","city","town","village","country","continent"],layout:{"text-letter-spacing":.1,"text-size":{base:1.2,stops:[[12,10],[15,14]]},"text-font":["Noto Sans Bold"],"text-field":`{name:latin} +{name:nonlatin}`,"text-transform":"uppercase","text-max-width":9,visibility:"visible"},paint:{"text-color":"rgba(255,255,255,1)","text-halo-width":1.2,"text-halo-color":"rgba(57, 28, 28, 1)"}},{id:"place-village",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:10,filter:["==","class","village"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,12],[15,16]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(10, 9, 9, 0.8)"}},{id:"place-town",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["==","class","town"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,14],[15,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(22, 22, 22, 0.8)"}},{id:"place-city",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["!=","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(0, 0, 0, 1)","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-city-capital",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,"icon-image":"star_11","text-offset":[.4,0],"icon-size":.8,"text-anchor":"left",visibility:"visible"},paint:{"text-color":"#333","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["!has","iso_a2"]],layout:{"text-font":["Noto Sans Italic"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-3",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-2",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",2],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[2,11],[5,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-1",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",1],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[1,11],[4,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-continent",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",maxzoom:1,filter:["==","class","continent"],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":14,"text-max-width":6.25,"text-transform":"uppercase",visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}}],id:"qebnlkra6"}});var $Ve=ye((Kyr,JVe)=>{JVe.exports={version:8,name:"orto",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:"viewport",color:"white",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:"raster",tiles:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],tileSize:256,maxzoom:18,attribution:"ESRI © ESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}}]}});var bx=ye((Jyr,iHe)=>{"use strict";var vGt=X1(),pGt=KVe(),gGt=$Ve(),mGt='\xA9 OpenStreetMap contributors',QVe="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",eHe="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",KF="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",yGt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",_Gt="https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json",xGt="https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json",rHe={basic:KF,streets:KF,outdoors:KF,light:QVe,dark:eHe,satellite:gGt,"satellite-streets":pGt,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:mGt,tiles:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":QVe,"carto-darkmatter":eHe,"carto-voyager":KF,"carto-positron-nolabels":yGt,"carto-darkmatter-nolabels":_Gt,"carto-voyager-nolabels":xGt},tHe=vGt(rHe);iHe.exports={styleValueDflt:"basic",stylesMap:rHe,styleValuesMap:tHe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",tHe.join(", "),"or use a tile service."].join(` +`),mapOnErrorMsg:"Map error."}});var Fk=ye(($yr,lHe)=>{"use strict";var nHe=Mr(),aHe=va().defaultLine,bGt=Ju().attributes,wGt=Su(),TGt=Uc().textposition,AGt=Bu().overrideAll,SGt=Vs().templatedArray,oHe=bx(),sHe=wGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});sHe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var MGt=lHe.exports=AGt({_arrayAttrRegexps:[nHe.counterRegex("map",".layers",!0)],domain:bGt({name:"map"}),style:{valType:"any",values:oHe.styleValuesMap,dflt:oHe.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:SGt("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:aHe},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:aHe}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:sHe,textposition:nHe.extendFlat({},TGt,{arrayOk:!1})}})},"plot","from-root");MGt.uirevision={valType:"any",editType:"none"}});var JF=ye((Qyr,fHe)=>{"use strict";var EGt=Wo().hovertemplateAttrs,kGt=Wo().texttemplateAttrs,CGt=Eg(),qk=H2(),AA=Uc(),uHe=Fk(),LGt=vl(),PGt=Kl(),rw=no().extendFlat,IGt=Bu().overrideAll,RGt=Fk(),cHe=qk.line,SA=qk.marker;fHe.exports=IGt({lon:qk.lon,lat:qk.lat,cluster:{enabled:{valType:"boolean"},maxzoom:rw({},RGt.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:rw({},SA.opacity,{dflt:1})},mode:rw({},AA.mode,{dflt:"markers"}),text:rw({},AA.text,{}),texttemplate:kGt({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:rw({},AA.hovertext,{}),line:{color:cHe.color,width:cHe.width},connectgaps:AA.connectgaps,marker:rw({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:SA.opacity,size:SA.size,sizeref:SA.sizeref,sizemin:SA.sizemin,sizemode:SA.sizemode},PGt("marker")),fill:qk.fill,fillcolor:CGt(),textfont:uHe.layers.symbol.textfont,textposition:uHe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:AA.selected.marker},unselected:{marker:AA.unselected.marker},hoverinfo:rw({},LGt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:EGt()},"calc","nested")});var oJ=ye((e1r,hHe)=>{"use strict";var DGt=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];hHe.exports={isSupportedFont:function(e){return DGt.indexOf(e)!==-1}}});var pHe=ye((t1r,vHe)=>{"use strict";var Ok=Mr(),sJ=lu(),zGt=$p(),FGt=R0(),qGt=D0(),OGt=Ig(),dHe=JF(),BGt=oJ().isSupportedFont;vHe.exports=function(t,r,n,i){function a(g,E){return Ok.coerce(t,r,dHe,g,E)}function o(g,E){return Ok.coerce2(t,r,dHe,g,E)}var s=NGt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("hovertext"),a("hovertemplate"),a("mode"),a("below"),sJ.hasMarkers(r)){zGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&(Ok.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Ok.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}sJ.hasLines(r)&&(FGt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),d=o("cluster.opacity"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a("cluster.enabled",v);if(x||sJ.hasText(r)){var b=i.font.family;qGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:BGt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&OGt(t,r,n,a),Ok.coerceSelectionMarkerOpacity(r,a)};function NGt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var lJ=ye((r1r,mHe)=>{"use strict";var gHe=Qa();mHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=gHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=gHe.tickText(o,o.c2l(s[1]),!0).text,i}});var uJ=ye((i1r,_He)=>{"use strict";var yHe=Mr();_He.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=yHe.isArrayOrTypedArray(r)?yHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var SHe=ye((n1r,AHe)=>{"use strict";var wHe=uo(),nv=Mr(),UGt=es().BADNUM,QF=tx(),xHe=Mu(),VGt=ao(),HGt=S3(),e7=lu(),GGt=oJ().isSupportedFont,jGt=uJ(),WGt=rp().appendArrayPointValue,ZGt=Ll().NEWLINES,XGt=Ll().BR_TAG_ALL;AHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=e7.hasLines(n),s=e7.hasMarkers(n),l=e7.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=$F("fill"),d=$F("line"),v=$F("circle"),x=$F("symbol"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var g;if((a||o)&&(g=QF.calcTraceToLineCoords(r)),a&&(h.geojson=QF.makePolygon(g),h.layout.visibility="visible",nv.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(d.geojson=QF.makeLine(g),d.layout.visibility="visible",nv.extendFlat(d.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var E=YGt(r);v.geojson=E.geojson,v.layout.visibility="visible",f&&(v.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":fJ(n.cluster.color,n.cluster.step),"circle-radius":fJ(n.cluster.size,n.cluster.step),"circle-opacity":fJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":bHe(n),"text-size":12}}),nv.extendFlat(v.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(u&&f&&(v.filter=["!",["has","point_count"]]),(c||l)&&(x.geojson=KGt(r,t),nv.extendFlat(x.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(nv.extendFlat(x.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&nv.extendFlat(x.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),x.layout["icon-allow-overlap"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var k=(n.marker||{}).size,A=jGt(n.textposition,k);nv.extendFlat(x.layout,{"text-size":n.textfont.size,"text-anchor":A.anchor,"text-offset":A.offset,"text-font":bHe(n)}),nv.extendFlat(x.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function $F(e){return{type:e,geojson:QF.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function YGt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(xHe.hasColorscale(t,"marker")?c=xHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=HGt(t));var h;o&&(h=function(k){var A=wHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),GGt(s)||(s=r);var l=s.split(", ");return l}});var CHe=ye((a1r,kHe)=>{"use strict";var JGt=Mr(),MHe=SHe(),MA=bx().traceLayerPrefix,ng={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function EHe(e,t,r,n){this.type="scattermap",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:MA+t+"-fill",line:MA+t+"-line",circle:MA+t+"-circle",symbol:MA+t+"-symbol",cluster:MA+t+"-cluster",clusterCount:MA+t+"-cluster-count"},this.below=null}var Bk=EHe.prototype;Bk.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&JGt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Bk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Bk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};kHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new EHe(t,n.uid,i,a),s=MHe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var $Gt=Nc(),hJ=Mr(),QGt=oT(),ejt=hJ.fillText,tjt=es().BADNUM,rjt=bx().traceLayerPrefix;function ijt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=rjt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var p=M.lonlat;if(p[0]===tjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=hJ.modHalf(p[0],360),T=p[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if($Gt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],g=b.lonlat,E=[hJ.modHalf(g[0],360)+d,g[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=QGt(i,b),e.extraText=LHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function LHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&ejt(t,e,u),u.join("
")}PHe.exports={hoverPoints:ijt,getExtraText:LHe}});var RHe=ye((s1r,IHe)=>{"use strict";IHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var zHe=ye((l1r,DHe)=>{"use strict";var njt=Mr(),ajt=lu(),ojt=es().BADNUM;DHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!ajt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof dJ=="object"&&typeof vJ!="undefined"?vJ.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis!="undefined"?globalThis:e||self,e.maplibregl=t())})(dJ,function(){"use strict";var e={},t={};function r(i,a,o){if(t[i]=o,i==="index"){var s="var sharedModule = {}; ("+t.shared+")(sharedModule); ("+t.worker+")(sharedModule);",l={};return t.shared(l),t.index(e,l),typeof window!="undefined"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:"text/javascript"}))),e}}r("shared",["exports"],function(i){"use strict";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,"default")?R.default:R}typeof SuppressedError=="function"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function g(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=g(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function p(R){return Array.isArray(R)?R.map(p):typeof R=="object"&&R?C(R,p):R}let P={};function T(R){P[R]||(typeof console!="undefined"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!="undefined"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!="undefined"&&R instanceof ImageBitmap}let X="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame=="undefined")throw new Error("VideoFrame not supported");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith("BGR")&&!ve.startsWith("RGB"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith("BGR"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;atq(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Te=function(R,S){if(/:\/\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||"GET",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!=="json"||ue.headers.has("Accept")||ue.headers.set("Accept","application/json");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type==="arrayBuffer"||j.type==="image"?ve.arrayBuffer():j.type==="json"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get("Cache-Control"),expires:ve.headers.get("Expires")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||"GET",j.url,!0),j.type!=="arrayBuffer"&&j.type!=="image"||(Ze.responseType="arraybuffer");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type==="json"&&(Ze.responseType="text",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader("Accept","application/json")),Ze.withCredentials=j.credentials==="include",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type==="json")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader("Cache-Control"),expires:Ze.getResponseHeader("Expires")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader("Content-Type")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener("abort",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf("://")<=0||R.indexOf("data:image/")===0||R.indexOf("blob:")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super("error",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S=="string"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};let Ge=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function nt(R,S){let D={};for(let j in R)j!=="ref"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D`:R.itemType.kind==="value"?"array":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind==="error")return null;if(R.kind==="array"){if(S.kind==="array"&&(S.N===0&&S.itemType.kind==="value"||!Xe(R.itemType,S.itemType))&&(typeof R.N!="number"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind==="value"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D==="null"?R===null:D==="array"?Array.isArray(R):D==="object"?R&&!Array.isArray(R)&&typeof R=="object":D===typeof R)}function xe(R,S){return R.kind==="array"&&S.kind==="array"?R.itemType.kind===S.itemType.kind&&typeof R.N=="number":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter("rgb",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!="string")return;let D=function(j){if((j=j.toLowerCase().trim())==="transparent")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||"ff")]}if(j.startsWith("rgb")){let ve=j.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||" ",sr||" ",$r].join("");if(pi===" "||pi===" /"||pi===",,"||pi===",,,"){let ki=[at,Qt,Pr].join(""),Zi=ki==="%%%"?100:ki===""?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||" ",Tt||" ",Qt].join("");if(Pr===" "||Pr===" /"||Pr===",,"||Pr===",,,"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter("rgb",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter("hcl",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter("lab",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(",")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?"variant":"case":D?"accent":"base",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?"":this.sections.map(S=>S.text).join("")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S=="number")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!="number")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D=0&&R<=255&&typeof S=="number"&&S>=0&&S<=255&&typeof D=="number"&&D>=0&&D<=255?j===void 0||typeof j=="number"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j=="number"?[R,S,D,j]:[R,S,D]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R=="string"||typeof R=="boolean"||typeof R=="number"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R=="object"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R=="string")return Et;if(typeof R=="boolean")return dt;if(typeof R=="number")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?"":S==="string"||S==="number"||S==="boolean"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error("invalid value");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!=="array"||te.N!==0||!ue||ue.kind!=="array"||typeof ue.N=="number"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name="ExpressionEvaluationError",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error("Expected at least one argument.");let j,te=1,ue=S[0];if(ue==="array"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!="string"||!(at in Fa)||at==="object")return D.error('The item type argument of "array" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!="number"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to "array" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;teS.outputDefined())}}let jo={"to-boolean":dt,"to-color":Ht,"to-number":St,"to-string":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error("Expected at least one argument.");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j==="to-boolean"||j==="to-string")&&S.length!==2)return D.error("Expected one argument.");let te=jo[j],ue=[];for(let ve=1;ve4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D=="string"?D:JSON.stringify(D)}'`)}case"padding":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D=="string"?D:JSON.stringify(D)}'`)}case"variableAnchorOffsetCollection":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D=="string"?D:JSON.stringify(D)}'`)}case"number":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case"formatted":return Zr.fromString(ka(this.args[0].evaluate(S)));case"resolvedImage":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=["Unknown","Point","LineString","Polygon"];class Ha{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?Sn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(""),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve==="assert"?new Ra(ue,[te]):ve==="coerce"?new oa(ue,[te]):te}if(S!==null&&typeof S!="string"&&typeof S!="boolean"&&typeof S!="number"||(S=["literal",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let te=S[0];if(typeof te!="string")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!=="string"&&De.kind!=="number"&&De.kind!=="boolean"&&De.kind!=="object"&&De.kind!=="array"||Ze.kind!=="value")if(De.kind!=="color"&&De.kind!=="formatted"&&De.kind!=="resolvedImage"||Ze.kind!=="value"&&Ze.kind!=="string")if(De.kind!=="padding"||Ze.kind!=="value"&&Ze.kind!=="number"&&Ze.kind!=="array")if(De.kind!=="variableAnchorOffsetCollection"||Ze.kind!=="value"&&Ze.kind!=="array"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||"coerce");else ve=j(ve,De,D.typeAnnotation||"coerce");else ve=j(ve,De,D.typeAnnotation||"coerce");else ve=j(ve,De,D.typeAnnotation||"assert")}if(!(ve instanceof jn)&&ve.type.kind!=="resolvedImage"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression "${te}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(S===void 0?"'undefined' value invalid. Use null instead.":typeof S=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S=="number"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join("")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,["boolean","string","number","null"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,["string","array"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,["boolean","string","number","null"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,["string"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,["array"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error("Expected an even number of arguments.");let j,te;D.expectedType&&D.expectedType.kind!=="value"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;atNumber.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr=="number"&&Math.floor(Tr)!==Tr)return Qt.error("Numeric branch labels must be integer values.");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error("Branch labels must be unique.");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!=="value"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error("Expected an odd number of arguments.");let j;D.expectedType&&D.expectedType.kind!=="value"&&(j=D.expectedType);let te=[];for(let ve=1;veD.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,["string"]))return[...D].slice(j,te).join("");if(Le(D,["array"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||SS))throw new la("Input is not a number.");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error("Expected an even number of arguments.");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!=="value"&&(ue=D.expectedType);for(let ve=1;ve=De)return D.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,"default")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j="rgb"){switch(j){case"rgb":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case"hcl":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case"lab":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;vetypeof Tt!="number"||Tt<0||Tt>1))return D.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);te={name:"cubic-bezier",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error("Expected an even number of arguments.");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j==="interpolate-hcl"||j==="interpolate-lab"?Ze=Ht:D.expectedType&&D.expectedType.kind!=="value"&&(Ze=D.expectedType);for(let at=0;at=Tt)return D.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case"interpolate":return Mo[this.type.kind](Ze,at,De);case"interpolate-hcl":return Mo.color(Ze,at,De,"hcl");case"interpolate-lab":return Mo.color(Ze,at,De,"lab")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error("Expectected at least one argument.");let j=null,te=D.expectedType;te&&te.kind!=="value"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:"omit"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error("No output type");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R==="=="||R==="!="?S.kind==="boolean"||S.kind==="string"||S.kind==="number"||S.kind==="null"||S.kind==="value":S.kind==="string"||S.kind==="number"||S.kind==="value"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!=="=="&&R!=="!=";return class FHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind==="value"||ve.type.kind==="value"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error("Expected two or three arguments.");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`"${De}" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`"${De}" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!=="value"&&at.type.kind!=="value")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind==="value"&&at.type.kind!=="value"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!=="value"&&at.type.kind==="value"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!=="string"&&at.type.kind!=="string"&&Ze.type.kind!=="value"&&at.type.kind!=="value")return ve.error("Cannot use collator to compare non-string types.");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new FHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!=="string"&&Ze.kind!=="number")throw new la(`Expected arguments for "${R}" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!=="string"||at.kind!=="string")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl("==",function(R,S,D){return S===D},Xs),cl=wl("!=",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl("<",function(R,S,D){return S",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl("<=",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(">=",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error("Expected one argument.");let j=S[1];if(typeof j!="object"||Array.isArray(j))return D.error("Collator options argument must be an object.");let te=D.parse(j["case-sensitive"]!==void 0&&j["case-sensitive"],1,dt);if(!te)return null;let ue=D.parse(j["diacritic-sensitive"]!==void 0&&j["diacritic-sensitive"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error("Expected two arguments.");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!="object"||Array.isArray(te))return D.error("NumberFormat options argument must be an object.");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te["min-fraction-digits"]&&(De=D.parse(te["min-fraction-digits"],1,St),!De))return null;let Ze=null;return te["max-fraction-digits"]&&(Ze=D.parse(te["max-fraction-digits"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class $l{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error("Expected at least one argument.");let j=S[1];if(!Array.isArray(j)&&typeof j=="object")return D.error("First argument must be an image or text section.");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De=="object"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De["font-scale"]&&(Ze=D.parse(De["font-scale"],1,St),!Ze))return null;let at=null;if(De["text-font"]&&(at=D.parse(De["text-font"],1,Ne(Et)),!at))return null;let Tt=null;if(De["text-color"]&&(Tt=D.parse(De["text-color"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!=="string"&&at!=="value"&&at!=="null"&&at!=="resolvedImage")return D.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new $l(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr("",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(","):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error("Expected two arguments.");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error("No image name provided.")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!=="array"&&j.type.kind!=="string"&&j.type.kind!=="value"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D=="string")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Il(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Wl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Zl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Zl(D,S))return!1;for(let D=0;D0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;teD[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type==="FeatureCollection"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve==="Polygon"&&te.push(De),ve==="MultiPolygon"&&te.push(...De)}if(te.length)return new Al(j,{type:"MultiPolygon",coordinates:te})}else if(j.type==="Feature"){let te=j.geometry.type;if(te==="Polygon"||te==="MultiPolygon")return new Al(j,j.geometry)}else if(j.type==="Polygon"||j.type==="MultiPolygon")return new Al(j,j)}return D.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()==="Point")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type==="Polygon"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zl(at,De))return!1}if(j.type==="MultiPolygon"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()==="LineString")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type==="Polygon"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type==="MultiPolygon"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>Dj?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R=0)break;S[R]=S[ue],R=ue}S[R]=te}};function Ql(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return RS?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr180;)S-=360;return S}}function Ul(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]=j)return j;if(Il(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Ul);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type==="MultiPolygon"?R.coordinates.map(S=>({type:"Polygon",coordinates:S})):R.type==="MultiLineString"?R.coordinates.map(S=>({type:"LineString",coordinates:S})):R.type==="MultiPoint"?R.coordinates.map(S=>({type:"Point",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type==="FeatureCollection")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type==="Feature")return new jc(j,Mh(j.geometry));if("type"in j&&"coordinates"in j)return new jc(j,Mh(j))}return D.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()==="Point")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case"Point":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case"LineString":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case"Polygon":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()==="LineString")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case"Point":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case"LineString":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case"Polygon":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()==="Polygon")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case"Point":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case"LineString":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case"Polygon":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={"==":os,"!=":cl,">":ml,"<":Cs,">=":Hs,"<=":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:$l,image:Hu,in:Hr,"index-of":ti,interpolate:xo,"interpolate-hcl":xo,"interpolate-lab":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,"number-format":fs,object:Ra,slice:an,step:Ji,string:Ra,"to-boolean":oa,"to-color":oa,"to-number":oa,"to-string":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression "${j}". If you wanted a literal array, use ["literal", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(", ")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(" | "),Tt=[];for(let Ft=1;Ft{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Kh(R){if(R instanceof Ml&&(R.name==="get"&&R.args.length===1||R.name==="feature-state"||R.name==="has"&&R.args.length===1||R.name==="properties"||R.name==="geometry-type"||R.name==="id"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name==="feature-state")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:"success",value:R}}function df(R){return{result:"error",value:R}}function Cu(R){return R["property-type"]==="data-driven"||R["property-type"]==="cross-faded-data-driven"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf("zoom")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?"number":R instanceof String?"string":R instanceof Boolean?"boolean":Array.isArray(R)?"array":R===null?"null":typeof R}function Ch(R){return typeof R=="object"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type==="color",j=R.stops&&typeof R.stops[0][0]=="object",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?"exponential":"interval");if(D||S.type==="padding"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!=="rgb"&&ve!=="hcl"&&ve!=="lab")throw new Error(`Unknown color space: "${R.colorSpace}"`);var ve;let De,Ze,at;if(ue==="exponential")De=$h;else if(ue==="interval")De=Lu;else if(ue==="categorical"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!=="identity")throw new Error(`Unknown function type "${ue}"`);De=eu}if(j){let Tt={},Ft=[];for(let Tr=0;TrTr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue==="exponential"?{name:"exponential",base:R.base!==void 0?R.base:1}:null;return{kind:"camera",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:"source",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!=="number")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!=="number")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate=="function"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function eu(R,S,D){switch(S.type){case"color":D=Zt.parse(D);break;case"formatted":D=Zr.fromString(D.toString());break;case"resolvedImage":D=Mi.fromString(D.toString());break;case"padding":D=Vr.parse(D);break;default:ds(D)===S.type||S.type==="enum"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:"error"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],"to-rgba":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},"feature-state":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],"geometry-type":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],"heatmap-density":[St,[],R=>R.globals.heatmapDensity||0],"line-progress":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],"+":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],"*":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],"-":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},"/":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],"%":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],"^":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],"filter-==":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],"filter-id-==":[dt,[fr],(R,[S])=>R.id()===S.value],"filter-type-==":[dt,[Et],(R,[S])=>R.geometryType()===S.value],"filter-<":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j{let D=R.id(),j=S.value;return typeof D==typeof j&&D":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],"filter-id->":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],"filter-<=":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],"filter-id-<=":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],"filter->=":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],"filter-id->=":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],"filter-has":[dt,[fr],(R,[S])=>S.value in R.properties()],"filter-has-id":[dt,[],R=>R.id()!==null&&R.id()!==void 0],"filter-type-in":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],"filter-id-in":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],"filter-in-small":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],"filter-in-large":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},"!":[dt,[dt],(R,[S])=>!S.evaluate(R)],"is-supported-script":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join("")],"resolved-locale":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type==="color"&&Ch(j.default)?new Zt(0,0,0,0):j.type==="color"?Zt.parse(j.default)||null:j.type==="padding"?Vr.parse(j.default)||null:j.type==="variableAnchorOffsetCollection"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type==="enum"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De=="number"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(", ")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!="undefined"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]=="string"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type==="array"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type==="string"?{typeAnnotation:"coerce"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!=="constant"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!=="camera"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result==="error")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt("","data expressions not supported")]);let ue=ah(j,["zoom"]);if(!ue&&!Nf(S))return df([new xt("","zoom expressions not supported")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt("",'"interpolate" expressions cannot be used with this property')]):Wc(ve?new ic(te?"camera":"composite",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?"constant":"source",D.value)):df([new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name==="zoom"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):S&&j&&S!==j&&(S=new xt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case"has":return R.length>=2&&R[1]!=="$id"&&R[1]!=="$type";case"in":return R.length>=3&&(typeof R[1]!="string"||Array.isArray(R[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case"any":case"all":for(let S of R.slice(1))if(!gd(S)&&typeof S!="boolean")return!1;return!0;default:return!0}}let Gu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result==="error")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(", "));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return RS?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]==="within"||R[0]==="distance")return!0;for(let S=1;S"||S==="<="||S===">="?Uf(R[1],R[2],S):S==="any"?(D=R.slice(1),["any"].concat(D.map(Lf))):S==="all"?["all"].concat(R.slice(1).map(Lf)):S==="none"?["all"].concat(R.slice(1).map(Lf).map(tu)):S==="in"?Iu(R[1],R.slice(2)):S==="!in"?tu(Iu(R[1],R.slice(2))):S==="has"?oh(R[1]):S!=="!has"||tu(oh(R[1]));var D}function Uf(R,S,D){switch(R){case"$type":return[`filter-type-${D}`,S];case"$id":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case"$type":return["filter-type-in",["literal",S]];case"$id":return["filter-id-in",["literal",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?["filter-in-large",R,["literal",S.sort(vc)]]:["filter-in-small",R,["literal",S]]}}function oh(R){switch(R){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",R]}}function tu(R){return["!",R]}function vf(R){let S=typeof R;if(S==="number"||S==="boolean"||S==="string"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te="[";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j="{";for(let te=0;tej.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!=="categorical"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)==="array"&&ds(R.value.stops[0])==="array"&&ds(R.value.stops[0][0])==="object",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D==="identity")return[new er(sr.key,sr.value,'identity function may not have a "stops" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)==="array"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,"array must have at least one stop")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D==="identity"&&De&&Tt.push(new er(R.key,R.value,'missing required property "property"')),D==="identity"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property "stops"')),D==="exponential"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,"exponential functions not supported")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,"property functions not supported")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,"zoom functions not supported"))),D!=="categorical"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'"property" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!=="array")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!=="object")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,"object stop key must have zoom")];if(Pr[0].value===void 0)return[new er($r,Pr,"object stop key must have value")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,"stop zoom values must appear in ascending order")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],"expressions are not allowed in function stops.")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!=="number"&&Pr!=="string"&&Pr!=="boolean")return[new er(sr.key,ni,"stop domain value must be a number, string, or boolean")];if(Pr!=="number"&&D!=="categorical"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new er(sr.key,ni,Di)]}return D!=="categorical"||Pr!=="number"||isFinite($r)&&Math.floor($r)===$r?D!=="categorical"&&Pr==="number"&&te!==void 0&&$rnew er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext==="property"&&R.propertyKey==="text-font"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for "${R.propertyKey}". Output values must be contained as literals within the expression.`)];if(R.expressionContext==="property"&&R.propertyType==="layout"&&!rc(D))return[new er(R.key,R.value,'"feature-state" data expressions are not supported with layout properties.')];if(R.expressionContext==="filter"&&!rc(D))return[new er(R.key,R.value,'"feature-state" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf("cluster")===0){if(!ah(D,["zoom","feature-state"]))return[new er(R.key,R.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(R.expressionContext==="cluster-initial"&&!Kh(D))return[new er(R.key,R.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(", ")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(", ")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:"filter",valueSpec:{value:"boolean"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!=="array")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,"filter array must have at least 1 element")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case"<":case"<=":case">":case">=":S.length>=2&&Fs(S[1])==="$type"&&ue.push(new er(D,S,`"$type" cannot be use with operator "${S[0]}"`));case"==":case"!=":S.length!==3&&ue.push(new er(D,S,`filter array for operator "${S[0]}" must have 3 elements`));case"in":case"!in":S.length>=2&&(te=ds(S[1]),te!=="string"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve{at in D&&S.push(new er(j,D[at],`"${at}" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,"ref cannot reference another ref layer")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer "${De}" not found`))}else if(ve!=="background")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at==="vector"&&ve==="raster"?S.push(new er(j,D.source,`layer "${D.id}" requires a raster source`)):at!=="raster-dem"&&ve==="hillshade"?S.push(new er(j,D.source,`layer "${D.id}" requires a raster-dem source`)):at==="raster"&&ve!=="raster"?S.push(new er(j,D.source,`layer "${D.id}" requires a vector source`)):at!=="vector"||D["source-layer"]?at==="raster-dem"&&ve!=="hillshade"?S.push(new er(j,D.source,"raster-dem source can only be used with layer type 'hillshade'.")):ve!=="line"||!D.paint||!D.paint["line-gradient"]||at==="geojson"&&Ze.lineMetrics||S.push(new er(j,D,`layer "${D.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):S.push(new er(j,D,`layer "${D.id}" must specify a "source-layer"`)):S.push(new er(j,D.source,`source "${D.source}" not found`))}else S.push(new er(j,D,'missing required property "source"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{"*":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:"type"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{"*":at=>Rl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{"*":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!=="string"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)==="string")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'"type" is required')];let ve=Fs(S.type),De;switch(ve){case"vector":case"raster":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace("-","_")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case"raster-dem":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:"",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!=="object")return Pr.push(new er("source_raster_dem",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)==="custom",Di=["redFactor","greenFactor","blueFactor","baseShift"],pi=Ze.value.encoding?`"${Ze.value.encoding}"`:"Default";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In "${Tt}": "${ki}" is only valid when "encoding" is set to "custom". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property "${ki}"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case"geojson":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at=="string"?[at,["accumulated"],["get",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:"cluster-map"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:"cluster-reduce"}))}return De;case"video":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case"image":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case"canvas":return[new er(D,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!=="object")return ue=ue.concat([new er("light",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property "${De}"`)])}return ue}function ru(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!=="object")return[new er("sky",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property "${De}"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!=="object")return ue=ue.concat([new er("terrain",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property "${De}"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={"*":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!=="boolean"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!=="string"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, "${D}" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:ru,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!=="object")return[new er("projection",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property "${De}"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)==="array"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:"number"},te=[];for(let ue=0;ue[]}})),R.constants&&(D=D.concat(sh({key:"constants",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R(KQ(YQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(ru)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Rl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error("$name property is reserved for worker serialization logic.");return D!=="Object"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!="object")throw new Error("can't deserialize object of type "+typeof R);let S=Ma(R)||"Object";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te==="$name")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoomR>=128&&R<=255,"Hangul Jamo":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,"General Punctuation":R=>R>=8192&&R<=8303,"Letterlike Symbols":R=>R>=8448&&R<=8527,"Number Forms":R=>R>=8528&&R<=8591,"Miscellaneous Technical":R=>R>=8960&&R<=9215,"Control Pictures":R=>R>=9216&&R<=9279,"Optical Character Recognition":R=>R>=9280&&R<=9311,"Enclosed Alphanumerics":R=>R>=9312&&R<=9471,"Geometric Shapes":R=>R>=9632&&R<=9727,"Miscellaneous Symbols":R=>R>=9728&&R<=9983,"Miscellaneous Symbols and Arrows":R=>R>=11008&&R<=11263,"Ideographic Description Characters":R=>R>=12272&&R<=12287,"CJK Symbols and Punctuation":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,"CJK Strokes":R=>R>=12736&&R<=12783,"Enclosed CJK Letters and Months":R=>R>=12800&&R<=13055,"CJK Compatibility":R=>R>=13056&&R<=13311,"Yijing Hexagram Symbols":R=>R>=19904&&R<=19967,"Private Use Area":R=>R>=57344&&R<=63743,"Vertical Forms":R=>R>=65040&&R<=65055,"CJK Compatibility Forms":R=>R>=65072&&R<=65103,"Small Form Variants":R=>R>=65104&&R<=65135,"Halfwidth and Fullwidth Forms":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\p{sc=${D}}`,"u").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join("|"),"u")}let Ts=Xo(["Arab","Dupl","Mong","Ougr","Syrc"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn["CJK Compatibility Forms"](R)&&!(R>=65097&&R<=65103)||sn["CJK Compatibility"](R)||sn["CJK Strokes"](R)||!(!sn["CJK Symbols and Punctuation"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn["Enclosed CJK Letters and Months"](R)||sn["Ideographic Description Characters"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn["Halfwidth and Fullwidth Forms"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn["Small Form Variants"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn["Vertical Forms"](R)||sn["Yijing Hexagram Symbols"](R)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(R))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn["Latin-1 Supplement"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn["General Punctuation"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn["Letterlike Symbols"](S)||sn["Number Forms"](S)||sn["Miscellaneous Technical"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn["Control Pictures"](S)&&S!==9251||sn["Optical Character Recognition"](S)||sn["Enclosed Alphanumerics"](S)||sn["Geometric Shapes"](S)||sn["Miscellaneous Symbols"](S)&&!(S>=9754&&S<=9759)||sn["Miscellaneous Symbols and Arrows"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn["CJK Symbols and Punctuation"](S)||sn.Katakana(S)||sn["Private Use Area"](S)||sn["CJK Compatibility Forms"](S)||sn["Small Form Variants"](S)||sn["Halfwidth and Fullwidth Forms"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class iu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result==="error")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(", "));return ue.value}{let ue=j;return te.type==="color"&&typeof j=="string"?ue=Zt.parse(j):te.type!=="padding"||typeof j!="number"&&!Array.isArray(j)?te.type==="variableAnchorOffsetCollection"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:"constant",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new iu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return p(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new iu(this._values[S].property,D===null?void 0:p(D))}getTransition(S){return p(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=p(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return p(this._values[S].value)}setValue(S,D){this._values[S]=new iu(this._values[S].property,D===null?void 0:p(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind==="constant"}constantOr(S){return this.value.kind==="constant"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error("Value should not be data driven");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind==="constant"||S.expression.kind==="camera"?{kind:"constant",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!=="constant"||D.value.kind!=="constant")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:"constant",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:"constant",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind==="constant"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:"constant",value:void 0},D);if(S.expression.kind==="constant"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type==="resolvedImage"&&typeof ue!="string"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:"constant",value:De},D)}if(S.expression.kind==="camera"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:"constant",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind==="source"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind==="composite"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind==="constant"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new iu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi("DataDrivenProperty",eo),mi("DataConstantProperty",Da),mi("CrossFadedDataDrivenProperty",Jc),mi("CrossFadedProperty",yc),mi("ColorRampProperty",_c);let w="-transition";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!=="custom"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!=="background"&&(this.source=S.source,this.sourceLayer=S["source-layer"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S==="visibility"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!=="visibility"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification["property-type"]==="cross-faded-data-driven",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S=this.maxzoom)||this.visibility==="none"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j==="layout"&&!Object.keys(D).length||j==="paint"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind==="source"||D.value.kind==="composite")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi("StructArrayLayout2i4",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi("StructArrayLayout3i6",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi("StructArrayLayout4i8",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi("StructArrayLayout2i4i12",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi("StructArrayLayout2i4ub8",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi("StructArrayLayout2f8",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi("StructArrayLayout10ui20",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi("StructArrayLayout4i4ui4i24",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi("StructArrayLayout3f12",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi("StructArrayLayout1ul4",Oe);class Je extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi("StructArrayLayout6i1ul2ui20",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi("StructArrayLayout2i2i2i12",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi("StructArrayLayout2f1f2i16",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi("StructArrayLayout2ub2f2i16",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi("StructArrayLayout3ui6",Dt);class Ut extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ut);class tr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi("StructArrayLayout8i15ui1ul2f2ui64",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi("StructArrayLayout1f4",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi("StructArrayLayout1ui2f12",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi("StructArrayLayout1ul2ui8",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi("StructArrayLayout2ui4",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi("StructArrayLayout1ui2",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi("StructArrayLayout4f16",Li);class Ci extends ee{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi("CollisionBoxArray",Qi);class Mn extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi("PlacedSymbolArray",pa);class ea extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(S){this._structArray.uint32[this._pos4+12]=S}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi("SymbolInstanceArray",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi("GlyphOffsetArray",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi("SymbolLineVertexArray",Wa);class co extends ee{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi("TextAnchorOffsetArray",Ro);class Ds extends ee{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi("FeatureIndexArray",As);class yo extends it{}class po extends it{}class _l extends it{}class Vl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class nu extends be{}class zc extends Pe{}class Dl extends Oe{}class zl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:"a_pos",components:2,type:"Int16"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi("SegmentVector",We);let tt=qe([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let D=Kr(S),j=0,te=this.ids.length-1;for(;j>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type==="color"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te==="u_pattern_to"?this.patternTo:te==="u_pattern_from"?this.patternFrom:te==="u_pixel_ratio_to"?this.pixelRatioTo:te==="u_pixel_ratio_from"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)==="u_pattern"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:"Float32",components:j==="color"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type==="color"){let te=Nn(j);for(let ue=S;ue`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:"Float32",components:j==="color"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type==="color"){let ue=Nn(j),ve=Nn(te);for(let De=S;De`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[R]||[R.replace(`${S}-`,"").replace(/-/g,"_")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{"line-pattern":{source:el,composite:el},"fill-pattern":{source:el,composite:el},"fill-extrusion-pattern":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi("ConstantBinder",ga),mi("CrossFadedConstantBinder",ya),mi("SourceExpressionBinder",so),mi("CrossFadedCompositeBinder",io),mi("CompositeExpressionBinder",wa),mi("ProgramConfiguration",Ss,{omit:["_buffers"]}),mi("ProgramConfigurationSet",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;jve.x+1||Zeve.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type==="circle"&&(ve=te.layout.get("circle-sort-key"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D1){if(wi(R,S))return!0;for(let j=0;j1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;veS.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;jS.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.xte.x&&S.x>te.x||R.yte.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind==="constant"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D==="viewport"&&ue._rotate(-j);let ve=[];for(let De=0;Devn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi("HeatmapBucket",Aa,{omit:["layers"]});var Xn={get paint(){return aa=aa||new le({"heatmap-radius":new eo(ce.paint_heatmap["heatmap-radius"]),"heatmap-weight":new eo(ce.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Da(ce.paint_heatmap["heatmap-intensity"]),"heatmap-color":new _c(ce.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Da(ce.paint_heatmap["heatmap-opacity"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError("out of range source coordinates for image copy");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError("out of range destination coordinates for image copy");let ve=R.data,De=S.data;if(ve===De)throw new Error("srcData equals dstData, so image is already copied");for(let Ze=0;Ze{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;QtTt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft0)for(let ve=S;ve=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Hl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Hl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=teue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=DeZe?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Zeat.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!=="constant"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt("fill",this.layers,D);let te=this.layers[0].layout.get("fill-sort-key"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr("fill",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error("unknown command "+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos>3}if(j--,D===1||D===2)(te+=R.readSVarint())De&&(De=te),(ue+=R.readSVarint())at&&(at=ue);else if(D!==7)throw new Error("unknown command "+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Vl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt("fill-extrusion",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr("fill-extrusion",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!=="Polygon")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Prza)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi("FillExtrusionBucket",fo,{omit:["layers","features"]});var Mv={get paint(){return zu=zu||new le({"fill-extrusion-opacity":new Da(ce["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new eo(ce["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Da(ce["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Da(ce["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Jc(ce["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new eo(ce["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new eo(ce["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Da(ce["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),ve.angle,De),Tt=this.paint.get("fill-extrusion-height").evaluate(D,j),Ft=this.paint.get("fill-extrusion-base").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;DiD.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt("line",this.layers,D);let te=this.layers[0].layout.get("line-sort-key"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr("line",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(S.properties,"mapbox_clip_end"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get("line-join").evaluate(S,{}),Ze=ve.get("line-cap"),at=ve.get("line-miter-limit"),Tt=ve.get("line-round-limit");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?"butt":te;if(La&&Hn==="round"&&(Ziue&&(Hn="bevel"),Hn==="bevel"&&(Zi>2&&(Hn="flipbevel"),Zi100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn==="bevel"||Hn==="fakeround"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn==="fakeround"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi("LineBucket",Kv,{omit:["layers","patternFeatures"]});var fg={get paint(){return ny=ny||new le({"line-opacity":new eo(ce.paint_line["line-opacity"]),"line-color":new eo(ce.paint_line["line-color"]),"line-translate":new Da(ce.paint_line["line-translate"]),"line-translate-anchor":new Da(ce.paint_line["line-translate-anchor"]),"line-width":new eo(ce.paint_line["line-width"]),"line-gap-width":new eo(ce.paint_line["line-gap-width"]),"line-offset":new eo(ce.paint_line["line-offset"]),"line-blur":new eo(ce.paint_line["line-blur"]),"line-dasharray":new yc(ce.paint_line["line-dasharray"]),"line-pattern":new Jc(ce.paint_line["line-pattern"]),"line-gradient":new _c(ce.paint_line["line-gradient"])})},get layout(){return Cv=Cv||new le({"line-cap":new Da(ce.layout_line["line-cap"]),"line-join":new eo(ce.layout_line["line-join"]),"line-miter-limit":new Da(ce.layout_line["line-miter-limit"]),"line-round-limit":new Da(ce.layout_line["line-round-limit"]),"line-sort-key":new eo(ce.layout_line["line-sort-key"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties["line-width"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S==="line-gradient"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values["line-floorwidth"]=hg.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn("line-width",this,D),yn("line-gap-width",this,D)),te=yn("line-offset",this,D);return j/2+Math.abs(te)+to(this.paint.get("line-translate"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),ve.angle,De),at=De/2*Rh(this.paint.get("line-width").evaluate(D,j),this.paint.get("line-gap-width").evaluate(D,j)),Tt=this.paint.get("line-offset").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr=3){for(let $r=0;$r0?S+2*R:R}let rm=qe([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),w1=qe([{name:"a_projected_pos",components:3,type:"Float32"}],4);qe([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let T1=qe([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);qe([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);let oy=qe([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),im=qe([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get("text-transform").evaluate(ve,{});return De==="uppercase"?te=te.toLocaleUpperCase():De==="lowercase"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:"triangle",components:3,type:"Uint16"}]),qe([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),qe([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),qe([{type:"Float32",name:"offsetX"}]),qe([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),qe([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let Fu={"!":"\uFE15","#":"\uFF03",$:"\uFF04","%":"\uFF05","&":"\uFF06","(":"\uFE35",")":"\uFE36","*":"\uFF0A","+":"\uFF0B",",":"\uFE10","-":"\uFE32",".":"\u30FB","/":"\uFF0F",":":"\uFE13",";":"\uFE14","<":"\uFE3F","=":"\uFF1D",">":"\uFE40","?":"\uFE16","@":"\uFF20","[":"\uFE47","\\":"\uFF3C","]":"\uFE48","^":"\uFF3E",_:"\uFE33","`":"\uFF40","{":"\uFE37","|":"\u2015","}":"\uFE38","~":"\uFF5E","\xA2":"\uFFE0","\xA3":"\uFFE1","\xA5":"\uFFE5","\xA6":"\uFFE4","\xAC":"\uFFE2","\xAF":"\uFFE3","\u2013":"\uFE32","\u2014":"\uFE31","\u2018":"\uFE43","\u2019":"\uFE44","\u201C":"\uFE41","\u201D":"\uFE42","\u2026":"\uFE19","\u2027":"\u30FB","\u20A9":"\uFFE6","\u3001":"\uFE11","\u3002":"\uFE12","\u3008":"\uFE3F","\u3009":"\uFE40","\u300A":"\uFE3D","\u300B":"\uFE3E","\u300C":"\uFE41","\u300D":"\uFE42","\u300E":"\uFE43","\u300F":"\uFE44","\u3010":"\uFE3B","\u3011":"\uFE3C","\u3014":"\uFE39","\u3015":"\uFE3A","\u3016":"\uFE17","\u3017":"\uFE18","\uFF01":"\uFE15","\uFF08":"\uFE35","\uFF09":"\uFE36","\uFF0C":"\uFE10","\uFF0D":"\uFE32","\uFF0E":"\u30FB","\uFF1A":"\uFE13","\uFF1B":"\uFE14","\uFF1C":"\uFE3F","\uFF1E":"\uFE40","\uFF1F":"\uFE16","\uFF3B":"\uFE47","\uFF3D":"\uFE48","\uFF3F":"\uFE33","\uFF5B":"\uFE37","\uFF5C":"\u2015","\uFF5D":"\uFE38","\uFF5F":"\uFE35","\uFF60":"\uFE36","\uFF61":"\uFE12","\uFF62":"\uFE41","\uFF63":"\uFE42"};var kl=24,bd=Yl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Yl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Yl.Varint=0,Yl.Fixed64=1,Yl.Bytes=2,Yl.Fixed32=5;var Bx=4294967296,am=1/Bx,Mw=typeof TextDecoder=="undefined"?null:new TextDecoder("utf-8");function Lv(R){return R.type===Yl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Nx(R,S){for(var D=0;D>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function lC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Yl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=lC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Bx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+lC(this.buf,this.pos+4)*Bx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error("Expected varint not more than 10 bytes")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue="",ve=j;ve239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Yl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos127;);else if(S===Yl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Yl.Fixed32)this.pos+=4;else{if(S!==Yl.Fixed64)throw new Error("Unimplemented type: "+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Yl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Nx,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,L9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,pQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writeBytesField:function(R,S){this.writeTag(R,Yl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Yl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Yl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Yl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var tS=o(bd);let rS=3;function gQ(R,S,D){R===1&&D.readMessage(q9,S)}function q9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(uC,{});S.push({id:j,bitmap:new Ao({width:ue+2*rS,height:ve+2*rS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function uC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let cC=rS;function iS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Vx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Hx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},O9={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},B9={40:!0};function fC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function hC(R,S,D,j){let te=Math.pow(R-S,2);return j?R=0,at=0;for(let Ft=0;Ftat){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function pC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D==="width"||D==="both"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D==="height"||D==="both"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let jx=255,v0=128,lm=jx*v0;function gC(R,S){let{expression:D}=S;if(D.kind==="constant")return{kind:"constant",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind==="source")return{kind:"source"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ueve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=gC(this.zoom,D["text-size"]),this.iconSizeData=gC(this.zoom,D["icon-size"]);let j=this.layers[0].layout,te=j.get("symbol-sort-key"),ue=j.get("symbol-z-order");this.canOverlap=nS(j,"text-overlap","text-allow-overlap")!=="never"||nS(j,"icon-overlap","icon-allow-overlap")!=="never"||j.get("text-ignore-placement")||j.get("icon-ignore-placement"),this.sortFeaturesByKey=ue!=="viewport-y"&&!te.isConstant(),this.sortFeaturesByY=(ue==="viewport-y"||ue==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get("symbol-placement")==="point"&&(this.writingModes=j.get("text-writing-mode").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new sS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new sS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve0)&&(ve.value.kind!=="constant"||ve.value.value.length>0),Tt=Ze.value.kind!=="constant"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get("symbol-sort-key");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens("text-field",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||oS(Hn);(!lo||vs.getRTLTextPluginStatus()==="unavailable"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens("icon-image",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:U9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(","),Hn=ue.get("text-rotation-alignment")!=="viewport"&&ue.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get("symbol-placement")==="line"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;uete[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Wx;mi("SymbolBucket",E1,{omit:["layers","collisionBoxArray","features","compareText"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=aS;var Dw={get paint(){return Wx=Wx||new le({"icon-opacity":new eo(ce.paint_symbol["icon-opacity"]),"icon-color":new eo(ce.paint_symbol["icon-color"]),"icon-halo-color":new eo(ce.paint_symbol["icon-halo-color"]),"icon-halo-width":new eo(ce.paint_symbol["icon-halo-width"]),"icon-halo-blur":new eo(ce.paint_symbol["icon-halo-blur"]),"icon-translate":new Da(ce.paint_symbol["icon-translate"]),"icon-translate-anchor":new Da(ce.paint_symbol["icon-translate-anchor"]),"text-opacity":new eo(ce.paint_symbol["text-opacity"]),"text-color":new eo(ce.paint_symbol["text-color"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),"text-halo-color":new eo(ce.paint_symbol["text-halo-color"]),"text-halo-width":new eo(ce.paint_symbol["text-halo-width"]),"text-halo-blur":new eo(ce.paint_symbol["text-halo-blur"]),"text-translate":new Da(ce.paint_symbol["text-translate"]),"text-translate-anchor":new Da(ce.paint_symbol["text-translate-anchor"])})},get layout(){return tf=tf||new le({"symbol-placement":new Da(ce.layout_symbol["symbol-placement"]),"symbol-spacing":new Da(ce.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Da(ce.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new eo(ce.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Da(ce.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Da(ce.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Da(ce.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Da(ce.layout_symbol["icon-ignore-placement"]),"icon-optional":new Da(ce.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Da(ce.layout_symbol["icon-rotation-alignment"]),"icon-size":new eo(ce.layout_symbol["icon-size"]),"icon-text-fit":new Da(ce.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Da(ce.layout_symbol["icon-text-fit-padding"]),"icon-image":new eo(ce.layout_symbol["icon-image"]),"icon-rotate":new eo(ce.layout_symbol["icon-rotate"]),"icon-padding":new eo(ce.layout_symbol["icon-padding"]),"icon-keep-upright":new Da(ce.layout_symbol["icon-keep-upright"]),"icon-offset":new eo(ce.layout_symbol["icon-offset"]),"icon-anchor":new eo(ce.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Da(ce.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Da(ce.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Da(ce.layout_symbol["text-rotation-alignment"]),"text-field":new eo(ce.layout_symbol["text-field"]),"text-font":new eo(ce.layout_symbol["text-font"]),"text-size":new eo(ce.layout_symbol["text-size"]),"text-max-width":new eo(ce.layout_symbol["text-max-width"]),"text-line-height":new Da(ce.layout_symbol["text-line-height"]),"text-letter-spacing":new eo(ce.layout_symbol["text-letter-spacing"]),"text-justify":new eo(ce.layout_symbol["text-justify"]),"text-radial-offset":new eo(ce.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Da(ce.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new eo(ce.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new eo(ce.layout_symbol["text-anchor"]),"text-max-angle":new Da(ce.layout_symbol["text-max-angle"]),"text-writing-mode":new Da(ce.layout_symbol["text-writing-mode"]),"text-rotate":new eo(ce.layout_symbol["text-rotate"]),"text-padding":new Da(ce.layout_symbol["text-padding"]),"text-keep-upright":new Da(ce.layout_symbol["text-keep-upright"]),"text-transform":new eo(ce.layout_symbol["text-transform"]),"text-offset":new eo(ce.layout_symbol["text-offset"]),"text-allow-overlap":new Da(ce.layout_symbol["text-allow-overlap"]),"text-overlap":new Da(ce.layout_symbol["text-overlap"]),"text-ignore-placement":new Da(ce.layout_symbol["text-ignore-placement"]),"text-optional":new Da(ce.layout_symbol["text-optional"])})}};class Zx{constructor(S){if(S.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi("FormatSectionOverride",Zx,{omit:["defaultValue"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){let j=this.layout.get("text-writing-mode");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values["text-writing-mode"]=te}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):"")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Zx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind==="constant"||D.value.kind==="source"?new Xc("source",te):new ic("composite",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get("text-field"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind==="constant"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind==="source"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof $l?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let mC;var Xx={get paint(){return mC=mC||new le({"background-color":new Da(ce.paint_background["background-color"]),"background-pattern":new yc(ce.paint_background["background-pattern"]),"background-opacity":new Da(ce.paint_background["background-opacity"])})}};class H9 extends B{constructor(S){super(S,Xx)}}let lS;var yC={get paint(){return lS=lS||new le({"raster-opacity":new Da(ce.paint_raster["raster-opacity"]),"raster-hue-rotate":new Da(ce.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Da(ce.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Da(ce.paint_raster["raster-brightness-max"]),"raster-saturation":new Da(ce.paint_raster["raster-saturation"]),"raster-contrast":new Da(ce.paint_raster["raster-contrast"]),"raster-resampling":new Da(ce.paint_raster["raster-resampling"]),"raster-fade-duration":new Da(ce.paint_raster["raster-fade-duration"])})}};class Yx extends B{constructor(S){super(S,yC)}}class uS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class cS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!="undefined"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let fS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return fS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S=="object"&&S!==null)return new dg(Number("lng"in S?S.lng:S.lon),Number(S.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}let k1=2*Math.PI*fS;function _C(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function xC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/_C(S)}function Kx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class Jx{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new Jx(zw(j.lng),xC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Kx(this.y))}toAltitude(){return this.z*_C(Kx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Kx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class hS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=$x(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+","+Ze[1]+","+at[0]+","+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr="";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?"@2x":"").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class bC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=$x(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new hS(j,+te,+ue),this.key=$x(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?$x(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):$x(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrapS.wrap)&&(this.overscaledZS.overscaledZ)&&(this.canonical.xS.canonical.x)&&this.canonical.ythis.max&&(this.max=Ft),Ft=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error("dem dimension mismatch");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class dS{constructor(S,D,j,te,ue){this.type="Feature",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!=="_geometry"&&D!=="_vectorTileFeature"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new tS(this.rawTileData)).layers,this.sourceLayerCoder=new TC(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=SC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=SC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function SC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function G9(R,S){return S-R}function MC(R,S,D,j,te){let ue=[];for(let ve=0;ve=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi("FeatureIndex",cy,{omit:["rawTileData","sourceLayerCoder"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function vS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;Dej;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function EC(R){let S=0;for(let D=0;Dat){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||vS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function W9(R,S,D,j,te,ue,ve,De,Ze){let at=kC(j,ue,ve),Tt=CC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft=0&&ki=0&&Zi=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!vS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=LC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi("Anchor",vg);let C1=wd;function PC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=vC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=IC(Tt,Pr,sr),bo=IC(Ft,$r,Tr);for(let Ya=0;Ya0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?vC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>jte?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function Z9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;srue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],X9);if(Ze===0)return new u(j,te);for(let sr=j;srFt.d||!Ft.d)&&(Ft=sr,D&&console.log("found best %d after %d probes",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function X9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Zete.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]="center",ed[ed.left=2]="left",ed[ed.right=3]="right",ed[ed.top=4]="top",ed[ed.bottom=5]="bottom",ed[ed["top-left"]=6]="top-left",ed[ed["top-right"]=7]="top-right",ed[ed["bottom-left"]=8]="bottom-left",ed[ed["bottom-right"]=9]="bottom-right";let fm=7,fy=Number.POSITIVE_INFINITY;function pS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case"top-right":case"top-left":case"top":ve=te-fm;break;case"bottom-right":case"bottom-left":case"bottom":ve=-te+fm}switch(D){case"top-right":case"bottom-right":case"right":ue=-j;break;case"top-left":case"bottom-left":case"left":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case"top-right":case"top-left":ue=ve-fm;break;case"bottom-right":case"bottom-left":ue=-ve+fm;break;case"bottom":ue=-j+fm;break;case"top":ue=j-fm}switch(D){case"top-right":case"bottom-right":te=-ve;break;case"top-left":case"bottom-left":te=ve;break;case"left":te=j;break;case"right":te=-j}return[te,ue]}(R,S[0])}function RC(R,S,D){var j;let te=R.layout,ue=(j=te.get("text-variable-anchor-offset"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;atQt*kl);Tt.startsWith("top")?Ft[1]-=fm:Tt.startsWith("bottom")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get("text-variable-anchor");if(ve){let De;De=R._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[te.get("text-radial-offset").evaluate(S,{},D)*kl,fy]:te.get("text-offset").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,pS(at,De));return new Si(Ze)}return null}function gS(R){switch(R){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Y9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get("icon-offset").evaluate(S,{},Tt),Tr=zC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get("symbol-spacing"),ki=Qt.get("text-padding")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get("icon-padding").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get("text-max-angle")/180*Math.PI,Va=Qt.get("text-rotation-alignment")!=="viewport"&&Qt.get("symbol-placement")!=="point",Io=Qt.get("icon-rotation-alignment")==="map"&&Qt.get("symbol-placement")!=="point",La=Qt.get("symbol-placement"),Hn=pi/2,lo=Qt.get("icon-text-fit"),$a;j&&lo!=="none"&&(R.allowVerticalPlacement&&D.vertical&&($a=pC(j,D.vertical,lo,Qt.get("icon-text-fit-padding"),sr,Pr)),Tr&&(j=pC(j,Tr,lo,Qt.get("icon-text-fit-padding"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,bS=-1,Uw=-1,g0={},hy=ui("");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get("text-rotate").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get("icon-rotate").evaluate(qu,{}),tp=ch.layout.get("icon-text-fit")!=="none",hm=PC(uh,Ad,Rv,tp),Gd=td?PC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind==="source"?(yp=[v0*ch.layout.get("icon-size").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for "icon-size" is >= ${jx}. Reduce your "icon-size".`)):Sd.kind==="composite"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for "icon-size" is >= ${jx}. Reduce your "icon-size".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),bS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get("text-rotate").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=DC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,bS,Tu,qc),hm)break}hu.vertical&&(R1+=DC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,["vertical"],g0,Uw,Tu,qc));let $9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,BC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,Q9=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,NC=If?If.boxStartIndex:Ya.collisionBoxArray.length,eq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,tb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=tb(Gp,mp),mp=tb(oc,mp),mp=tb(Qv,mp),mp=tb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let wS=RC(ch,qu,qc),[tq,rq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,bS,Uw,hy,$9,Vw,m0,cv,BC,Q9,NC,eq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,tq,rq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La==="line")for(let Tn of MC(S.geometry,0,0,za,za)){let bo=W9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&K9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La==="line-center"){for(let Tn of S.geometry)if(Tn.length>1){let bo=j9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type==="Polygon")for(let Tn of Of(S.geometry,0)){let bo=Z9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type==="LineString")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type==="Point")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function DC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get("text-rotate").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=cC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind==="source"?(ni=[v0*te.layout.get("text-size").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for "text-size" is >= ${jx}. Reduce your "text-size".`)):$r.kind==="composite"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for "text-size" is >= ${jx}. Reduce your "text-size".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function zC(R){for(let S in R)return R[S];return null}function K9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=FC[15&j];if(!ue)throw new Error("Unrecognized array type.");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new mS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=FC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)OC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];OC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;qC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function qC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);qC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(Qx(R,S,j,D),S[2*te+ue]>ve&&Qx(R,S,j,te);Deve;)Ze--}S[2*j+ue]===ve?Qx(R,S,j,Ze):(Ze++,Qx(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function Qx(R,S,D,j){yS(R,D,j),yS(S,2*D,2*j),yS(S,2*D+1,2*j+1)}function yS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function OC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create="create",Bw.load="load",Bw.fullLoad="fullLoad";let eb=null,Gf=[],_S=1e3/60,xS="loadTime",Nw="fullLoadTime",J9={mark(R){performance.mark(R)},frame(R){let S=R;eb!=null&&Gf.push(S-eb),eb=S},clearMetrics(){eb=null,Gf=[],performance.clearMeasures(xS),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(xS,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(xS)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>_S).reduce((ue,ve)=>ue+(ve-_S)/_S,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\b(iPad|iPhone|iPod)\b/.test(S)||S.match("Safari")&&!S.match("Chrome")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new cS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,"message",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener("abort",()=>{delete this.resolveRejects[te];let De={id:te,type:"",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!=="file://"&&location.origin!=="file://"&&S.origin!=="resource://android"&&location.origin!=="resource://android"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===""){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===""){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:"",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j{let S=window.document.createElement("video");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement("source");Ee(j)||(S.crossOrigin="Anonymous"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=dS,i.aA=function(R){if(R.type==="custom")return new uS(R);switch(R.type){case"background":return new H9(R);case"circle":return new wn(R);case"fill":return new gr(R);case"fill-extrusion":return new Ev(R);case"heatmap":return new Po(R);case"hillshade":return new $c(R);case"line":return new ay(R);case"raster":return new Yx(R);case"symbol":return new uy(R)}},i.aB=p,i.aC=function(R,S){if(!R)return[{command:"setStyle",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:"setStyle",args:[S]}];ct(R.center,S.center)||D.push({command:"setCenter",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:"setZoom",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:"setBearing",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:"setPitch",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:"setSprite",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:"setGlyphs",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:"setTransition",args:[S.transition]}),ct(R.light,S.light)||D.push({command:"setLight",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:"setTerrain",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:"setSky",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:"setProjection",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type==="geojson"&&De[Tt].type==="geojson"&&kt(ve,De,Tt)?qt(Ze,{command:"setGeoJSONSourceData",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{"source"in ve&&j[ve.source]?D.push({command:"removeLayer",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),""}),S["max-age"]){let D=parseInt(S["max-age"],10);isNaN(D)?delete S["max-age"]:S["max-age"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind==="constant")j=R.layoutSize;else if(R.kind!=="source"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind==="camera"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind==="source"?j/v0:R.kind==="composite"?Mo.number(j/v0,te/v0,D):S},i.aj=aS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=MC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=nS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=gS,i.au=Iw,i.av=mS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D==="version"?S:j.type==="array"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=fS,i.bf=J9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;teXa*kl)}let La=ve?"center":D.get("text-justify").evaluate(at,{},R.canonical),Hn=D.get("symbol-placement")==="point"?D.get("text-max-width").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Hx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,"left",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La==="auto")for(let Tn=0;Tna(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:"image/png"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));let te=new Blob([new Uint8Array(R)],{type:"image/png"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:"json"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:"arrayBuffer"}),S),i.m=Te,i.n=function(R){return new tS(R).readFields(gQ,[])},i.o=Ao,i.p=iS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r("worker",["./shared"],function(i){"use strict";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility==="none")continue;let xe=Le.source||"",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||"_geojsonTileLayer",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl("GlyphAtlas",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source "${this.source}" layer "${_n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom=ft.maxzoom||ft.visibility!=="none"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:"GG",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:"glyphs"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:"GI",data:{icons:ar,source:this.source,tileID:this.tileID,type:"icons"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:"GI",data:{icons:ai,source:this.source,tileID:this.tileID,type:"patterns"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status="done",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status="done",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status==="parsing"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status==="done"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe==="FeatureCollection")for(Ve=0;Ve>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xeut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time("total time");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log("z%d: %d clusters in %dms",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd("total time"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe="No cluster with the specified id.",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;VtYe&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:"Feature",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:"Point",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+"k":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;arXe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);aiVe&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne==="Point"||Ne==="MultiPoint"||Ne==="LineString")Ce(Xe,Ye);else if(Ne==="Polygon")Ce(Xe,Ye[0]);else if(Ne==="MultiLineString")for(let ht of Ye)Ce(Xe,ht);else if(Ne==="MultiPolygon")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr=Ve)continue;let ai=[];if(Vt==="Point"||Vt==="MultiPoint")rt(Gt,ai,Ye,Ve,Xe);else if(Vt==="LineString")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt==="MultiLineString")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt==="Polygon")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt==="MultiPolygon")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt==="LineString"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!=="LineString"&&Vt!=="MultiLineString"||(ai.length===1?(Vt="LineString",ai=ai[0]):Vt="MultiLineString"),Vt!=="Point"&&Vt!=="MultiPoint"||(Vt=ai.length===3?"Point":"MultiPoint"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;riYe&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;SeLe)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt0===lt)for(let Vt=0,ar=Se.length;Vt24)throw new Error("maxZoom should be in the 0-24 range");if(Ye.promoteId&&Ye.generateId)throw new Error("promoteId and generateId cannot be used together.");let Xe=function(ht,Le){let xe=[];if(ht.type==="FeatureCollection")for(let Se=0;Se1&&console.time("creation"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd("creation"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time("clipping");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd("clipping"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<1&&console.log("drilling down to z%d-%d-%d",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log("found parent tile z%d-%d-%d",Gt,Vt,ar),console.time("drilling down")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd("drilling down"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!="object")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(Xe.result==="error")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(", "));Ve={type:"FeatureCollection",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data=="string")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name "${Ye}" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error("RTL text plugin already registered.");i.bD.setMethods(Ye)},this.actor.registerMessageHandler("LDT",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler("RDT",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler("GCEZ",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler("GCC",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler("GCL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler("LD",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler("GD",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler("LT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler("RT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler("AT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler("RMT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler("RS",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler("RM",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler("SR",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler("SRPS",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler("IS",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler("SI",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler("UL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler("SL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!=="loading")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:"loaded",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case"vector":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case"geojson":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r("index",["exports","./shared"],function(i,a){"use strict";var o="4.7.1";let s,l,u={now:typeof performance!="undefined"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener("abort",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement("canvas"),B=w.getContext("2d",{willReadFrequently:!0});if(!B)throw new Error("failed to create canvas 2d context");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement("a")),s.href=le,s.href),hardwareConcurrency:typeof navigator!="undefined"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia("(prefers-reduced-motion: reduce)")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B{window.removeEventListener("click",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept="image/webp,*/*"),a.e(it,{type:"image"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:"queued",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state="running";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je==="accept",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state="completed",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap=="function"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he==="include"?hr.crossOrigin="use-credentials":(he&&he==="same-origin"||!a.s(Sr))&&(hr.crossOrigin="anonymous"),yt.signal.addEventListener("abort",()=>{hr.src="",Nt(a.c())}),hr.fetchPriority="high",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},hr.src=Sr})}(g||(g={})),g.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le=="string")w.push({id:"default",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split("?");return Q[0]+=`${w}${B}`,Q.join("?")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class p{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchX" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchY" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "content" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k("styleimagemissing",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image "${Q}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new p(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: "${B}" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je65535)throw new Error("glyphs > 65535 not supported");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error("glyphsUrl is not set");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je="400";/bold/i.test(B)?je="900":/medium/i.test(B)?je="500":/light/i.test(B)&&(je="200"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace("{fontstack}",le).replace("{range}",`${ee}-${se}`),"Glyphs"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee="sans-serif",fontWeight:se="normal",fontStyle:qe="normal"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext("2d",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline="alphabetic",yt.textAlign="left",yt.fillStyle="black",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement("canvas");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w("LineAtlas out of space"),null;let se=0;for(let je=0;je{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler("GR",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type==="fill-extrusion")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type==="fill-extrusion")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer["source-layer"],Sr.id);Sr.source=Sr.layer.source,Sr.layer["source-layer"]&&(Sr.sourceLayer=Sr.layer["source-layer"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,"Source"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&("lng"in w||"lon"in w)&&"lat"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x=ee&&w.y{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,"Tile"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee="RT";if(w.actor&&w.state!=="expired"){if(w.state==="loading")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee="LT";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:"AT",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:"RMT",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=a.e({type:"raster"},B),a.e(this,a.M(B,["url","scheme","tileSize"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield g.getImage(this.map._requestManager.transformRequest(B,"Tile"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new p(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state="loaded"}}catch(Q){if(delete w.abortController,w.aborted)w.state="unloaded";else if(Q)throw w.state="errored",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type="raster-dem",this.maxzoom=22,this._options=a.e({type:"raster-dem"},B),this.encoding=B.encoding||"mapbox",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,"Tile");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield g.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state==="expired"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:"LDT",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state="loaded"}}}catch(ee){if(delete w.abortController,w.aborted)w.state="unloaded";else if(ee)throw w.state="errored",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!="undefined"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+10&&a.e(se,{resourceTiming:ee}),this.fire(new a.k("data",Object.assign(Object.assign({},se),{sourceDataType:"metadata"}))),this.fire(new a.k("data",Object.assign(Object.assign({},se),{sourceDataType:"content"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k("dataabort",{dataType:"source"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?"RT":"LT";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B==="RT")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:w.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield g.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new p(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!=="loaded"&&(se.state="loaded",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type="video",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,"Source").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;wB.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new p(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!=="loaded"&&(se.state="loaded",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!="number"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property "coordinates"'))),B.animate&&typeof B.animate!="boolean"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional "animate" property must be a boolean value'))),B.canvas?typeof B.canvas=="string"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property "canvas"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new a.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new p(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!=="loaded"&&(qe.state="loaded",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case"geojson":return rt;case"image":return Rt;case"raster":return ct;case"raster-dem":return qt;case"vector":return nt;case"video":return kt;case"canvas":return Ct}return Yt[le]},er="RTLPluginLoaded";class Ke extends a.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast("SRPS",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status="error",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status==="unavailable"){if(!Q)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new a.k(er))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(w){let B=w+this.timeAdded;Bse.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new p(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new p(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:"",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hrQ)ee=!1;else if(B)if(this.expirationTime{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on("data",ee=>this._dataHandler(ee)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!=="loaded"&&B.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state="errored",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k("dataabort",{tile:w,coord:w.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!=="errored"&&this._reloadTile(w,"reloading")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!=="loading"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q==="expired"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type==="raster-dem"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k("data",{dataType:"source",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||Bthis._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k("dataloading",{tile:B,coord:B.tileID,dataType:"source"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,"expired"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!=="reloading"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType==="source"&&B==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType==="source"&&B==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||"_geojsonTileLayer",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||"_geojsonTileLayer",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||"_geojsonTileLayer",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,"reloading");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le==="raster"||le==="image"||le==="video"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le==="always"||le!=="never"&&w!=="never"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qethis.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;UtMath.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.yB.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;eaGa.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.xXr.x||Ga.yXr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;Tout(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt=this.screenRightBoundary||eethis.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w=0&&Bthis.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get("text-pitch-alignment")==="map",be=it.get("text-rotation-alignment")==="map",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get("text-translate"),yt.get("text-translate-anchor")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get("icon-translate"),yt.get("icon-translate-anchor")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get("text-optional"),Je=se.get("icon-optional"),He=a.ar(se,"text-overlap","text-allow-overlap"),et=He==="always",Mt=a.ar(se,"icon-overlap","icon-allow-overlap"),Dt=Mt==="always",Ut=se.get("text-rotation-alignment")==="map",tr=se.get("text-pitch-alignment")==="map",mr=se.get("icon-text-fit")!=="none",Rr=se.get("symbol-z-order")==="viewport-y",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Vl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Vl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let Dl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},zl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};zl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),Dl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt==="never"?wt:null,Ir=null,oi=He==="never"?1:2,ui="never";we&&oi++;for(let qr=0;qrBe(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=Dl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let Dl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),zl=a.ai(ee.textSizeData,be,Dl),Z=se.get("text-padding");yo=this.collisionIndex.placeCollisionCircles(He,Dl,ee.lineVertexArray,ee.glyphOffsetArray,zl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w("Collisions detected, but collision boxes are not shown"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let Dl=zl=>this.collisionIndex.placeCollisionBox(zl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=Dl(Qi.verticalIconBox),To=po.placeable):(po=Dl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,nu=Je||Ci.numIconVertices===0;el||nu?nu?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get("text-ignore-placement"),ee.bucketInstanceId,Ds&&Ds.placeable&&Vl?Vl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get("icon-ignore-placement"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get("text-ignore-placement"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(ee.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get("text-allow-overlap"),yt=qe.get("icon-allow-overlap"),Ot=se._unevaluatedLayout.hasValue("text-variable-anchor")||se._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Nt=qe.get("text-rotation-alignment")==="map",hr=qe.get("text-pitch-alignment")==="map",Sr=qe.get("icon-text-fit")!=="none",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get("icon-optional")),yt&&(it||!w.hasTextData()||qe.get("text-optional")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,"left",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTimew}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error("Not implemented.")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je==="map"?ee.angle:0:je==="viewport"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get("symbol-z-order")!=="viewport-y"&&!w.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndexje.sortKey-it.sortKey));this._currentPartIndex!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type==="symbol"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.zw)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;sew.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!=="source.canvas")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!=="vector"&&ee!=="geojson"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler("GG",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler("GI",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on("data",Q=>{if(Q.dataType!=="source"||Q.sourceDataType!=="metadata")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),B.validate=typeof B.validate!="boolean"||B.validate;let ee=this.map._requestManager.transformRequest(w,"Style");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k("dataloading",{dataType:"style"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k("data",{dataType:"style"})),this.fire(new a.k("style.load"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?"@2x":"",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,".json"),"SpriteJSON");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,".png"),"SpriteImage");hr[Sr]=g.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe==="default"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type==="geojson"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer "${Q}" does not exist on source "${ee.id}" as specified by style layer "${w.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!=="custom"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je==="reload")this._reloadSource(qe);else{if(je!=="clear")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies(["icons","patterns"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(", ")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":B.push(()=>this.addLayer.apply(this,ee.args));break;case"removeLayer":B.push(()=>this.removeLayer.apply(this,ee.args));break;case"setPaintProperty":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case"setLayoutProperty":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case"setFilter":B.push(()=>this.setFilter.apply(this,ee.args));break;case"addSource":B.push(()=>this.addSource.apply(this,ee.args));break;case"removeSource":B.push(()=>this.removeSource.apply(this,ee.args));break;case"setLayerZoomRange":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case"setLight":B.push(()=>this.setLight.apply(this,ee.args));break;case"setGeoJSONSourceData":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case"setGlyphs":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case"setSprite":B.push(()=>this.setSprite.apply(this,ee.args));break;case"setSky":B.push(()=>this.setSky.apply(this,ee.args));break;case"setTerrain":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case"setTransition":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source "${w}" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error("There is no source with this ID");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source "${w}" cannot be removed while layer "${Q}" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!=="geojson")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer "${ee}" already exists on this map.`)));let se;if(w.type==="custom"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if("source"in w&&typeof w.source=="object"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer "${ee}" before non-existing layer "${B}".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!=="custom"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]="clear":(this._updatedSources[se.source]="reload",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer "${w}" before non-existing layer "${B}".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer "${w}".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer "${w}".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer "${w}".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer "${w}".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe==="geojson"&&ee?this.fire(new a.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):qe!=="vector"||ee?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se==="vector"?w.sourceLayer:void 0;se!=="vector"||qe?B&&typeof w.id!="string"&&typeof w.id!="number"?this.fire(new a.j(new Error("A feature id is required to remove its specific state property."))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!=="vector"||Q?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!=="raster"&&(this._updatedSources[w.source]="reload",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type==="fill-extrusion",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer["source-layer"],He.id);He.source=He.layer.source,He.layer["source-layer"]&&(He.sourceLayer=He.layer["source-layer"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,"querySourceFeatures.filter",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;ythr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type==="symbol"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[""]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,"glyphs",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,"sprite",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}else this.fire(new a.j(new Error(`Sprite "${w}" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,"sprite",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:"a_pos",type:"Int16",components:2}]);let xn={prelude:_t(`#ifdef GL_ES +precision mediump float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +`,`#ifdef GL_ES +precision highp float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 +);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;} +#ifdef TERRAIN3D +uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; +#endif +const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { +#ifdef TERRAIN3D +highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); +#else +return 1.0; +#endif +}float calculate_visibility(vec4 pos) { +#ifdef TERRAIN3D +vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; +#else +return 1.0; +#endif +}float ele(vec2 pos) { +#ifdef TERRAIN3D +vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; +#else +return 0.0; +#endif +}float get_elevation(vec2 pos) { +#ifdef TERRAIN3D +vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; +#else +return 0.0; +#endif +}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:_t(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:_t(`varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main(void) { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:_t(`uniform highp float u_intensity;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#define GAUSS_COEF 0.3989422804014327 +void main() { +#pragma mapbox: initialize highp float weight +float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#pragma mapbox: define mediump float radius +const highp float ZERO=1.0/255.0/16.0; +#define GAUSS_COEF 0.3989422804014327 +void main(void) { +#pragma mapbox: initialize highp float weight +#pragma mapbox: initialize mediump float radius +vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(0.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:_t("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:_t("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:_t("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:_t(`#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_FragColor=color*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec4 v_color; +#pragma mapbox: define highp float base +#pragma mapbox: define highp float height +#pragma mapbox: define highp vec4 color +void main() { +#pragma mapbox: initialize highp float base +#pragma mapbox: initialize highp float height +#pragma mapbox: initialize highp vec4 color +vec3 normal=a_normal_ed.xyz; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_t(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:_t(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:_t(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),lineGradient:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_t(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_t(`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_t(`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_t("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:_t("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:_t("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:_t("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function _t(le,w){let B=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,Q=w.match(/attribute ([\w]+) ([\w]+)/g),ee=le.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),se=w.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +varying ${Ot} ${Nt} ${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:` +#ifdef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt==="float"?"vec2":"vec4",he=hr.match(/color/)?"color":Sr;return je[hr]?yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +uniform lowp float u_${hr}_t; +attribute ${Ot} ${Sr} a_${hr}; +varying ${Ot} ${Nt} ${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:he==="vec4"?` +#ifndef HAS_UNIFORM_u_${hr} + ${hr} = a_${hr}; +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${hr} + ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t); +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +uniform lowp float u_${hr}_t; +attribute ${Ot} ${Sr} a_${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:he==="vec4"?` +#ifndef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = a_${hr}; +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t); +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get("fog-color"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get("horizon-color"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get("horizon-fog-blend"):1});function ti(le){let w=[];for(let B=0;B({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get("position"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get("anchor")==="viewport"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get("color");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get("intensity"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get("circle-pitch-alignment")==="map"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get("circle-pitch-scale")==="map"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get("circle-translate"),Q.paint.get("circle-translate-anchor")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get("heatmap-opacity")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get("line-cap")==="round",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get("line-translate"),B.paint.get("line-translate-anchor"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get("raster-brightness-min"),u_brightness_high:ee.paint.get("raster-brightness-max"),u_saturation_factor:(qe=ee.paint.get("raster-saturation"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get("raster-contrast"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get("raster-hue-rotate"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le==="constant"||le==="source"),u_is_size_feature_constant:+(le==="constant"||le==="camera"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),$l=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram("collisionCircle"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;Hele.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get("text-rotation-alignment")==="map";Ve(di,zr.posMatrix,le,ee,Vl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let Dl=zr.posMatrix,zl=ee&&tr||zc,Z=Je||zl?uu:Vl,oe=Zu,we=Qi&&B.paint.get(ee?"text-halo-width":"icon-halo-width").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram("heatmap",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get("heatmap-intensity")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram("heatmapTexture").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new p(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it="fill-pattern",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",hr=je.LINES):(Sr=Ot?"fillPattern":"fill",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get("fill-translate"),B.paint.get("fill-translate-anchor"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr==="fillOutlinePattern"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt="fill-extrusion-pattern",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get("fill-extrusion-opacity"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?"fillExtrusionPattern":"fillExtrusion",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get("fill-extrusion-translate"),B.paint.get("fill-extrusion-translate-anchor")),Dt=B.paint.get("fill-extrusion-vertical-gradient"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram("hillshade"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get("hillshade-shadow-color"),Oe=he.paint.get("hillshade-highlight-color"),Je=he.paint.get("hillshade-accent-color"),He=he.paint.get("hillshade-illumination-direction")*(Math.PI/180);he.paint.get("hillshade-illumination-anchor")==="viewport"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get("hillshade-exaggeration"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new p(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new p(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram("hillshadePrepare").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get("raster-fade-duration");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram("debug"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot="$debug",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext("2d");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor="white",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle="white",Mt.textBaseline="top",Mt.font="bold 36px Open Sans, sans-serif",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function eu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram("terrain"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,"terrain",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je({u_sky_color:Oe.properties.get("sky-color"),u_horizon_color:Oe.properties.get("horizon-color"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get("sky-horizon-blend")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram("sky");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,"sky",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerPe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type==="vector"),he=hr.filter(Pe=>Pe.getSource().type!=="vector"),be=Pe=>{(!Nt||Nt.getSource().maxzoombe(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram("terrainDepth");je.bindFramebuffer.set(qe.getFramebuffer("depth").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,"terrain",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram("terrainCoords");je.bindFramebuffer.set(qe.getFramebuffer("coords").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,"terrain",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type==="background"||Q.type==="custom"||(ee||[]).length))switch(this.id=Q.id,Q.type){case"symbol":(function(se,qe,je,it,yt){if(se.renderPass!=="translucent")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue("text-variable-anchor")||je._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe==="map",tr=Oe==="map";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get("icon-text-fit")!=="none"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get("text-rotation-alignment"),je.layout.get("text-pitch-alignment"),je.paint.get("text-translate"),je.paint.get("text-translate-anchor"),yt),je.paint.get("icon-opacity").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get("icon-translate"),je.paint.get("icon-translate-anchor"),je.layout.get("icon-rotation-alignment"),je.layout.get("icon-pitch-alignment"),je.layout.get("icon-keep-upright"),Ot,Nt),je.paint.get("text-opacity").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get("text-translate"),je.paint.get("text-translate-anchor"),je.layout.get("text-rotation-alignment"),je.layout.get("text-pitch-alignment"),je.layout.get("text-keep-upright"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case"circle":(function(se,qe,je,it){if(se.renderPass!=="translucent")return;let yt=je.paint.get("circle-opacity"),Ot=je.paint.get("circle-stroke-width"),Nt=je.paint.get("circle-stroke-opacity"),hr=!je.layout.get("circle-sort-key").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;HeHe.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case"heatmap":(function(se,qe,je,it){if(je.paint.get("heatmap-opacity")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass==="offscreen"?nh(se,Nt,je,Ot):se.renderPass==="translucent"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass==="offscreen"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case"background":(function(se,qe,je,it){let yt=je.paint.get("background-color"),Ot=je.paint.get("background-opacity");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get("background-pattern");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?"opaque":"translucent";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe==="opaque"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?"backgroundPattern":"background"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):$l(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case"custom":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass==="offscreen"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass==="translucent"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode==="3d"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee==="map"?this.transform.angle:0:ee==="viewport"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new p(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;jethis.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&eew.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qeje&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mtyt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error("failed to invert matrix");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace("#","");if(this._hashName){let Q;return B.split("&").map(ee=>ee.split("=")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||"").split("/")}return B.split("/")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join("/"),ee=Q;ee.split("&").length>0&&(ee=ee.split("&")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,"");se.startsWith("#&")?se=se.slice(0,1)+se.slice(2):se==="#"&&(se="");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace("&&","&"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot="";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+="/"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split("&").map(he=>{let be=he.split("=")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join("&")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.durationB.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new tu(w.type,this._map,w))}mouseup(w){this._map.fire(new tu(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new tu(w.type,this._map,w))}dblclick(w){return this._firePreventable(new tu(w.type,this._map,w))}mouseover(w){this._map.fire(new tu(w.type,this._map,w))}mouseout(w){this._map.fire(new tu(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new tu(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new tu("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new tu(w.type,this._map,w)),this._map.listens("contextmenu")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",w))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Qthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q){le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Rl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:"keyboardHandler",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type="wheel":B!==0&&Math.abs(B)<4?this._type="trackpad":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type==="wheel"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom=="number"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type==="wheel"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom=="number"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type==="wheel"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add("maplibregl-cooperative-gestures"),this._container=c.create("div","maplibregl-cooperative-gesture-screen",w);let B=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(B=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let Q=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),ee=document.createElement("div");ee.className="maplibregl-desktop-message",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement("div");se.className="maplibregl-mobile-message",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(c.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k("cooperativegestureprevented",{gestureType:w,originalEvent:B})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type==="renderFrame"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,"touchstart",{passive:!0}],[Q,"touchmove",{passive:!1}],[Q,"touchend",void 0],[Q,"touchcancel",void 0],[Q,"mousedown",void 0],[Q,"mousemove",void 0],[Q,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[Q,"mouseover",void 0],[Q,"mouseout",void 0],[Q,"dblclick",void 0],[Q,"click",void 0],[Q,"keydown",{capture:!1}],[Q,"keyup",void 0],[Q,"wheel",{passive:!1}],[Q,"contextmenu",void 0],[window,"blur",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add("mapEvent",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add("boxZoom",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add("cooperativeGestures",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add("tapZoom",qe),this._add("clickZoom",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add("tapDragZoom",it);let yt=B.touchPitch=new gf(B);this._add("touchPitch",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Rl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add("mouseRotate",Ot,["mousePitch"]),this._add("mousePitch",Nt,["mouseRotate"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add("mousePan",hr),this._add("touchPan",Sr,["touchZoom","touchRotate"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new ru;B.touchZoomRotate=new Ti(Q,be,he,it),this._add("touchRotate",he,["touchPan","touchZoom"]),this._add("touchZoom",be,["touchPan","touchRotate"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add("scrollZoom",Pe,["mousePan"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add("keyboard",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add("blockableMapEvent",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent("movestart",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent("move",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mi("renderFrame",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing()){if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k("movestart",w)),this._zooming&&!Q.zooming&&this.fire(new a.k("zoomstart",w)),this._rotating&&!Q.rotating&&this.fire(new a.k("rotatestart",w)),this._pitching&&!Q.pitching&&this.fire(new a.k("pitchstart",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitudethis._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k("move",w)),this._zooming&&this.fire(new a.k("zoom",w)),this._rotating&&this.fire(new a.k("rotate",w)),this._pitching&&this.fire(new a.k("pitch",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k("zoomend",w)),ee&&this.fire(new a.k("rotateend",w)),se&&this.fire(new a.k("pitchend",w)),this.fire(new a.k("moveend",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt="bearing"in w?this._normalizeBearing(w.bearing,qe):qe,Ot="pitch"in w?+w.pitch:je,Nt="padding"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if("minZoom"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration="duration"in w?+w.duration:1e3*Ci/("screenSpeed"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'MapLibre'};class qa{constructor(w=Ea){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=B=>{!B||B.sourceDataType!=="metadata"&&B.sourceDataType!=="visibility"&&B.dataType!=="style"&&B.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=w}getDefaultPosition(){return"bottom-right"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=c.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=c.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!="string"?"":ee)):typeof this.options.customAttribution=="string"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe=0)return!1;return!0});let Q=w.join(" | ");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add("maplibregl-compact"):Q.classList.remove("maplibregl-compact")}},this.options=w}getDefaultPosition(){return"bottom-left"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create("div","maplibregl-ctrl");let B=c.create("a","maplibregl-ctrl-logo");return B.target="_blank",B.rel="noopener nofollow",B.href="https://maplibre.org/",B.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),B.setAttribute("rel","noopener nofollow"),this._container.appendChild(B),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:"a_pos3d",type:"Int16",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration=="number"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B=0&&Qw.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let qe=w.canonical.x-(w.canonical.x>>se<>se<>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new p(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(eu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,"mousemove",this.mousemove),c.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.addEventListener(window,"touchend",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Rl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,"mousedown",this.mousedown),c.addEventListener(B,"touchstart",this.touchstart,{passive:!1}),c.addEventListener(B,"touchcancel",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,"mousedown",this.mousedown),c.removeEventListener(w,"touchstart",this.touchstart,{passive:!1}),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend),c.removeEventListener(w,"touchcancel",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,"mousemove",this.mousemove),c.removeEventListener(window,"mouseup",this.mouseup),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let iu={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Ru(le,w,B){let Q=le.classList;for(let ee in iu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!=="Space"&&Q!=="Enter"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)==="terrain"||(B==null?void 0:B.type)==="render"&&!ee)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let se="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?qe="rotateX(0deg)":this._pitchAlignment==="map"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!=="moveend"||(this._pos=this._pos.round()),c.setTransform(this._element,`${iu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type==="moveend")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new a.k("dragstart"))),this.fire(new a.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new a.k("dragend")),this._state="inactive"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=w&&w.anchor||"center",this._color=w&&w.color||"#3FB1CE",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||"auto",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!=="auto"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create("div");let B=c.createNS("http://www.w3.org/2000/svg","svg"),Q=41,ee=27;B.setAttributeNS(null,"display","block"),B.setAttributeNS(null,"height",`${Q}px`),B.setAttributeNS(null,"width",`${ee}px`),B.setAttributeNS(null,"viewBox",`0 0 ${ee} ${Q}`);let se=c.createNS("http://www.w3.org/2000/svg","g");se.setAttributeNS(null,"stroke","none"),se.setAttributeNS(null,"stroke-width","1"),se.setAttributeNS(null,"fill","none"),se.setAttributeNS(null,"fill-rule","evenodd");let qe=c.createNS("http://www.w3.org/2000/svg","g");qe.setAttributeNS(null,"fill-rule","nonzero");let je=c.createNS("http://www.w3.org/2000/svg","g");je.setAttributeNS(null,"transform","translate(3.0, 29.0)"),je.setAttributeNS(null,"fill","#000000");let it=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(let Oe of it){let Je=c.createNS("http://www.w3.org/2000/svg","ellipse");Je.setAttributeNS(null,"opacity","0.04"),Je.setAttributeNS(null,"cx","10.5"),Je.setAttributeNS(null,"cy","5.80029008"),Je.setAttributeNS(null,"rx",Oe.rx),Je.setAttributeNS(null,"ry",Oe.ry),je.appendChild(Je)}let yt=c.createNS("http://www.w3.org/2000/svg","g");yt.setAttributeNS(null,"fill",this._color);let Ot=c.createNS("http://www.w3.org/2000/svg","path");Ot.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),yt.appendChild(Ot);let Nt=c.createNS("http://www.w3.org/2000/svg","g");Nt.setAttributeNS(null,"opacity","0.25"),Nt.setAttributeNS(null,"fill","#000000");let hr=c.createNS("http://www.w3.org/2000/svg","path");hr.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),Nt.appendChild(hr);let Sr=c.createNS("http://www.w3.org/2000/svg","g");Sr.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Sr.setAttributeNS(null,"fill","#FFFFFF");let he=c.createNS("http://www.w3.org/2000/svg","g");he.setAttributeNS(null,"transform","translate(8.0, 8.0)");let be=c.createNS("http://www.w3.org/2000/svg","circle");be.setAttributeNS(null,"fill","#000000"),be.setAttributeNS(null,"opacity","0.25"),be.setAttributeNS(null,"cx","5.5"),be.setAttributeNS(null,"cy","5.5"),be.setAttributeNS(null,"r","5.4999962");let Pe=c.createNS("http://www.w3.org/2000/svg","circle");Pe.setAttributeNS(null,"fill","#FFFFFF"),Pe.setAttributeNS(null,"cx","5.5"),Pe.setAttributeNS(null,"cy","5.5"),Pe.setAttributeNS(null,"r","5.4999962"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,"height",Q*this._scale+"px"),B.setAttributeNS(null,"width",ee*this._scale+"px"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",B=>{B.preventDefault()}),this._element.addEventListener("mousedown",B=>{B.preventDefault()}),Ru(this._element,this._anchor,"marker"),w&&w.className)for(let B of w.className.split(" "))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute("aria-label",w._getUIString("Marker.Title")),w.getCanvasContainer().appendChild(this._element),w.on("move",this._update),w.on("moveend",this._update),w.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),w){if(!("offset"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[ee,-1*(38.1-13.5+ee)],"bottom-right":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!=="auto"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:"metric"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit==="imperial"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString("ScaleControl.Miles")):Da(w,Q,it,le._getUIString("ScaleControl.Feet"))}else B&&B.unit==="nautical"?Da(w,Q,je/1852,le._getUIString("ScaleControl.NauticalMiles")):je>=1e3?Da(w,Q,je/1e3,le._getUIString("ScaleControl.Kilometers")):Da(w,Q,je,le._getUIString("ScaleControl.Meters"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+"px",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Jc=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function yc(le){if(le){if(typeof le=="number"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),"top-left":new a.P(w,w),"top-right":new a.P(-w,w),bottom:new a.P(0,-le),"bottom-left":new a.P(w,-w),"bottom-right":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,"top-left":w,"top-right":w,bottom:w,"bottom-left":w,"bottom-right":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),"top-left":a.P.convert(le["top-left"]||[0,0]),"top-right":a.P.convert(le["top-right"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),"bottom-left":a.P.convert(le["bottom-left"]||[0,0]),"bottom-right":a.P.convert(le["bottom-right"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);c.create("span","maplibregl-ctrl-icon",le).setAttribute("aria-hidden","true"),le.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute("aria-label",le),this._fullscreenButton.title=le}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new a.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k("outofmaxbounds",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new a.k("geolocate",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new a.k("error",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",w=>w.preventDefault()),this._geolocateButton=c.create("button","maplibregl-ctrl-geolocate",this._container),c.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w("Geolocation support is not available so the GeolocateControl will be disabled.");let B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}else{let B=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=c.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ac({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",B=>{B.geolocateSource||this._watchState!=="ACTIVE_LOCK"||B.originalEvent&&B.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new a.k("trackuserlocationend")),this.fire(new a.k("userlocationlostfocus")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitudew.getEast()||B.latitudew.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new a.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":bu--,Kc=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new a.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.k("trackuserlocationstart")),this.fire(new a.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(w.minPitch!=null&&w.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k("webglcontextlost",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k("webglcontextrestored",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=g.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container=="string"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),typeof window!="undefined"){addEventListener("online",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash=="string"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl=="boolean"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",B=>{this._update(B.dataType==="style"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on("dataloading",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on("dataabort",B=>{this.fire(new a.k("sourcedataabort",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():"top-right"),!le||!le.onAdd)return this.fire(new a.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf("bottom")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k("movestart",le)).fire(new a.k("move",le))),this.fire(new a.k("resize",le)),qe&&this.fire(new a.k("moveend",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error("minPitch must be greater than or equal to 0");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le==="mouseenter"||le==="mouseover"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new tu(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le==="mouseleave"||le==="mouseout"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;eew.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w=="string"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w=="string"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w=="string"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]=="number")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le=="string"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le=="string"){let B=this._requestManager.transformRequest(le,"Style");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le=="object"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w("There is no style added to the map.")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type==="hillshade"&&Q.source===le.source&&a.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new Xo(this.painter,w,le),this.painter.renderToTexture=new ys(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=B=>{B.dataType==="style"?this.terrain.sourceCache.freeRtt():B.dataType==="source"&&B.tile&&(B.sourceId!==le.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(B.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new a.k("terrain",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!=="loaded"&&ee.state!=="errored")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error("Missing required image id"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return g.getImage(this._requestManager.transformRequest(le,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add("maplibregl-map");let w=this._canvasContainer=c.create("div","maplibregl-canvas-container",le);this._interactive&&w.classList.add("maplibregl-interactive"),this._canvas=c.create("canvas","maplibregl-canvas",w),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create("div","maplibregl-control-container",le),se=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(qe=>{se[qe]=c.create("div",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener("webglcontextcreationerror",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext("webgl2",le)||this._canvas.getContext("webgl",le);if(!B){let Q="Failed to initialize WebGL";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k("load"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k("idle")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window!="undefined"&&removeEventListener("online",this._onWindowOnline,!1),g.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension("WEBGL_lose_context");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=tu,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute("aria-disabled",B.toString()),this._zoomOutButton.setAttribute("aria-disabled",Q.toString())},this._rotateCompassArrow=()=>{let w=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)},this.options=a.e({},ia,le),this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",w=>this._map.zoomIn({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",w=>this._map.zoomOut({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(le){return this._map=le,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(le,w){let B=c.create("button",le,this._container);return B.type="button",B.addEventListener("click",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new a.k("close"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create("div","maplibregl-popup",this._map.getContainer()),this._tip=c.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(" "))this._container.classList.add(je);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.ythis._map.transform.height-it?["bottom"]:[],Q.xthis._map.transform.width-je/2&&yt.push("right"),ee=yt.length===0?"bottom":yt.join("-")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${iu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,"popup")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new a.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement("body"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return"bottom-left"}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-scale",le.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=le}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=c.create("button","maplibregl-ctrl-terrain",this._container),c.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=ru,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called "${le}" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast("IS",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var VHe=ye((R1r,UHe)=>{"use strict";var iw=Mr(),sjt=Ll().sanitizeHTML,ljt=uJ(),OHe=bx();function BHe(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=OHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=BHe.prototype;ag.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=i7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!i7(e)){var r=ujt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function NHe(e){var t={},r={};switch(e.type){case"circle":iw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":iw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":iw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=ljt(n.textposition,n.iconsize);iw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),iw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":iw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function ujt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=sjt(e.sourceattribution)),n}UHe.exports=function(t,r,n){var i=new BHe(t,r);return i.update(n),i}});var KHe=ye((D1r,YHe)=>{"use strict";var pJ=qHe(),gJ=Mr(),jHe=ix(),HHe=ba(),cjt=Qa(),fjt=gv(),n7=Nc(),WHe=Sg(),hjt=WHe.drawMode,djt=WHe.selectMode,vjt=wf().prepSelect,pjt=wf().clearOutline,gjt=wf().clearSelectionsCache,mjt=wf().selectOnClick,nw=bx(),yjt=VHe();function ZHe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=ZHe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=XHe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new pJ.Map({container:i.div,style:o.style,center:mJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new pJ.AttributionControl({compact:!0})),c={};u.on("styleimagemissing",function(h){var d=h.id;if(!c[d]&&d.includes("-15")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin="Anonymous",v.src="https://unpkg.com/maki@2.1.0/icons/"+d+".svg"}}),u.setTransformRequest(function(h){return h=h.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:h}}),u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once("load",h)})),f=f.concat(jHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=XHe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(jHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&n7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=gJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),djt(a)||hjt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){vjt(l,u,c,t.dragOptions,a)},fjt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var yJ=Mr(),xjt=k_(),bjt=Zd(),JHe=Fk();$He.exports=function(t,r,n){xjt(t,r,n,{type:"map",attributes:JHe,handleDefaults:wjt,partition:"y"})};function wjt(e,t,r){r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var n=r("bounds.west"),i=r("bounds.east"),a=r("bounds.south"),o=r("bounds.north");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,bjt(e,t,{name:"layers",handleItemDefaults:Tjt}),t._input=e}function Tjt(e,t){function r(l,u){return yJ.coerce(e,t,JHe.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",yJ.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),yJ.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var o7=ye(l0=>{"use strict";var a7=Mr(),eGe=a7.strTranslate,Ajt=a7.strScale,Sjt=kd().getSubplotCalcData,Mjt=Zp(),Ejt=xa(),tGe=ao(),kjt=Ll(),Cjt=KHe(),wx="map";l0.name=wx;l0.attr="subplot";l0.idRoot=wx;l0.idRegex=l0.attrRegex=a7.counterRegex(wx);l0.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}};l0.layoutAttributes=Fk();l0.supplyLayoutDefaults=QHe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[wx],a=0;ax/2){var b=f.split("|").join("
");d.text(b).attr("data-unformatted",b).call(kjt.convertToTspans,e),v=tGe.bBox(d.node())}d.attr("transform",eGe(-3,-v.height+8)),h.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var g=1;v.width+6>x&&(g=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr("transform",eGe(E[0],E[1])+Ajt(g))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[wx],n=0;n{"use strict";rGe.exports={attributes:JF(),supplyDefaults:pHe(),colorbar:Kd(),formatLabels:lJ(),calc:lz(),plot:CHe(),hoverPoints:r7().hoverPoints,eventData:RHe(),selectPoints:zHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermap",basePlotModule:o7(),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}});var aGe=ye((O1r,nGe)=>{"use strict";nGe.exports=iGe()});var _J=ye((B1r,oGe)=>{"use strict";var d1=J5(),Ljt=Kl(),Pjt=Wo().hovertemplateAttrs,Ijt=vl(),Tx=no().extendFlat;oGe.exports=Tx({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:Tx({},d1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Tx({},d1.marker.line.color,{editType:"plot"}),width:Tx({},d1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:Tx({},d1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:Tx({},d1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:Tx({},d1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:d1.hoverinfo,hovertemplate:Pjt({},{keys:["properties"]}),showlegend:Tx({},Ijt.showlegend,{dflt:!1})},Ljt("",{cLetter:"z",editTypeOverride:"calc"}))});var lGe=ye((N1r,sGe)=>{"use strict";var Nk=Mr(),Rjt=Uh(),Djt=_J();sGe.exports=function(t,r,n,i){function a(c,f){return Nk.coerce(t,r,Djt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!Nk.isArrayOrTypedArray(o)||!o.length||!Nk.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||Nk.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),Rjt(t,r,i,a,{prefix:"",cLetter:"z"}),Nk.coerceSelectionMarkerOpacity(r,a)}});var xJ=ye((U1r,fGe)=>{"use strict";var zjt=uo(),v1=Mr(),Fjt=Mu(),qjt=ao(),Ojt=tx().makeBlank,uGe=ix();function Bjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:Ojt()};if(!r)return a;var o=uGe.extractTraceFeature(e);if(!o)return a;var s=Fjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return zjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d{"use strict";var dGe=xJ().convert,Njt=xJ().convertOnSelect,hGe=bx().traceLayerPrefix;function vGe(e,t){this.type="choroplethmap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",hGe+t+"-fill"],["line",hGe+t+"-line"]],this.below=null}var EA=vGe.prototype;EA.update=function(e){this._update(dGe(e)),e[0].trace._glTrace=this};EA.updateOnSelect=function(e){this._update(Njt(e))};EA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};EA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};pGe.exports=function(t,r){var n=r[0].trace,i=new vGe(t,n.uid),a=i.sourceId,o=dGe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var yGe=ye((H1r,mGe)=>{"use strict";mGe.exports={attributes:_J(),supplyDefaults:lGe(),colorbar:S_(),calc:Lz(),plot:gGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";_Ge.exports=yGe()});var wJ=ye((j1r,wGe)=>{"use strict";var Ujt=Kl(),Vjt=Wo().hovertemplateAttrs,bGe=vl(),s7=JF(),bJ=no().extendFlat;wGe.exports=bJ({lon:s7.lon,lat:s7.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:s7.text,hovertext:s7.hovertext,hoverinfo:bJ({},bGe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:Vjt(),showlegend:bJ({},bGe.showlegend,{dflt:!1})},Ujt("",{cLetter:"z",editTypeOverride:"calc"}))});var AGe=ye((W1r,TGe)=>{"use strict";var Hjt=Mr(),Gjt=Uh(),jjt=wJ();TGe.exports=function(t,r,n,i){function a(u,c){return Hjt.coerce(t,r,jjt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),Gjt(t,r,i,a,{prefix:"",cLetter:"z"})}});var EGe=ye((Z1r,MGe)=>{"use strict";var TJ=uo(),Wjt=Mr().isArrayOrTypedArray,AJ=es().BADNUM,Zjt=zv(),SGe=Mr()._;MGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=Wjt(a)&&a.length,s=0;s{"use strict";var Xjt=uo(),SJ=Mr(),kGe=va(),CGe=Mu(),LGe=es().BADNUM,Yjt=tx().makeBlank;PGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:Yjt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=SJ.isArrayOrTypedArray(l)&&l.length,f=SJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:d},properties:v})}}var b=CGe.extractOpts(r),g=b.reversescale?CGe.flipScale(b.colorscale):b.colorscale,E=g[0][1],k=kGe.opacity(E)<1?E:kGe.addOpacity(E,0),A=["interpolate",["linear"],["heatmap-density"],0,k];for(s=1;s{"use strict";var RGe=IGe(),Kjt=bx().traceLayerPrefix;function DGe(e,t){this.type="densitymap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",Kjt+t+"-heatmap"]],this.below=null}var l7=DGe.prototype;l7.update=function(e){var t=this.subplot,r=this.layerList,n=RGe(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};l7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};zGe.exports=function(t,r){var n=r[0].trace,i=new DGe(t,n.uid),a=i.sourceId,o=RGe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var OGe=ye((K1r,qGe)=>{"use strict";var Jjt=Qa(),$jt=r7().hoverPoints,Qjt=r7().getExtraText;qGe.exports=function(t,r,n){var i=$jt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=Jjt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=Qjt(s,l,o[0].t.labels),[a]}}});var NGe=ye((J1r,BGe)=>{"use strict";BGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var VGe=ye(($1r,UGe)=>{"use strict";UGe.exports={attributes:wJ(),supplyDefaults:AGe(),colorbar:S_(),formatLabels:lJ(),calc:EGe(),plot:FGe(),hoverPoints:OGe(),eventData:NGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";HGe.exports=VGe()});var EJ=ye((t_r,XGe)=>{"use strict";var eWt=Su(),tWt=vl(),jGe=dh(),MJ=i3(),rWt=Ju().attributes,WGe=Wo().hovertemplateAttrs,iWt=Kl(),nWt=Vs().templatedArray,aWt=Oc().descriptionOnlyNumbers,ZGe=no().extendFlat,oWt=Bu().overrideAll,e_r=XGe.exports=oWt({hoverinfo:ZGe({},tWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:MJ.hoverlabel,domain:rWt({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:aWt("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:eWt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:jGe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:MJ.hoverlabel,hovertemplate:WGe({},{keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:jGe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:MJ.hoverlabel,hovertemplate:WGe({},{keys:["value","label"]}),colorscales:nWt("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:ZGe(iWt().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")});var QGe=ye((r_r,$Ge)=>{"use strict";var kA=Mr(),u7=EJ(),sWt=va(),YGe=id(),lWt=Ju().defaults,KGe=oM(),JGe=Vs(),uWt=Zd();$Ge.exports=function(t,r,n,i){function a(A,L){return kA.coerce(t,r,u7,A,L)}var o=kA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=JGe.newContainer(r,"node");function u(A,L){return kA.coerce(s,l,u7.node,A,L)}u("label"),u("groups"),u("x"),u("y"),u("pad"),u("thickness"),u("line.color"),u("line.width"),u("hoverinfo",t.hoverinfo),KGe(s,l,u,o),u("hovertemplate"),u("align");var c=i.colorway,f=function(A){return c[A%c.length]};u("color",l.label.map(function(A,L){return sWt.addOpacity(f(L),.8)})),u("customdata");var h=t.link||{},d=JGe.newContainer(r,"link");function v(A,L){return kA.coerce(h,d,u7.link,A,L)}v("label"),v("arrowlen"),v("source"),v("target"),v("value"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),KGe(h,d,v,o),v("hovertemplate");var x=YGe(i.paper_bgcolor).getLuminance()<.333,b=x?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",g=v("color",b);function E(A){var L=YGe(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v("hovercolor",Array.isArray(g)?g.map(E):E(g)),v("customdata"),uWt(h,d,{name:"colorscales",handleItemDefaults:cWt}),lWt(r,i,a),a("orientation"),a("valueformat"),a("valuesuffix");var k;l.x.length&&l.y.length&&(k="freeform"),a("arrangement",k),kA.coerceFont(a,"textfont",i.font,{autoShadowDflt:!0}),r._length=null};function cWt(e,t){function r(n,i){return kA.coerce(e,t,u7.link.colorscales,n,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}});var kJ=ye((i_r,eje)=>{"use strict";eje.exports=fWt;function fWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){b=E[E.length-1];var k=e[b];if(a[b]=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=g.length-1;A>=0;--A){var p=g[A];if(i[p]=!1,_.push(p),C.push(s[p]),M+=s[p].length,o[p]=c.length,p===b){g.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A{"use strict";var hWt=kJ(),CA=Mr(),dWt=Km().wrap,Uk=CA.isArrayOrTypedArray,tje=CA.isIndex,rje=Mu();function vWt(e){var t=e.node,r=e.link,n=[],i=Uk(r.color),a=Uk(r.hovercolor),o=Uk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cv&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,g=e.node.groups,E={};for(c=0;c0&&tje(M,x)&&tje(p,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(p)&&E[M]===E[p])){E.hasOwnProperty(p)&&(p=E[p]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,p=+p,s[M]=s[p]=!0;var P="";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:p,value:+C}),_.source.push(M),_.target.push(p)}}var F=x+g.length,q=Uk(t.color),V=Uk(t.customdata),H=[];for(c=0;cx-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return pWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:g,groupLookup:E}}function pWt(e,t,r){for(var n=CA.init2dArray(e,0),i=0;i1})}ije.exports=function(t,r){var n=vWt(r);return dWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var oje=ye((c7,aje)=>{(function(e,t){typeof c7=="object"&&typeof aje!="undefined"?t(c7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(c7,function(e){"use strict";function t(C){var M=+this._x.call(null,C),p=+this._y.call(null,C);return r(this.cover(M,p),M,p,C)}function r(C,M,p,P){if(isNaN(M)||isNaN(p))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=p>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&p===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=p>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,p,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(p=0;pG&&(G=T),FN&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),p=0;pC||C>=T||P>M||M>=F;)switch(X=(MG||(V=ae.y0)>N||(H=ae.x1)=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=p,!(p=p[Me=_e<<1|ae]))return this;if(!p.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;p.data!==C;)if(T=p,!(p=p.next))return this;return(F=p.next)&&delete p.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(p=M[0]||M[1]||M[2]||M[3])&&p===(M[3]||M[2]||M[1]||M[0])&&!p.length&&(P?P[ke]=p:this._root=p),this):(this._root=F,this)}function c(C){for(var M=0,p=C.length;M{(function(e,t){typeof f7=="object"&&typeof sje!="undefined"?t(f7):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(f7,function(e){"use strict";var t="$";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var g=new r;if(x instanceof r)x.each(function(_,C){g.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E=x.length)return g!=null&&_.sort(g),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++Px.length)return _;var M,p=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),p!=null?M.sort(function(P,T){return p(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return g=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,g){x[b]=g}function s(){return n()}function l(x,b,g){x.set(b,g)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+="",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var g=new u;if(x instanceof u)x.each(function(A){g.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E{(function(e,t){typeof d7=="object"&&typeof lje!="undefined"?t(d7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(d7,function(e){"use strict";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+"",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof v7=="object"&&typeof cje!="undefined"?t(v7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){"use strict";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance=="object"&&performance.now?performance:Date,f=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,p){if(typeof C!="function")throw new TypeError("callback is not a function");p=(p==null?h():+p)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=p,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,p){var P=new v;return P.restart(C,M,p),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function g(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,p,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(p=M._next,M._next=null,M=C?C._next=p:a=p);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(g,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(g))}}function L(C,M,p){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,p),P}function _(C,M,p){var P=new v,T=M;return M==null?(P.restart(C,M,p),P):(M=+M,p=p==null?h():+p,P.restart(function F(q){q+=T,P.restart(F,T+=M,p),C(q)},M,p),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,"__esModule",{value:!0})})});var dje=ye((p7,hje)=>{(function(e,t){typeof p7=="object"&&typeof hje!="undefined"?t(p7,oje(),h7(),uje(),fje()):typeof define=="function"&&define.amd?define(["exports","d3-quadtree","d3-collection","d3-dispatch","d3-timer"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(p7,function(e,t,r,n,i){"use strict";function a(C,M){var p;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=p.length,q,V=0,H=0;for(T=0;TN.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;GeW+me||Eere+me||AeH.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(p=new Array(X),H=0;H1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,p,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(p=W,re=0;re=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie{(function(e,t){typeof g7=="object"&&typeof vje!="undefined"?t(g7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(g7,function(e){"use strict";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(s,l){this._+="L"+(this._x1=+s)+","+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+="Q"+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+="C"+ +s+","+ +l+","+ +u+","+ +c+","+(this._x1=+f)+","+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,g=d-l,E=b*b+g*g;if(f<0)throw new Error("negative radius: "+f);if(this._x1===null)this._+="M"+(this._x1=s)+","+(this._y1=l);else if(E>n)if(!(Math.abs(g*v-x*b)>n)||!f)this._+="L"+(this._x1=s)+","+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),p=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=p/M,T=p/C;Math.abs(P-1)>n&&(this._+="L"+(s+P*b)+","+(l+P*g)),this._+="A"+f+","+f+",0,0,"+ +(g*k>b*A)+","+(this._x1=s+T*v)+","+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,g=1^h,E=h?c-f:f-c;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+x+","+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+="L"+x+","+b),u&&(E<0&&(E=E%r+r),E>i?this._+="A"+u+","+u+",0,1,"+g+","+(s-d)+","+(l-v)+"A"+u+","+u+",0,1,"+g+","+(this._x1=x)+","+(this._y1=b):E>n&&(this._+="A"+u+","+u+",0,"+ +(E>=t)+","+g+","+(this._x1=s+u*Math.cos(f))+","+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)+"h"+ +u+"v"+ +c+"h"+-u+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})})});var CJ=ye((m7,gje)=>{(function(e,t){typeof m7=="object"&&typeof gje!="undefined"?t(m7,pje()):typeof define=="function"&&define.amd?define(["exports","d3-path"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(m7,function(e,t){"use strict";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function g(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go$l*$l+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=g,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),goc))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var $l=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=$l*2)>c?($l*=xo?1:-1,Zs+=$l,Xs-=$l):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Il=go*l(ks),vo=Sa*a(Zs),Wl=Sa*l(Zs),Ks;if(Moc?Hs>c?(Eo=_(vo,Wl,fc,ms,go,Hs,xo),fs=_(Qu,Il,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hsc)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Il,Sa,-Ys,xo),fs=_(fc,ms,vo,Wl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+""||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn=="function"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn=="function"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn=="function"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn=="function"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn=="function"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn=="function"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn=="function"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi=="function"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi=="function"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi=="function"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi=="function"?hi:r(+hi),an):Yi},an}var G=W(p);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_t.lineY1;return _t.angle=_t.x,delete _t.x,_t.startAngle=_t.x0,delete _t.x0,_t.endAngle=_t.x1,delete _t.x1,_t.radius=_t.y,delete _t.y,_t.innerRadius=_t.y0,delete _t.y0,_t.outerRadius=_t.y1,delete _t.y1,_t.lineStartAngle=function(){return re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+""||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi=="function"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi=="function"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+""||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi=="function"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi=="function"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_t._context.bezierCurveTo((2*_t._x0+_t._x1)/3,(2*_t._y0+_t._y1)/3,(_t._x0+2*_t._x1)/3,(_t._y0+2*_t._y1)/3,(_t._x0+4*_t._x1+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_t._context.bezierCurveTo(_t._x1+_t._k*(_t._x2-_t._x0),_t._y1+_t._k*(_t._y2-_t._y0),_t._x2+_t._k*(_t._x1-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;tiYi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr{(function(e,t){typeof y7=="object"&&typeof mje!="undefined"?t(y7,JE(),h7(),CJ()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(y7,function(e,t,r,n){"use strict";function i(p){return p.target.depth}function a(p){return p.depth}function o(p,P){return P-1-p.height}function s(p,P){return p.sourceLinks.length?p.depth:P-1}function l(p){return p.targetLinks.length?p.depth:p.sourceLinks.length?t.min(p.sourceLinks,i)-1:0}function u(p){return function(){return p}}function c(p,P){return h(p.source,P.source)||p.index-P.index}function f(p,P){return h(p.target,P.target)||p.index-P.index}function h(p,P){return p.y0-P.y0}function d(p){return p.value}function v(p){return(p.y0+p.y1)/2}function x(p){return v(p.source)*p.value}function b(p){return v(p.target)*p.value}function g(p){return p.index}function E(p){return p.nodes}function k(p){return p.links}function A(p,P){var T=p.get(P);if(!T)throw new Error("missing: "+P);return T}var L=function(){var p=0,P=0,T=1,F=1,q=24,V=8,H=g,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te=="function"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te=="function"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te=="function"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te=="function"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(p=P=0,T=+Te[0],F=+Te[1],ae):[T-p,F-P]},ae.extent=function(Te){return arguments.length?(p=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[p,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!="object"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!="object"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-p-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=p+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(p){return[p.source.x1,p.y0]}function C(p){return[p.target.x0,p.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,"__esModule",{value:!0})})});var xje=ye((a_r,_je)=>{var gWt=kJ();_je.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L=k})}function d(k){h(k);for(var A=t,L=gWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,p=0;p<_.length;p++)for(var P=0;P<_[p].length;P++)_[p][P]{(function(e,t){typeof _7=="object"&&typeof bje!="undefined"?t(_7,JE(),h7(),CJ(),xje()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape","elementary-circuits-directed-graph"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(_7,function(e,t,r,n,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol=="function"&&rt.constructor===Symbol&&rt!==Symbol.prototype?"symbol":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType==="top"||ot.circularLinkType==="bottom"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function g(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error("missing: "+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,p=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye0?Ne+M+p:Ne,Ye=Ye>0?Ye+M+p:Ye,Ve=Ve>0?Ve+M+p:Ve,Xe=Xe>0?Xe+M+p:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,g);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Ytot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xrYt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType=="top"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType=="bottom"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+p,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=p+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=p+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=p+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=p+Ke.width/2,Ke.circularLinkType=="bottom"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType=="bottom"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=p+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=p+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType=="bottom"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=p+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=p+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType=="bottom"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot="";return rt.circularLinkType=="top"?ot="M"+rt.circularPathData.sourceX+" "+rt.circularPathData.sourceY+" L"+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.sourceY+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftSmallArcRadius+" 0 0 0 "+rt.circularPathData.leftFullExtent+" "+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+" L"+rt.circularPathData.leftFullExtent+" "+rt.circularPathData.verticalLeftInnerExtent+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftLargeArcRadius+" 0 0 0 "+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.verticalFullExtent+" L"+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.verticalFullExtent+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightLargeArcRadius+" 0 0 0 "+rt.circularPathData.rightFullExtent+" "+rt.circularPathData.verticalRightInnerExtent+" L"+rt.circularPathData.rightFullExtent+" "+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightSmallArcRadius+" 0 0 0 "+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.targetY+" L"+rt.circularPathData.targetX+" "+rt.circularPathData.targetY:ot="M"+rt.circularPathData.sourceX+" "+rt.circularPathData.sourceY+" L"+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.sourceY+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftSmallArcRadius+" 0 0 1 "+rt.circularPathData.leftFullExtent+" "+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+" L"+rt.circularPathData.leftFullExtent+" "+rt.circularPathData.verticalLeftInnerExtent+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftLargeArcRadius+" 0 0 1 "+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.verticalFullExtent+" L"+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.verticalFullExtent+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightLargeArcRadius+" 0 0 1 "+rt.circularPathData.rightFullExtent+" "+rt.circularPathData.verticalRightInnerExtent+" L"+rt.circularPathData.rightFullExtent+" "+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightSmallArcRadius+" 0 0 1 "+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.targetY+" L"+rt.circularPathData.targetX+" "+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType=="bottom"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)=="up"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)=="up"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$txt.y0&&frxt.y1&&me(Br,_r,ot,Rt)})):$txt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0ot.y0&&rt.y1ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType=="top"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType=="top"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType=="top"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType=="bottom"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType=="top"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType=="bottom"){var bt=xt+1,Lt=0;for(bt;bt1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column0?"up":"down"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType=="top"?Yt=!0:St.circularLinkType=="bottom"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,"__esModule",{value:!0})})});var LJ=ye((o_r,Tje)=>{"use strict";Tje.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}});var Fje=ye((s_r,zje)=>{"use strict";var Aje=dje(),mWt=(R2(),ab(I2)).interpolateNumber,LA=xa(),Vk=yje(),yWt=wje(),pu=LJ(),PA=id(),aw=va(),_Wt=ao(),p1=Mr(),RJ=p1.strTranslate,xWt=p1.strRotate,DJ=Km(),Hk=DJ.keyFun,x7=DJ.repeat,Lje=DJ.unwrap,Sje=Ll(),bWt=ba(),Pje=Nh(),wWt=Pje.CAP_SHIFT,TWt=Pje.LINE_SPACING,AWt=3;function SWt(e,t,r){var n=Lje(t),i=n.trace,a=i.domain,o=i.orientation==="h",s=i.node.pad,l=i.node.thickness,u={justify:Vk.sankeyJustify,left:Vk.sankeyLeft,right:Vk.sankeyRight,center:Vk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=yWt.sankeyCircular().circularLinkGap(0):x=Vk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(g=0;gW+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(g=0;g0?" L "+i.targetX+" "+i.targetY:"")+"Z"):(r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L "+(i.rightInnerExtent-t)+" "+(i.targetY-n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" L "+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent,a&&o?r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-n-t)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:a?r+=" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+" L "+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent,r+=" L "+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY+n)+" L "+i.leftInnerExtent+" "+(i.sourceY+n)+" A "+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+" L "+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent,a&&o?r+=" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:a?r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent-t-n)+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:r+=" A "+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+" L "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent,r+=" L "+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+" L "+(i.targetX-t)+" "+(i.targetY+n)+(t>0?" L "+i.targetX+" "+i.targetY:"")+"Z"),r}function zJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return EWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=mWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v="M"+a+","+c,x="C"+l+","+c+" "+u+","+h+" "+o+","+h,b="C"+u+","+d+" "+l+","+f+" "+a+","+f,g=n>0?"L"+(o+n)+","+(h+r.link.width/2):"";return g+="L"+o+","+d,v+x+g+b+"Z"}return t}function kWt(e,t){var r=PA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s="node_"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join("_"),interactionState:e.interactionState,figure:e}}function IJ(e){e.attr("transform",function(t){return RJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function CWt(e){e.call(IJ)}function Ije(e,t){e.call(CWt),t.attr("d",zJ())}function Mje(e){e.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function PJ(e){return e.link.width>1||e.linkLineWidth>0}function Eje(e){var t=RJ(e.translateX,e.translateY);return t+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function kje(e,t,r){e.on(".basic",null).on("mouseover.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on("mousemove.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on("mouseout.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on("click.basic",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function LWt(e,t,r,n){var i=LA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on("dragstart",function(a){if(a.arrangement!=="fixed"&&(p1.ensureSingle(n._fullLayout._infolayer,"g","dragcover",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,Cje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement==="snap")){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):PWt(e,o,a,n),IWt(e,t,a,o,n)}}).on("drag",function(a){if(a.arrangement!=="fixed"){var o=LA.event.x,s=LA.event.y;a.arrangement==="snap"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement==="freeform"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),Cje(a.node),a.arrangement!=="snap"&&(a.sankey.update(a.graph),Ije(e.filter(Dje(a)),t))}}).on("dragend",function(a){if(a.arrangement!=="fixed"){a.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Rje(r,i)}})}function RWt(e,t,r,n){return function(){for(var a=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function Rje(e,t){for(var r=[],n=[],i=0;i{"use strict";var Zv=xa(),qJ=Mr(),b7=qJ.numberFormat,qWt=Fje(),IA=Nc(),OWt=va(),Ax=LJ().cn,Gk=qJ._;function qje(e){return e!==""}function RA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Oje(e,t){Zv.select(e).select("path").style("fill-opacity",t),Zv.select(e).select("rect").style("fill-opacity",t)}function Bje(e){Zv.select(e).select("text.name").style("fill","black")}function Nje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Uje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Vje(e,t,r){t&&r&&RA(r,t).selectAll("."+Ax.sankeyLink).filter(Nje(t)).call(Hje.bind(0,t,r,!1))}function FJ(e,t,r){t&&r&&RA(r,t).selectAll("."+Ax.sankeyLink).filter(Nje(t)).call(Gje.bind(0,t,r,!1))}function Hje(e,t,r,n){n.style("fill",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style("fill-opacity",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==""&&RA(t,e).selectAll("."+Ax.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style("fill-opacity",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&RA(t,e).selectAll("."+Ax.sankeyNode).filter(Uje(e)).call(Vje)}function Gje(e,t,r,n){n.style("fill",function(i){return i.tinyColorHue}).style("fill-opacity",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==""&&RA(t,e).selectAll("."+Ax.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){return o.tinyColorHue}).style("fill-opacity",function(o){return o.tinyColorAlpha})}),r&&RA(t,e).selectAll(Ax.sankeyNode).filter(Uje(e)).call(FJ)}function lf(e,t){var r=e.hoverlabel||{},n=qJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}jje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o"),color:lf(C,"bgcolor")||OWt.addOpacity(F.color,1),borderColor:lf(C,"bordercolor"),fontFamily:lf(C,"font.family"),fontSize:lf(C,"font.size"),fontColor:lf(C,"font.color"),fontWeight:lf(C,"font.weight"),fontStyle:lf(C,"font.style"),fontVariant:lf(C,"font.variant"),fontTextcase:lf(C,"font.textcase"),fontLineposition:lf(C,"font.lineposition"),fontShadow:lf(C,"font.shadow"),nameLength:lf(C,"namelength"),textAlign:lf(C,"align"),idealAlign:Zv.event.x"),color:lf(C,"bgcolor")||_.tinyColorHue,borderColor:lf(C,"bordercolor"),fontFamily:lf(C,"font.family"),fontSize:lf(C,"font.size"),fontColor:lf(C,"font.color"),fontWeight:lf(C,"font.weight"),fontStyle:lf(C,"font.style"),fontVariant:lf(C,"font.variant"),fontTextcase:lf(C,"font.textcase"),fontLineposition:lf(C,"font.lineposition"),fontShadow:lf(C,"font.shadow"),nameLength:lf(C,"namelength"),textAlign:lf(C,"align"),idealAlign:"left",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Oje(G,.85),Bje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(FJ,_,C),_.node.trace.node.hoverinfo!=="skip"&&(_.node.fullData=_.node.trace,t.emit("plotly_unhover",{event:Zv.event,points:[_.node]})),IA.loneUnhover(n._hoverlayer.node()))};qWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:g}})}});var Wje=ye(ow=>{"use strict";var BWt=Bu().overrideAll,NWt=kd().getModuleCalcData,UWt=OJ(),VWt=B1(),HWt=Tg(),GWt=gv(),jWt=wf().prepSelect,BJ=Mr(),WWt=ba(),w7="sankey";ow.name=w7;ow.baseLayoutAttrOverrides=BWt({hoverlabel:VWt.hoverlabel},"plot","nested");ow.plot=function(e){var t=NWt(e.calcdata,w7)[0];UWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(w7),a=t._has&&t._has(w7);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())};ow.updateFx=function(e){for(var t=0;t{"use strict";Zje.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s{"use strict";Yje.exports={attributes:EJ(),supplyDefaults:QGe(),calc:nje(),plot:OJ(),moduleType:"trace",name:"sankey",basePlotModule:Wje(),selectPoints:Xje(),categories:["noOpacity"],meta:{}}});var $je=ye((h_r,Jje)=>{"use strict";Jje.exports=Kje()});var eWe=ye(DA=>{"use strict";var Qje=Xu();DA.name="indicator";DA.plot=function(e,t,r,n){Qje.plotBasePlot(DA.name,e,t,r,n)};DA.clean=function(e,t,r,n){Qje.cleanBasePlot(DA.name,e,t,r,n)}});var UJ=ye((v_r,oWe)=>{"use strict";var Sx=no().extendFlat,rWe=no().extendDeep,XWt=Bu().overrideAll,iWe=Su(),nWe=dh(),YWt=Ju().attributes,Sf=Cd(),KWt=Vs().templatedArray,T7=HT(),tWe=Oc().descriptionOnlyNumbers,NJ=iWe({editType:"plot",colorEditType:"plot"}),jk={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:nWe.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},aWe={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},JWt=KWt("step",rWe({},jk,{range:aWe}));oWe.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:YWt({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:Sx({},NJ,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:tWe("value")},font:Sx({},NJ,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:tWe("value")},increasing:{symbol:{valType:"string",dflt:T7.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:T7.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:T7.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:T7.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:Sx({},NJ,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:rWe({},jk,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:nWe.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:XWt({range:aWe,visible:Sx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Sx({},Sf.ticks,{dflt:"outside"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:iWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:"plot"},"plot"),steps:JWt,threshold:{line:{color:Sx({},jk.line.color,{}),width:Sx({},jk.line.width,{dflt:1}),editType:"plot"},thickness:Sx({},jk.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}});var VJ=ye((p_r,sWe)=>{"use strict";sWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var cWe=ye((g_r,uWe)=>{"use strict";var ey=Mr(),S7=UJ(),$Wt=Ju().defaults,lWe=Vs(),QWt=Zd(),A7=VJ(),eZt=xb(),tZt=T3(),rZt=e_(),iZt=t_();function nZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,S7,_,C)}$Wt(t,n,i),i("mode"),t._hasNumber=t.mode.indexOf("number")!==-1,t._hasDelta=t.mode.indexOf("delta")!==-1,t._hasGauge=t.mode.indexOf("gauge")!==-1;var a=i("value");t._range=[0,typeof a=="number"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i("number.valueformat");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,"number.font",l),t.number.font.size===void 0&&(t.number.font.size=A7.defaultNumberFontSize,o[0]=!0),i("number.prefix"),i("number.suffix"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,"delta.font",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||A7.defaultNumberFontSize),o[1]=!0),i("delta.reference",t.value),i("delta.relative"),i("delta.valueformat",t.delta.relative?"2%":""),i("delta.increasing.symbol"),i("delta.increasing.color"),i("delta.decreasing.symbol"),i("delta.decreasing.color"),i("delta.position"),i("delta.prefix"),i("delta.suffix"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||A7.defaultNumberFontSize),ey.coerceFont(i,"title.font",f),i("title.text");var h,d,v,x;function b(_,C){return ey.coerce(h,d,S7.gauge,_,C)}function g(_,C){return ey.coerce(v,x,S7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=lWe.newContainer(t,"gauge"),b("shape");var E=t._isBullet=t.gauge.shape==="bullet";E||i("title.align","center");var k=t._isAngular=t.gauge.shape==="angular";k||i("align","center"),b("bgcolor",n.paper_bgcolor),b("borderwidth"),b("bordercolor"),b("bar.color"),b("bar.line.color"),b("bar.line.width");var A=A7.valueThickness*(t.gauge.shape==="bullet"?.5:1);b("bar.thickness",A),QWt(h,d,{name:"steps",handleItemDefaults:aZt}),b("threshold.value"),b("threshold.thickness"),b("threshold.line.width"),b("threshold.line.color"),v={},h&&(v=h.axis||{}),x=lWe.newContainer(d,"axis"),g("visible"),t._range=g("range",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};eZt(v,x,g,"linear"),iZt(v,x,g,"linear",L),rZt(v,x,g,"linear",L),tZt(v,x,g,L)}else i("title.align","center"),i("align","center"),t._isAngular=t._isBullet=!1;t._length=null}function aZt(e,t){function r(n,i){return ey.coerce(e,t,S7.gauge.steps,n,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}uWe.exports={supplyDefaults:nZt}});var hWe=ye((m_r,fWe)=>{"use strict";function oZt(e,t){var r=[],n=t.value;typeof t._lastValue!="number"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference=="number"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}fWe.exports={calc:oZt}});var yWe=ye((y_r,mWe)=>{"use strict";var fw=xa(),sZt=(R2(),ab(I2)).interpolate,dWe=(R2(),ab(I2)).interpolateNumber,Mx=Mr(),lZt=Mx.strScale,Zk=Mx.strTranslate,uZt=Mx.rad2deg,cZt=Nh().MID_SHIFT,cw=ao(),sw=VJ(),E7=Ll(),av=Qa(),fZt=JM(),hZt=rI(),dZt=Cd(),zA=va(),HJ={left:"start",center:"middle",right:"end"},lw={left:0,center:.5,right:1},vWe=/[yzafpnµmkMGTPEZY]/;function Xk(e){return e&&e.duration>0}mWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Xk(n)&&i&&(o=i()),Mx.makeTraceGroups(a._indicatorlayer,r,"trace").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,g=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||"center";if(L=g,!f)A=x.l+lw[C]*x.w,_=function(G){return pWe(G,x.w,x.h)};else if(h&&(A=b,L=g+E/2,_=function(G){return yZt(G,.9*k)}),d){var M=sw.bulletPadding,p=1-sw.bulletNumberDomainSize+M;A=x.l+(p+(1-p)*lw[C])*x.w,_=function(G){return pWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}gZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll("g.angular").data(h?s:[]);F.exit().remove();var q=c.selectAll("g.angularaxis").data(h?s:[]);q.exit().remove(),h&&pZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll("g.bullet").data(d?s:[]);V.exit().remove();var H=c.selectAll("g.bulletaxis").data(d?s:[]);H.exit().remove(),d&&vZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll("text.title").data(s);X.exit().remove(),X.enter().append("text").classed("title",!0),X.attr("text-anchor",function(){return d?HJ.right:HJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(E7.convertToTspans,t),X.attr("transform",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Zk(G,N)})})};function vZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,g;a.enter().append("g").classed("bullet",!0),a.attr("transform",Zk(u.l,u.t)),o.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),o.selectAll("g.xbulletaxistick,path,text").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Wk(e,i.gauge.axis),d._id="xbulletaxis",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],g=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks==="inside"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,g,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,g)}));function _(q){q.attr("width",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr("x",function(V){return d.c2p(V.range[0])}).attr("y",function(V){return .5*(1-V.thickness)*E}).attr("height",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll("g.bg-bullet").data(C);M.enter().append("g").classed("bg-bullet",!0).append("rect"),M.select("rect").call(_).call(uw),M.exit().remove();var p=a.selectAll("g.value-bullet").data([i.gauge.bar]);p.enter().append("g").classed("value-bullet",!0).append("rect"),p.select("rect").attr("height",k).attr("y",(E-k)/2).call(uw),Xk(f)?p.select("rect").transition().duration(f.duration).ease(f.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).attr("width",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):p.select("rect").attr("width",typeof r[0].y=="number"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),p.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll("g.threshold-bullet").data(P);T.enter().append("g").classed("threshold-bullet",!0).append("line"),T.select("line").attr("x1",d.c2p(i.gauge.threshold.value)).attr("x2",d.c2p(i.gauge.threshold.value)).attr("y1",(1-i.gauge.threshold.thickness)/2*E).attr("y2",(1-(1-i.gauge.threshold.thickness)/2)*E).call(zA.stroke,i.gauge.threshold.line.color).style("stroke-width",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll("g.gauge-outline").data([l]);F.enter().append("g").classed("gauge-outline",!0).append("rect"),F.select("rect").call(_).call(uw),F.exit().remove()}function pZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function g(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr("d",function(Me){return g(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append("g").classed("angular",!0),f.attr("transform",Zk(c[0],c[1])),h.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),h.selectAll("g.xangularaxistick,path,text").remove(),k=Wk(e,i.gauge.axis),k.type="linear",k.range=i.gauge.axis.range,k._id="xangularaxis",k.ticklabeloverflow="allow",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},p=av.makeLabelFns(k,0),P=p.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*cZt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?"middle":ke>0?"start":"end"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Zk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+"rotate("+-uZt(Me)+")"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks==="inside"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:"M"+_*q+",0h"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll("g.bg-arc").data(V);H.enter().append("g").classed("bg-arc",!0).append("path"),H.select("path").call(E).call(uw),H.exit().remove();var X=g(i.gauge.bar.thickness),G=f.selectAll("g.value-arc").data([i.gauge.bar]);G.enter().append("g").classed("value-arc",!0).append("path");var N=G.select("path");Xk(d)?(N.transition().duration(d.duration).ease(d.easing).each("end",function(){v&&v()}).each("interrupt",function(){v&&v()}).attrTween("d",mZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr("d",typeof r[0].y=="number"?X.endAngle(b(r[0].y)):"M0,0Z"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll("g.threshold-arc").data(V);re.enter().append("g").classed("threshold-arc",!0).append("path"),re.select("path").call(E).call(uw),re.exit().remove();var ae=f.selectAll("g.gauge-outline").data([u]);ae.enter().append("g").classed("gauge-outline",!0).append("path"),ae.select("path").call(E).call(uw),ae.exit().remove()}function gZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||"center",l=HJ[s],u=n.transitionOpts,c=n.onComplete,f=Mx.ensureSingle(t,"g","numbers"),h,d,v,x=[];i._hasNumber&&x.push("number"),i._hasDelta&&(x.push("delta"),i.delta.position==="left"&&x.reverse());var b=f.selectAll("text").data(x);b.enter().append("text"),b.attr("text-anchor",function(){return l}).attr("class",function(T){return T}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),b.exit().remove();function g(T,F,q,V){if(T.match("s")&&q>=0!=V>=0&&!F(q).slice(-1).match(vWe)&&!F(V).slice(-1).match(vWe)){var H=T.slice().replace("s","f").replace(/\d+/,function(G){return parseInt(G)-1}),X=Wk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Wk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select("text.number");function X(){var G=typeof r[0].y=="number"?V+F(r[0].y)+q:"-";H.text(G).call(cw.font,i.number.font).call(E7.convertToTspans,e)}return Xk(u)?H.transition().duration(u.duration).ease(u.easing).each("end",function(){X(),c&&c()}).each("interrupt",function(){X(),c&&c()}).attrTween("text",function(){var G=fw.select(this),N=dWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=g(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=gWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Wk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!="number"||isNaN(re)?"-":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select("text.delta");N.call(cw.font,i.delta.font).call(zA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(zA.fill,G(r[0])).call(E7.convertToTspans,e)}return Xk(u)?N.transition().duration(u.duration).ease(u.easing).tween("text",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=g(i.delta.valueformat,F,_e,ae),ke=dWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(zA.fill,G({delta:ke(ge)}))}}).each("end",function(){W(),c&&c()}).each("interrupt",function(){W(),c&&c()}):W(),d=gWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,p,P=.75*i.delta.font.size;i.delta.position==="left"&&(M=M7(i,"deltaPos",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),p=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position==="right"&&(M=M7(i,"deltaPos",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),p=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position==="bottom"&&(M=null,p=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position==="top"&&(M=null,p=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:p})}(i._hasNumber||i._hasDelta)&&f.attr("transform",function(){var T=n.numbersScaler(v);A+=T[2];var F=M7(i,"numbersScale",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s==="center"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=M7(i,"numbersTranslate",0,H,A,Math.max),Zk(H,q)+lZt(F)})}function uw(e){e.each(function(t){zA.stroke(fw.select(this),t.line.color)}).each(function(t){zA.fill(fw.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function mZt(e,t,r){return function(){var n=sZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Wk(e,t,r){var n=e._fullLayout,i=Mx.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),a={type:"linear",_id:"x"+t._id},o={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Mx.coerce(i,a,dZt,l,u)}return fZt(i,a,s,o,n),hZt(i,a,s,o),a}function pWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+"x"+r]}function yZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function gWe(e,t,r,n){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),a=fw.select(i);return a.text(e).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",e).call(E7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function M7(e,t,r,n,i,a){var o="_cache"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Mx.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var xWe=ye((__r,_We)=>{"use strict";_We.exports={moduleType:"trace",name:"indicator",basePlotModule:eWe(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:UJ(),supplyDefaults:cWe().supplyDefaults,calc:hWe().calc,plot:yWe(),meta:{}}});var wWe=ye((x_r,bWe)=>{"use strict";bWe.exports=xWe()});var GJ=ye((w_r,MWe)=>{"use strict";var TWe=Nb(),k7=no().extendFlat,_Zt=Bu().overrideAll,AWe=Su(),xZt=Ju().attributes,SWe=Oc().descriptionOnlyNumbers,b_r=MWe.exports=_Zt({domain:xZt({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:SWe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:k7({},TWe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:k7({},AWe({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:SWe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:k7({},TWe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:k7({},AWe({arrayOk:!0}))}},"calc","from-root")});var kWe=ye((T_r,EWe)=>{"use strict";var jJ=Mr(),bZt=GJ(),wZt=Ju().defaults;function TZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s{"use strict";var AZt=Km().wrap;CWe.exports=function(){return AZt({})}});var WJ=ye((S_r,PWe)=>{"use strict";PWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"
",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}});var NWe=ye((M_r,BWe)=>{"use strict";var IWe=WJ(),XJ=no().extendFlat,SZt=uo(),MZt=vv().isTypedArray,C7=vv().isArrayOrTypedArray;BWe.exports=function(t,r){var n=ZJ(r.cells.values),i=function(p){return p.slice(r.header.values.length,p.length)},a=ZJ(r.header.values);a.length&&!a[0].length&&(a[0]=[""],a=ZJ(a));var o=a.concat(i(n).map(function(){return OWe((a[0]||[""]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[IWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(RWe,0),d=u-h,v=d+IWe.uplift,x=FWe(f,v),b=FWe(c,h),g=zWe(b,[]),E=zWe(x,g),k={},A=r._fullInput.columnorder;C7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(p,P){return P})));var L=o.map(function(p,P){var T=C7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return SZt(T)?Number(T):1}),_=L.reduce(RWe,0);L=L.map(function(p){return p/_*l});var C=Math.max(YJ(r.header.line.width),YJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:g,scrollY:0,cells:XJ({},r.cells,{values:n}),headerCells:XJ({},r.header,{values:o}),gdColumns:o.map(function(p){return p[0]}),gdColumnsOriginalOrder:o.map(function(p){return p[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(p,P){var T=k[p];k[p]=(T||0)+1;var F=p+"__"+k[p];return{key:F,label:p,specIndex:P,xIndex:A[P],xScale:DWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(p){p.calcdata=M,p.x=DWe(p)}),M};function YJ(e){if(C7(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=qWe(),i+=a,s=u+1,a=0);return r}function qWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var UWe=ye(KJ=>{"use strict";var L7=no().extendFlat;KJ.splitToPanels=function(e){var t=[0,0],r=L7({},e,{key:"header",type:"header",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:L7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=L7({},e,{key:"cells1",type:"cells",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=L7({},e,{key:"cells2",type:"cells",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};KJ.splitToCells=function(e){var t=EZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r=="string"&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function EZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var o$=ye((k_r,$We)=>{"use strict";var Ia=WJ(),Mc=xa(),JJ=Mr(),kZt=JJ.numberFormat,gu=Km(),$J=ao(),CZt=Ll(),LZt=Mr().raiseToTop,og=Mr().strTranslate,PZt=Mr().cancelTransition,IZt=NWe(),XWe=UWe(),VWe=va();$We.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll("."+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return IZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append("g").classed(Ia.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),i.attr("width",function(E){return E.width+E.size.l+E.size.r}).attr("height",function(E){return E.height+E.size.t+E.size.b}).attr("transform",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll("."+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append("g").classed(Ia.cn.tableControlView,!0).style("box-sizing","content-box");if(n){var s="onwheel"in document?"wheel":"mousewheel";o.on("mousemove",function(E){a.filter(function(k){return E===k}).call(Yk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=I7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Yk,t,!0)}a.attr("transform",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll("."+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append("rect").classed(Ia.cn.scrollBackground,!0).attr("fill","none"),l.attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),a.each(function(E){$J.setClipUrl(Mc.select(this),HWe(t,E),t)});var u=a.selectAll("."+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append("g").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr("transform",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return WWe(k,E,-Ia.uplift),LZt(this),E.calcdata.columnDragInProgress=!0,Yk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on("drag",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=YWe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr("transform",function(C){return og(C.x,0)}),k.call(PZt).attr("transform",og(E.x,-Ia.uplift))}).on("dragend",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,WWe(k,E,0),VZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){$J.setClipUrl(Mc.select(this),GWe(t,E),t)});var c=u.selectAll("."+Ia.cn.columnBlock).data(XWe.splitToPanels,gu.keyFun);c.enter().append("g").classed(Ia.cn.columnBlock,!0).attr("id",function(E){return E.key}),c.style("cursor",function(E){return E.dragHandle?"ew-resize":E.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var f=c.filter(HZt),h=c.filter(i$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on("drag",I7(t,a,-1)).on("dragend",function(){})),QJ(t,a,f,c),QJ(t,a,h,c);var d=a.selectAll("."+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append("clipPath").classed(Ia.cn.scrollAreaClip,!0).attr("id",function(E){return HWe(t,E)});var v=d.selectAll("."+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append("rect").classed(Ia.cn.scrollAreaClipRect,!0).attr("x",-Ia.overdrag).attr("y",-Ia.uplift).attr("fill","none"),v.attr("width",function(E){return E.width+2*Ia.overdrag}).attr("height",function(E){return E.height+Ia.uplift});var x=u.selectAll("."+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append("g").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll("."+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append("clipPath").classed(Ia.cn.columnBoundaryClippath,!0),b.attr("id",function(E){return GWe(t,E)});var g=b.selectAll("."+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);g.enter().append("rect").classed(Ia.cn.columnBoundaryRect,!0).attr("fill","none"),g.attr("width",function(E){return E.columnWidth+2*P7(E)}).attr("height",function(E){return E.calcdata.height+2*P7(E)+Ia.uplift}).attr("x",function(E){return-P7(E)}).attr("y",function(E){return-P7(E)}),n$(null,h,a)};function P7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function HWe(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function GWe(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function YWe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Yk(e,t,r){function n(u){var c=u.rowBlocks;return t$(c,c.length-1)+(c.length?R7(c[c.length-1],1/0):1)}var i=e.selectAll("."+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append("g").classed(Ia.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-e$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr("transform",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,e$(u))});var a=i.selectAll("."+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append("g").classed(Ia.cn.scrollbar,!0);var o=a.selectAll("."+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append("g").classed(Ia.cn.scrollbarSlider,!0),o.attr("transform",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll("."+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append("line").classed(Ia.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",Ia.scrollbarWidth).attr("stroke-linecap","round").attr("y1",Ia.scrollbarWidth/2),s.attr("y2",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr("stroke-opacity",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr("stroke-opacity",0);var l=a.selectAll("."+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append("line").classed(Ia.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",Ia.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||I7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on("drag",I7(t,e)).on("dragend",function(){})),l.attr("y2",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function QJ(e,t,r,n){var i=RZt(r),a=DZt(i);OZt(a);var o=zZt(a);NZt(o);var s=qZt(a),l=FZt(s);BZt(l),KWe(l,t,n,e),a$(a)}function RZt(e){var t=e.selectAll("."+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append("g").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function DZt(e){var t=e.selectAll("."+Ia.cn.columnCell).data(XWe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function zZt(e){var t=e.selectAll("."+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("rect").classed(Ia.cn.cellRect,!0),t}function FZt(e){var t=e.selectAll("."+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("text").classed(Ia.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){Mc.event.stopPropagation()}),t}function qZt(e){var t=e.selectAll("."+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ia.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}function OZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function BZt(e){e.each(function(t){$J.font(Mc.select(this),t.font)})}function NZt(e){e.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);VWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),VWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function KWe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s=="string",u=l&&s.match(/
/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=UZt(s);i.latex=f;var h=f?"":Xv(i.calcdata.cells.prefix,a,o)||"",d=f?"":Xv(i.calcdata.cells.suffix,a,o)||"",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?kZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=jWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?jWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var g;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===" "?x.replace(/i&&n.push(a),i+=l}return n}function n$(e,t,r){var n=YWe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=t$(i,i.length),s=n.calcdata.groupHeight-e$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=GZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr("transform",function(c){var f=t$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(ZWe(e,r,t,u,n.prevPages,n,0),ZWe(e,r,t,u,n.prevPages,n,1),Yk(r,e))}}function I7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll("."+Ia.cn.yColumn).selectAll("."+Ia.cn.columnBlock).filter(i$);return n$(e,c,s),o.scrollY===u}}function ZWe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});QJ(e,t,l,r),i[o]=n[o]}))}function jZt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll("tspan.line").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value="";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll("tspan.line").remove(),KWe(a.select("."+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(a$)}}function WZt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=r$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll("."+Ia.cn.columnCell).call(a$),n$(null,e.filter(i$),0),Yk(r,n,!0)),o.attr("transform",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select("."+Ia.cn.cellRect).node().getBoundingClientRect(),g=d.transform.baseVal.consolidate(),E=b.top-x.top+(g?g.matrix.f:Ia.cellPad);return og(JWe(i,Mc.select(d.parentNode).select("."+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function JWe(e,t){switch(e.align){case"left":return Ia.cellPad;case"right":return e.column.columnWidth-(t||0)-Ia.cellPad;case"center":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function a$(e){e.attr("transform",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+R7(s,1/0)},0),n=r$(t),i=R7(n,t.key),a=i+r;return og(0,a)}).selectAll("."+Ia.cn.cellRect).attr("height",function(t){return XZt(r$(t),t.key).rowHeight})}function t$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=ZZt(e[n]);return r}function R7(e,t){for(var r=0,n=0;n{"use strict";var YZt=kd().getModuleCalcData,KZt=o$(),D7="table";z7.name=D7;z7.plot=function(e){var t=YZt(e.calcdata,D7)[0];t.length&&KZt(e,t)};z7.clean=function(e,t,r,n){var i=n._has&&n._has(D7),a=t._has&&t._has(D7);i&&!a&&n._paperdiv.selectAll(".table").remove()}});var tZe=ye((L_r,eZe)=>{"use strict";eZe.exports={attributes:GJ(),supplyDefaults:kWe(),calc:LWe(),plot:o$(),moduleType:"trace",name:"table",basePlotModule:QWe(),categories:["noOpacity"],meta:{}}});var iZe=ye((P_r,rZe)=>{"use strict";rZe.exports=tZe()});var lZe=ye((I_r,sZe)=>{"use strict";var nZe=Su(),aZe=dh(),s$=Cd(),JZt=Oc().descriptionWithDates,$Zt=Bu().overrideAll,oZe=Ed().dash,l$=no().extendFlat;sZe.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:nZe({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:s$.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},labelalias:l$({},s$.labelalias,{editType:"calc"}),tickfont:nZe({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:JZt("tick label")},tickformatstops:$Zt(s$.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:aZe.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},griddash:l$({},oZe,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgriddash:l$({},oZe,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:aZe.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},editType:"calc"}});var q7=ye((R_r,fZe)=>{"use strict";var QZt=Su(),uZe=lZe(),cZe=dh(),F7=QZt({editType:"calc"}),eXt=Uc().zorder;F7.family.dflt='"Open Sans", verdana, arial, sans-serif';F7.size.dflt=12;F7.color.dflt=cZe.defaultLine;fZe.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:uZe,baxis:uZe,font:F7,color:{valType:"color",dflt:cZe.defaultLine,editType:"plot"},zorder:eXt}});var vZe=ye((D_r,dZe)=>{"use strict";var hZe=Mr().isArray1D;dZe.exports=function(t,r,n){var i=n("x"),a=i&&i.length,o=n("y"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||hZe(i))&&(!s||hZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var mZe=ye((z_r,gZe)=>{"use strict";var tXt=q7(),pZe=va().addOpacity,rXt=ba(),Kk=Mr(),iXt=xb(),nXt=e_(),aXt=t_(),oXt=QP(),sXt=ym(),lXt=L3();gZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=tXt[i+"axis"];function s(p,P){return Kk.coerce(t,r,o,p,P)}function l(p,P){return Kk.coerce2(t,r,o,p,P)}n.name&&(r._name=n.name,r._id=n.name),s("autotypenumbers",n.autotypenumbersDflt);var u=s("type");if(u==="-"&&(n.data&&uXt(r,n.data),r.type==="-"?r.type="linear":u=t.type=r.type),s("smoothing"),s("cheatertype"),s("showticklabels"),s("labelprefix",i+" = "),s("labelsuffix"),s("showtickprefix"),s("showticksuffix"),s("separatethousands"),s("tickformat"),s("exponentformat"),s("minexponent"),s("showexponent"),s("categoryorder"),s("tickmode"),s("tickvals"),s("ticktext"),s("tick0"),s("dtick"),r.tickmode==="array"&&(s("arraytick0"),s("arraydtick")),s("labelpadding"),r._hovertitle=i,u==="date"){var c=rXt.getComponentMethod("calendars","handleDefaults");c(t,r,"calendar",n.calendar)}sXt(r,n.fullLayout),r.c2p=Kk.identity;var f=s("color",n.dfltColor),h=f===t.color?f:a.color,d=s("title.text");d&&(Kk.coerceFont(s,"title.font",a,{overrideDflt:{size:Kk.bigFont(a.size),color:h}}),s("title.offset")),s("tickangle");var v=s("autorange",!r.isValidRange(t.range));v&&s("rangemode"),s("range"),r.cleanRange(),s("fixedrange"),iXt(t,r,s,u),aXt(t,r,s,u,n),nXt(t,r,s,u,n),oXt(t,r,s,{data:n.data,dataAttr:i});var x=l("gridcolor",pZe(f,.3)),b=l("gridwidth"),g=l("griddash"),E=s("showgrid");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l("startlinecolor",f),A=l("startlinewidth",b),L=s("startline",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l("endlinecolor",f),C=l("endlinewidth",b),M=s("endline",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s("minorgridcount"),s("minorgridwidth",b),s("minorgriddash",g),s("minorgridcolor",pZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels==="none"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s("tickmode"),r};function uXt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i=n+"calendar",a=e[i];e.type=lXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var _Ze=ye((F_r,yZe)=>{"use strict";var cXt=mZe(),fXt=Vs();yZe.exports=function(t,r,n,i,a){var o=i("a");o||(i("da"),i("a0"));var s=i("b");s||(i("db"),i("b0")),hXt(t,r,n,a)};function hXt(e,t,r,n){var i=["aaxis","baxis"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=fXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:"x",id:o+"axis",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};cXt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!=="-"&&(e[a]={type:s.type})})}});var wZe=ye((q_r,bZe)=>{"use strict";var xZe=Mr(),dXt=vZe(),vXt=_Ze(),pXt=q7(),gXt=dh();bZe.exports=function(t,r,n,i){function a(l,u){return xZe.coerce(t,r,pXt,l,u)}r._clipPathId="clip"+r.uid+"carpet";var o=a("color",gXt.defaultLine);if(xZe.coerceFont(a,"font",i.font),a("carpet"),vXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=dXt(t,r,a);s||(r.visible=!1),r._cheater&&a("cheaterslope"),a("zorder")}});var u$=ye((O_r,TZe)=>{"use strict";var mXt=Mr().isArrayOrTypedArray;TZe.exports=function(t,r,n){var i;for(mXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i{"use strict";AZe.exports=function(t,r,n){if(t.length===0)return"";var i,a=[],o=n?3:1;for(i=0;i{"use strict";SZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var DZe=ye((U_r,RZe)=>{"use strict";var U7=xa(),O7=ao(),B7=u$(),CZe=c$(),Jk=MZe(),f$=Ll(),Up=Mr(),LZe=Up.strRotate,N7=Up.strTranslate,PZe=Nh();RZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,"trace").each(function(c){var f=U7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,"g","minorlayer"),g=Up.ensureSingle(f,"g","majorlayer"),E=Up.ensureSingle(f,"g","boundarylayer"),k=Up.ensureSingle(f,"g","labellayer");f.style("opacity",d.opacity),FA(o,s,g,v,"a",v._gridlines,!0,a),FA(o,s,g,x,"b",x._gridlines,!0,a),FA(o,s,b,v,"a",v._minorgridlines,!0,a),FA(o,s,b,x,"b",x._minorgridlines,!0,a),FA(o,s,E,v,"a-boundary",v._boundarylines,a),FA(o,s,E,x,"b-boundary",x._boundarylines,a);var A=EZe(t,o,s,d,h,k,v._labels,"a-label"),L=EZe(t,o,s,d,h,k,x._labels,"b-label");_Xt(t,k,d,h,o,s,A,L),yXt(d,h,u,o,s)})};function yXt(e,t,r,n,i){var a,o,s,l,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var c=Up.ensureSingle(u,"path","carpetboundary"),f=t.clipsegments,h=[];for(l=0;l0?"start":"end","data-notex":1}).call(O7.font,f.font).text(f.text).call(f$.convertToTspans,e),g=O7.bBox(this);b.attr("transform",N7(d.p[0],d.p[1])+LZe(d.angle)+N7(f.axis.labelpadding*x,g.height*.3)),u=Math.max(u,g.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function _Xt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Jk(r,i,a,c,r.dxydb_rough(l,u))),kZe(e,t,r,n,c,f,r.aaxis,i,a,o,"a-title"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Jk(r,i,a,c,r.dxyda_rough(l,u))),kZe(e,t,r,n,c,f,r.baxis,i,a,s,"b-title")}var IZe=PZe.LINE_SPACING,xXt=(1-PZe.MID_SHIFT)/IZe+1;function kZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll("text."+c).data(f),d=u.maxExtent;h.enter().append("text").classed(c,!0),h.each(function(){var v=Jk(r,s,l,i,a);["start","both"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),g=(b-v.angle+450)%360,E=g>90&&g<270,k=U7.select(this);k.text(o.title.text).call(f$.convertToTspans,e),E&&(d=(-f$.lineCount(k)+xXt)*IZe*x-d),k.attr("transform",N7(v.p[0],v.p[1])+LZe(v.angle)+N7(0,d)).attr("text-anchor","middle").call(O7.font,o.title.font)}),h.exit().remove()}});var FZe=ye((V_r,zZe)=>{"use strict";var V7=Mr().isArrayOrTypedArray;zZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=V7(e)?e.length:e,f=V7(t)?t.length:t,h=V7(e)?e:null,d=V7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i{"use strict";var qZe=Mr().isArrayOrTypedArray;BZe.exports=function(e){return OZe(e,0)};function OZe(e,t){if(!qZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a{"use strict";var bXt=Qa(),Ex=no().extendFlat;UZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,g,E=t["_"+r],k=t[r+"axis"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t["_"+n],M=t[n+"axis"];k.tickmode==="array"&&(k.tickvals=E.slice());var p=t._xctrl,P=t._yctrl,T=p[0].length,F=p.length,q=t._a.length,V=t._b.length;bXt.prepTicks(k),k.tickmode==="array"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r==="b")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r==="b")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;WE.length-1)&&A.push(Ex(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;fE.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;iE[E.length-1])&&L.push(Ex(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(Ex(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(Ex(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(Ex(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;fE[E.length-1])&&L.push(Ex(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(Ex(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(Ex(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var WZe=ye((j_r,jZe)=>{"use strict";var HZe=Qa(),GZe=no().extendFlat;jZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{"use strict";ZZe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var KZe=ye((Z_r,YZe)=>{"use strict";var wXt=Mr();YZe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e0&&a0&&iM);return wXt.log("Smoother converged to",p,"after",T,"iterations"),t}});var $Ze=ye((X_r,JZe)=>{"use strict";JZe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var tXe=ye((Y_r,eXe)=>{"use strict";var QZe=.5;eXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,QZe/2),c=Math.pow(s*s+l*l,QZe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var iXe=ye((K_r,rXe)=>{"use strict";var h$=tXe(),H7=Mr().ensureArray;function qA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}rXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,g=n[0].length,E=n.length,k=a?3*g-2:g,A=o?3*E-2:E;for(t=H7(t,A),r=H7(r,A),u=0;u{"use strict";nXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),g=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-g));b*=3,g*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,p=k*k,P=p*k,T=1-k,F=T*T,q=F*T;for(x=0;x{"use strict";oXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,g=x*o*2,E=-3*b,k=3*(b-g),A=3*(g-v),L=3*v,_=s*s,C=_*s,M=1-s,p=M*M,P=p*M;for(d=0;d{"use strict";lXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,g=b*b,E=g*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),p=3*(_-k),P=3*k;for(d=0;d{"use strict";var cXe=$Ze(),fXe=E6().findBin,TXt=iXe(),AXt=aXe(),SXt=sXe(),MXt=uXe();hXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*cXe.RELATIVE_CULL_TOLERANCE,x=d*cXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,g){return b>l&&bc&&gu||gf},t.setScale=function(){var b=t._x,g=t._y,E=TXt(t._xctrl,t._yctrl,b,g,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=AXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=SXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=MXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var g=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-g;return(1-E)*r[g]+E*r[g+1]},t.j2b=function(b){var g=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-g;return(1-E)*n[g]+E*n[g+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var g=Math.max(0,Math.min(fXe(b,r),i-2)),E=r[g],k=r[g+1];return Math.max(0,Math.min(i-1,g+(b-E)/(k-E)))},t.b2j=function(b){var g=Math.max(0,Math.min(fXe(b,n),a-2)),E=n[g],k=n[g+1];return Math.max(0,Math.min(a-1,g+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,g){return t.evalxy([],b,g)},t.ab2xy=function(b,g,E){if(!E&&(br[i-1]|gn[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(g),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],p,P,T,F;br[i-1]?(p=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(p=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-p),gn[a-1]?(T=a-2,F=1,C=(g-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,p,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,p,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,g,E){return[g.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,g,E){return[g.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var g=Math.max(0,Math.min(r.length-2,b));return r[g+1]-r[g]},t.dbdj=function(b){var g=Math.max(0,Math.min(n.length-2,b));return n[g+1]-n[g]},t.dxyda=function(b,g,E,k){var A=t.dxydi(null,b,g,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,g,E,k){var A=t.dxydj(null,b,g,E,k),L=t.dbdj(g,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,g,E){var k=h*(E||.1),A=t.ab2xy(b+k,g,!0),L=t.ab2xy(b-k,g,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,g,E){var k=d*(E||.1),A=t.ab2xy(b,g+k,!0),L=t.ab2xy(b,g-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var bXe=ye((txr,xXe)=>{"use strict";var G7=Qa(),vXe=Mr().isArray1D,EXt=FZe(),pXe=NZe(),gXe=VZe(),mXe=WZe(),kXt=XZe(),yXe=$I(),_Xe=KZe(),CXt=KI(),LXt=dXe();xXe.exports=function(t,r){var n=G7.getFromId(t,r.xaxis),i=G7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&vXe(s)&&u.push("x"),l&&vXe(l)&&u.push("y"),u.length&&CXt(r,a,o,"a","b",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype==="index"?c.length:c,v=o.cheatertype==="index"?f.length:f;s=EXt(d,v,r.cheaterslope)}r._x=s=yXe(s),r._y=l=yXe(l),_Xe(s,c,f),_Xe(l,c,f),LXt(r),r.setScale();var x=pXe(s),b=pXe(l),g=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-g*L,E+g*L],b=[A-k*L,A+k*L],r._extremes[n._id]=G7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=G7.findExtremes(i,b,{padded:!0}),gXe(r,"a","b"),gXe(r,"b","a"),mXe(r,a),mXe(r,o),h.clipsegments=kXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var TXe=ye((rxr,wXe)=>{"use strict";wXe.exports={attributes:q7(),supplyDefaults:wZe(),plot:DZe(),calc:bXe(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Jf(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}});var SXe=ye((ixr,AXe)=>{"use strict";AXe.exports=TXe()});var d$=ye((nxr,EXe)=>{"use strict";var PXt=Eg(),u0=Uc(),IXt=vl(),RXt=Wo().hovertemplateAttrs,DXt=Wo().texttemplateAttrs,MXe=Kl(),kx=no().extendFlat,sg=u0.marker,OA=u0.line,zXt=sg.line;EXe.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:kx({},u0.mode,{dflt:"markers"}),text:kx({},u0.text,{}),texttemplate:DXt({editType:"plot"},{keys:["a","b","text"]}),hovertext:kx({},u0.hovertext,{}),line:{color:OA.color,width:OA.width,dash:OA.dash,backoff:OA.backoff,shape:kx({},OA.shape,{values:["linear","spline"]}),smoothing:OA.smoothing,editType:"calc"},connectgaps:u0.connectgaps,fill:kx({},u0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:PXt(),marker:kx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:kx({width:zXt.width,editType:"calc"},MXe("marker.line")),gradient:sg.gradient,editType:"calc"},MXe("marker")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:kx({},IXt.hoverinfo,{flags:["a","b","text","name"]}),hoveron:u0.hoveron,hovertemplate:RXt(),zorder:u0.zorder}});var PXe=ye((axr,LXe)=>{"use strict";var kXe=Mr(),FXt=Sm(),BA=lu(),qXt=$p(),OXt=R0(),CXe=J3(),BXt=D0(),NXt=Ig(),UXt=d$();LXe.exports=function(t,r,n,i){function a(h,d){return kXe.coerce(t,r,UXt,h,d)}a("carpet"),r.xaxis="x",r.yaxis="y";var o=a("a"),s=a("b"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("text"),a("texttemplate"),a("hovertext");var u=l{"use strict";IXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var j7=ye((sxr,DXe)=>{"use strict";DXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i{"use strict";var zXe=uo(),VXt=z0(),HXt=km(),GXt=F0(),jXt=q0().calcMarkerSize,WXt=j7();FXe.exports=function(t,r){var n=r._carpetTrace=WXt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i{"use strict";var ZXt=iT(),OXe=Qa(),XXt=ao();BXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=OXe.getFromId(t,l.xaxis||"x"),c=OXe.getFromId(t,l.yaxis||"y"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a{"use strict";var YXt=sT(),KXt=Mr().fillText;UXe.exports=function(t,r,n,i){var a=YXt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,""):L=k._hovertitle,x.push(L+": "+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var g=f.hi||h.hoverinfo,E=g.split("+");E.indexOf("all")!==-1&&(E=["a","b","text"]),E.indexOf("a")!==-1&&b(d.aaxis,f.a),E.indexOf("b")!==-1&&b(d.baxis,f.b),x.push("y: "+o.yLabel),E.indexOf("text")!==-1&&KXt(f,h,x),o.extraText=x.join("
")}return a}});var GXe=ye((fxr,HXe)=>{"use strict";HXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var WXe=ye((hxr,jXe)=>{"use strict";jXe.exports={attributes:d$(),supplyDefaults:PXe(),colorbar:Kd(),formatLabels:RXe(),calc:qXe(),plot:NXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:VXe(),selectPoints:lT(),eventData:GXe(),moduleType:"trace",name:"scattercarpet",basePlotModule:Jf(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}});var XXe=ye((dxr,ZXe)=>{"use strict";ZXe.exports=WXe()});var v$=ye((vxr,YXe)=>{"use strict";var lg=ET(),g1=T4(),JXt=Kl(),$Xt=no().extendFlat,ty=g1.contours;YXe.exports=$Xt({carpet:{valType:"string",editType:"calc"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:"plot"},zorder:g1.zorder},JXt("",{cLetter:"z",autoColorDflt:!1}))});var p$=ye((pxr,$Xe)=>{"use strict";var KXe=Mr(),QXt=ZI(),JXe=v$(),eYt=yH(),tYt=m8(),rYt=y8();$Xe.exports=function(t,r,n,i){function a(u,c){return KXe.coerce(t,r,JXe,u,c)}function o(u){return KXe.coerce2(t,r,JXe,u)}if(a("carpet"),t.a&&t.b){var s=QXt(t,r,a,i,"a","b");if(!s){r.visible=!1;return}a("text");var l=a("contours.type")==="constraint";l?eYt(t,r,a,i,n,{hasHover:!1}):(tYt(t,r,a,o),rYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a("zorder")}});var rYe=ye((gxr,tYe)=>{"use strict";var iYt=zv(),QXe=Mr(),nYt=KI(),aYt=$I(),oYt=QI(),sYt=e8(),eYe=VV(),lYt=p$(),uYt=j7(),cYt=oH();tYe.exports=function(t,r){var n=r._carpetTrace=uYt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),lYt(a,r,r._defaultColor,t._fullLayout)}var o=fYt(t,r);return cYt(r,r._z),o}};function fYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,QXe.isArray1D(t.z)&&nYt(t,n,i,"a","b",["z"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,"_a"):[],l=l?i.makeCalcdata(t,"_b"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=aYt(t._z||t.z,t.transpose),t._emptypoints=sYt(f),oYt(f,t._emptypoints);var h=QXe.maxRowLength(f),d=t.xtype==="scaled"?"":a,v=eYe(t,d,o,s,h,n),x=t.ytype==="scaled"?"":l,b=eYe(t,x,u,c,f.length,i),g={a:v,b,z:f};return t.contours.type==="levels"&&t.contours.coloring!=="none"&&iYt(e,t,{vals:f,containerStr:"",cLetter:"z"}),[g]}});var nYe=ye((mxr,iYe)=>{"use strict";var hYt=Mr().isArrayOrTypedArray;iYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,g=hYt(r)?"a":"b",E=g==="a"?e.aaxis:e.baxis,k=E.smoothing,A=g==="a"?e.a2i:e.b2j,L=g==="a"?r:n,_=g==="a"?n:r,C=g==="a"?t.a.length:t.b.length,M=g==="a"?t.b.length:t.a.length,p=Math.floor(g==="a"?e.b2j(_):e.a2i(_)),P=g==="a"?function(_e){return e.evalxy([],_e,p)}:function(_e){return e.evalxy([],p,_e)};k&&(o=Math.max(0,Math.min(M-2,p)),s=p-o,a=g==="a"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q{"use strict";var Z7=xa(),X7=u$(),uYe=c$(),$k=ao(),m1=Mr(),dYt=lH(),vYt=uH(),hw=b8(),W7=S4(),pYt=dH(),gYt=hH(),mYt=vH(),yYt=j7(),aYe=nYe();cYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,"contour").each(function(s){var l=Z7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=yYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible==="legendonly")return;var d=u.a,v=u.b,x=c.contours,b=gYt(x,r,u),g=x.type==="constraint",E=x._operation,k=g?E==="="?"lines":"fill":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];dYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;vYt(b,_,C);var M=b;x.type==="constraint"&&(M=pYt(b,E)),_Yt(b,A);var p,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)p=h.clipsegments[F],P=X7([],p.x,a.c2p),T=X7([],p.y,o.c2p),P.reverse(),T.reverse(),q.push(uYe(P,T,p.bicubic));var V="M"+q.join("L")+"Z";wYt(l,h.clipsegments,a,o,g,k),TYt(c,l,a,o,M,L,A,f,h,k,V),xYt(l,b,t,u,x,r,f),$k.setClipUrl(l,f._clipPathId,t)})};function _Yt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;rb&&(n.max=b),n.len=n.max-n.min}function oYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function sYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function lYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function wYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,"g","contourbg"),f=c.selectAll("path").data(a==="fill"&&!i?[0]:[]);f.enter().append("path"),f.exit().remove();var h=[];for(u=0;u=0&&(d=P,x=b):Math.abs(h[1]-d[1])=0&&(d=P,x=b):m1.log("endpt to newendpt is not vert. or horz.",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log("unclosed perimeter path");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+"Z",h=null)}for(l=0;l{"use strict";hYe.exports={attributes:v$(),supplyDefaults:p$(),colorbar:A8(),calc:rYe(),plot:fYe(),style:T8(),moduleType:"trace",name:"contourcarpet",basePlotModule:Jf(),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}});var pYe=ye((xxr,vYe)=>{"use strict";vYe.exports=dYe()});var K7=ye((bxr,xYe)=>{"use strict";var Y7=Mr().extendFlat,Qk=Uc(),gYe=Oc().axisHoverFormat,yYe=Ed().dash,SYt=i3(),_Ye=HT(),MYt=_Ye.INCREASING.COLOR,EYt=_Ye.DECREASING.COLOR,g$=Qk.line;function mYe(e){return{line:{color:Y7({},g$.color,{dflt:e}),width:g$.width,dash:yYe,editType:"style"},editType:"style"}}xYe.exports={xperiod:Qk.xperiod,xperiod0:Qk.xperiod0,xperiodalignment:Qk.xperiodalignment,xhoverformat:gYe("x"),yhoverformat:gYe("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:Y7({},g$.width,{}),dash:Y7({},yYe,{}),editType:"style"},increasing:mYe(MYt),decreasing:mYe(EYt),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:Y7({},SYt.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}}),zorder:Qk.zorder}});var m$=ye((wxr,bYe)=>{"use strict";var kYt=ba(),CYt=Mr();bYe.exports=function(t,r,n,i){var a=n("x"),o=n("open"),s=n("high"),l=n("low"),u=n("close");n("hoverlabel.split");var c=kYt.getComponentMethod("calendars","handleTraceDefaults");if(c(t,r,["x"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,CYt.minRowLength(a))),r._length=f,f}}});var AYe=ye((Txr,TYe)=>{"use strict";var LYt=Mr(),PYt=m$(),IYt=Pg(),RYt=K7();TYe.exports=function(t,r,n,i){function a(s,l){return LYt.coerce(t,r,RYt,s,l)}var o=PYt(t,r,a,i);if(!o){r.visible=!1;return}IYt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),a("line.dash"),wYe(t,r,a,"increasing"),wYe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("tickwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function wYe(e,t,r,n){r(n+".line.color"),r(n+".line.width",t.line.width),r(n+".line.dash",t.line.dash)}});var y$=ye((Axr,MYe)=>{"use strict";var NA=Mr(),J7=NA._,$7=Qa(),DYt=Rg(),eC=es().BADNUM;function zYt(e,t){var r=$7.getFromId(e,t.xaxis),n=$7.getFromId(e,t.yaxis),i=qYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=SYe(e,t,o,s,n,FYt);return t._extremes[r._id]=$7.findExtremes(r,s,{vpad:a/2}),l.length?(NA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function FYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function SYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,"open"),s=i.makeCalcdata(t,"high"),l=i.makeCalcdata(t,"low"),u=i.makeCalcdata(t,"close"),c=NA.isArrayOrTypedArray(t.text),f=NA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;bd):h=L>E,d=L;var _=a(E,k,A,L);_.pos=g,_.yc=(E+L)/2,_.i=b,_.dir=h?"increasing":"decreasing",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:g,empty:!0})}return t._extremes[i._id]=$7.findExtremes(i,NA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:J7(e,"open:")+" ",high:J7(e,"high:")+" ",low:J7(e,"low:")+" ",close:J7(e,"close:")+" "}}),x}function qYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o{"use strict";var OYt=xa(),EYe=Mr();kYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;EYe.makeTraceGroups(i,n,"trace ohlc").each(function(l){var u=OYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll("path").data(EYe.identity);v.enter().append("path"),v.exit().remove(),v.attr("d",function(x){if(x.empty)return"M0,0Z";var b=o.c2p(x.pos-d,!0),g=o.c2p(x.pos+d,!0),E=s?(b+g)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return"M"+b+","+k+"H"+E+"M"+E+","+A+"V"+L+"M"+g+","+_+"H"+E})})}});var PYe=ye((Mxr,LYe)=>{"use strict";var _$=xa(),BYt=ao(),NYt=va();LYe.exports=function(t,r,n){var i=n||_$.select(t).selectAll("g.ohlclayer").selectAll("g.trace");i.style("opacity",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;_$.select(this).selectAll("path").each(function(s){if(!s.empty){var l=o[s.dir].line;_$.select(this).style("fill","none").call(NYt.stroke,l.color).call(BYt.dashLine,l.dash,l.width).style("opacity",o.selectedpoints&&!s.selected?.3:1)}})})}});var b$=ye((Exr,FYe)=>{"use strict";var x$=Qa(),UYt=Mr(),Q7=Nc(),VYt=va(),HYt=Mr().fillText,IYe=HT(),GYt={increasing:IYe.INCREASING.SYMBOL,decreasing:IYe.DECREASING.SYMBOL};function jYt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?DYe(e,t,r,n):zYe(e,t,r,n)}function RYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l==="ohlc"?"l":"min",c=l==="ohlc"?"h":"max",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,g=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-g,h=e.maxSpikeDistance-g;function E(P){var T=v(P);return Q7.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||Q7.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=Q7.getDistanceFunction(n,E,k,A);if(Q7.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],p=M.line.color;return VYt.opacity(p)&&M.line.width?e.color=p:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function DYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=RYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split("+"),v=h==="all",x=v||d.indexOf("y")!==-1;if(!x)return[];for(var b=["high","open","close","low"],g={},E=0;E"+s.labels[k]+x$.hoverLabelText(a,A,o.yhoverformat)):(_=UYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+x$.hoverLabelText(a,A,o.yhoverformat),_.name="",l.push(_),g[A]=_)}return l}function zYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=RYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+x$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split("+"),b=v==="all",g=b||x.indexOf("y")!==-1,E=b||x.indexOf("text")!==-1,k=g?[d("open"),d("high"),d("low"),d("close")+" "+GYt[h]]:[];return E&&HYt(c,o,k),l.extraText=k.join("
"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}FYe.exports={hoverPoints:jYt,hoverSplit:DYe,hoverOnPoints:zYe}});var w$=ye((kxr,qYe)=>{"use strict";qYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{"use strict";OYe.exports={moduleType:"trace",name:"ohlc",basePlotModule:Jf(),categories:["cartesian","svg","showLegend"],meta:{},attributes:K7(),supplyDefaults:AYe(),calc:y$().calc,plot:CYe(),style:PYe(),hoverPoints:b$().hoverPoints,selectPoints:w$()}});var UYe=ye((Lxr,NYe)=>{"use strict";NYe.exports=BYe()});var A$=ye((Pxr,GYe)=>{"use strict";var T$=Mr().extendFlat,VYe=Oc().axisHoverFormat,c0=K7(),UA=v4();function HYe(e){return{line:{color:T$({},UA.line.color,{dflt:e}),width:UA.line.width,editType:"style"},fillcolor:UA.fillcolor,editType:"style"}}GYe.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:VYe("x"),yhoverformat:VYe("y"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:T$({},UA.line.width,{}),editType:"style"},increasing:HYe(c0.increasing.line.color.dflt),decreasing:HYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:T$({},UA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:UA.zorder}});var ZYe=ye((Ixr,WYe)=>{"use strict";var WYt=Mr(),ZYt=va(),XYt=m$(),YYt=Pg(),KYt=A$();WYe.exports=function(t,r,n,i){function a(s,l){return WYt.coerce(t,r,KYt,s,l)}var o=XYt(t,r,a,i);if(!o){r.visible=!1;return}YYt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),jYe(t,r,a,"increasing"),jYe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("whiskerwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function jYe(e,t,r,n){var i=r(n+".line.color");r(n+".line.width",t.line.width),r(n+".fillcolor",ZYt.addOpacity(i,.5))}});var JYe=ye((Rxr,KYe)=>{"use strict";var XYe=Mr(),YYe=Qa(),JYt=Rg(),$Yt=y$().calcCommon;KYe.exports=function(e,t){var r=e._fullLayout,n=YYe.getFromId(e,t.xaxis),i=YYe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,"x"),o=JYt(t,n,"x",a).vals,s=$Yt(e,t,a,o,i,QYt);return s.length?(XYe.extendFlat(s[0].t,{num:r._numBoxes,dPos:XYe.distinctVals(o).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,s):[{t:{empty:!0}}]};function QYt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var QYe=ye((Dxr,$Ye)=>{"use strict";$Ye.exports={moduleType:"trace",name:"candlestick",basePlotModule:Jf(),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:A$(),layoutAttributes:p4(),supplyLayoutDefaults:UI().supplyLayoutDefaults,crossTraceCalc:HI().crossTraceCalc,supplyDefaults:ZYe(),calc:JYe(),plot:GI().plot,layerName:"boxlayer",style:jI().style,hoverPoints:b$().hoverPoints,selectPoints:w$()}});var tKe=ye((zxr,eKe)=>{"use strict";eKe.exports=QYe()});var M$=ye((Fxr,rKe)=>{"use strict";var t9=Mr(),eKt=ym(),e9=t9.deg2rad,S$=t9.rad2deg;rKe.exports=function(t,r,n){switch(eKt(t,n),t._id){case"x":case"radialaxis":tKt(t,r);break;case"angularaxis":nKt(t,r);break}};function tKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function rKt(e,t){return t==="degrees"?e9(e):e}function iKt(e,t){return t==="degrees"?S$(e):e}function nKt(e,t){var r=e.type;if(r==="linear"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return rKt(n(a),o)},e.c2d=function(a,o){return i(iKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c{"use strict";iKe.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var n9=ye((Oxr,lKe)=>{"use strict";var dw=Mr(),nKe=wM().tester,E$=dw.findIndexOfMin,oKe=dw.isAngleInsideSector,aKt=dw.angleDelta,aKe=dw.angleDist;function oKt(e,t,r,n,i){if(!oKe(t,n))return!1;var a,o;r[0]0?o:1/0},n=E$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function i9(e){return Math.abs(e)>1e-10?e:0}function k$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a{"use strict";function uKe(e){return e<0?-1:e>0?1:0}function HA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function GA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function cKe(e,t){return t*e.radius}function vKt(e,t,r,n){var i=GA(e,HA([r,t])),a=i[0],o=i[1],s=GA(e,HA([n,t])),l=s[0],u=s[1];if(t===0)return["M"+a+","+o,"L"+l+","+u].join(" ");var c=cKe(e,1/Math.abs(t));return["M"+a+","+o,"A"+c+","+c+" 0 0,"+(t<0?1:0)+" "+l+","+u].join(" ")}function pKt(e,t,r,n){var i=cKe(e,1/(t+1)),a=GA(e,HA([t,r])),o=a[0],s=a[1],l=GA(e,HA([t,n])),u=l[0],c=l[1];if(uKe(r)!==uKe(n)){var f=GA(e,HA([t,0])),h=f[0],d=f[1];return["M"+o+","+s,"A"+i+","+i+" 0 0,"+(0{"use strict";var vw=xa(),gKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,L$=va(),tC=ao(),mKt=Xu(),dp=Qa(),yKt=ym(),_Kt=M$(),xKt=wg().doAutoRange,y1=DN(),s9=gv(),hKe=Nc(),bKt=Mb(),wKt=wf().prepSelect,TKt=wf().selectOnClick,P$=wf().clearOutline,dKe=Tg(),vKe=lM(),pKe=gM().redrawReglTraces,AKt=Nh().MID_SHIFT,Cx=r9(),_1=n9(),l9=C$(),a9=l9.smith,SKt=l9.reactanceArc,MKt=l9.resistanceArc,o9=l9.smithTransform,EKt=cc._,gKe=cc.mod,Lx=cc.deg2rad,pw=cc.rad2deg;function mKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i="clip"+n._uid+t;this.clipIds.forTraces=i+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=mKe.prototype;xKe.exports=function(t,r,n){return new mKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;ab?(g=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(g=c/b,E=c,L=(u-g)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=g,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=g/d,p=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V==="counterclockwise"?(H=V,V="top"):V==="clockwise"&&(H=V,V="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:V,_trueSide:H,domain:[p/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",X).attr("transform",dd(F,q)),n.frontplot.attr("transform",dd(_,C)).call(tC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",X).attr("transform",dd(P,T)).call(L$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return _Kt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:"linear"},r);yKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a==="x"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);xKt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]90&&c<=270&&(f.tickangle=180);var v=d?function(M){var p=o9(r,a9([M.x,0]));return dd(p[0]-s,p[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return MKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=yKe(u);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),h){f.setScale();var g=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks==="top"&&f.side==="bottom"||f.ticks==="bottom"&&f.side==="top")&&(A=-A),f.ticks==="top"&&f.side==="top"&&(g=-f.ticklen),f.ticks==="bottom"&&f.side==="bottom"&&(g=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i["radial-axis"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i["radial-grid"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i["radial-axis"],transFn:v,labelFns:dp.makeLabelFns(f,g)})}var L=r.radialAxisAngle=r.vangles?pw(_Ke(Lx(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);rC(i["radial-axis"],h&&(u.showticklabels||u.ticks),{transform:C}),rC(i["radial-grid"],h&&u.showgrid,{transform:d?"":_}),rC(i["radial-line"].select("line"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr("stroke-width",u.linewidth).call(L$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",c=0;if(l.title){var f=tC.bBox(n.layers["radial-axis"].node()).height,h=l.title.font.size,d=l.side;c=d==="top"?h:d==="counterclockwise"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Lx(v),b=Math.cos(x),g=Math.sin(x),E=o+a/2*b+c*g,k=s-a/2*g+c*b;n.layers["radial-axis-title"]=bKt.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:EKt(i,"Click to enter radial axis title"),attributes:{x:E,y:k,"text-anchor":"middle"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey("angularaxis.rotation",u.rotation),c.setGeometry(),c.setScale());var h=f?function(p){var P=o9(r,a9([0,p.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(p){return c.t2g(p.x)};c.type==="linear"&&c.thetaunit==="radians"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(p){return dd(s+a*Math.cos(p),l-a*Math.sin(p))},v=f?function(p){var P=o9(r,a9([0,p.x]));return dd(P[0],P[1])}:function(p){return d(h(p))},x=f?function(p){var P=o9(r,a9([0,p.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(p){var P=h(p);return d(P)+ry(-pw(P))},b=f?function(p){return SKt(r,p.x,0,1/0)}:function(p){var P=h(p),T=Math.cos(P),F=Math.sin(P);return"M"+[s+o*T,l-o*F]+"L"+[s+a*T,l-a*F]},g=dp.makeLabelFns(c,0),E=g.labelStandoff,k={};k.xFn=function(p){var P=h(p);return Math.cos(P)*E},k.yFn=function(p){var P=h(p),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+p.fontSize*T)+Math.abs(Math.cos(P))*(p.fontSize*AKt)},k.anchorFn=function(p){var P=h(p),T=Math.cos(P);return Math.abs(T)<.1?"middle":T>0?"start":"end"},k.heightFn=function(p,P,T){var F=h(p);return-.5*(1+Math.sin(F))*T};var A=yKe(u);r.angularTickLayout!==A&&(i["angular-axis"].selectAll("."+c._id+"tick").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(p){return dp.tickText(c,p,!0,!1)}):dp.calcTicks(c);f&&(L[0].text="\u221E",L[0].fontSize*=1.75);var _;if(t.gridshape==="linear"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type==="category"&&(L=L.filter(function(p){return cc.isAngleInsideSector(h(p),r.sectorInRad)})),c.visible){var C=c.ticks==="inside"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i["angular-axis"],path:"M"+C*M+",0h"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i["angular-grid"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:v,labelFns:k})}rC(i["angular-line"].select("path"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr("stroke-width",u.linewidth).call(L$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Cx.MINZOOM,s=Cx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,g=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Cx.cornerHalfWidth,L=Cx.cornerLen/2,_,C,M=y1.makeDragger(i,"path","maindrag",e.dragmode===!1?"none":"crosshair");vw.select(M).attr("d",t.pathSubplot()).attr("transform",dd(c,f)),M.onmousemove=function(ce){hKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||s9.unhover(n,ce)};var p={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return"M"+_e(ot,ct)+"A"+[ot,ot]+" 0,0,0 "+_e(ot,qt)+"L"+_e(Rt,qt)+"A"+[Rt,Rt]+" 0,0,1 "+_e(Rt,ct)+"Z"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=g((ct[0]+qt[0])/2),ot=g((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return"M"+Rt.join("L")+"L"+kt.reverse().join("L")+"Z"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=gKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr("fill-rule","evenodd"),N=y1.makeCorners(a,c,f),P$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ceo?(ce-1&&ce===1&&TKt(Ge,n,[t.xaxis],[t.yaxis],t.id,p),nt.indexOf("event")>-1&&hKe.click(n,Ge,t.id)}p.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case"zoom":p.clickFn=Re,r||(x?p.moveFn=ze:p.moveFn=Ee,p.doneFn=Ce,ge(ce,Ge,nt));break;case"select":case"lasso":wKt(ce,Ge,nt,p,ct);break}},s9.init(p)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Cx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Lx(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],g=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L="radialdrag"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L="radialdrag-inner");var _=y1.makeRectDragger(a,L,"crosshair",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),rC(vw.select(_),c.visible&&s0!=(r?P>x:P=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function _Ke(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function rC(e,t,r){return t?(e.attr("display",null),e.attr(r)):e&&e.attr("display","none"),e}});var R$=ye((Uxr,MKe)=>{"use strict";var CKt=dh(),Yo=Cd(),LKt=Ju().attributes,f0=Mr().extendFlat,bKe=Bu().overrideAll,wKe=bKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},"plot","from-root"),TKe=bKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},"plot","from-root"),AKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:["-","linear","log","date","category"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:"plot"},autorange:f0({},Yo.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:f0({},Yo.minallowed,{editType:"plot"}),maxallowed:f0({},Yo.maxallowed,{editType:"plot"}),range:f0({},Yo.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:Yo.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:f0({},Yo.title.text,{editType:"plot",dflt:""}),font:f0({},Yo.title.font,{editType:"plot"}),editType:"plot"},hoverformat:Yo.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};f0(AKe,wKe,TKe);var SKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:Yo.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};f0(SKe,wKe,TKe);MKe.exports={domain:LKt({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:CKt.background},radialaxis:AKe,angularaxis:SKe,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var LKe=ye((Vxr,CKe)=>{"use strict";var u9=Mr(),PKt=va(),IKt=Vs(),RKt=k_(),DKt=kd().getSubplotData,zKt=xb(),FKt=T3(),qKt=e_(),OKt=t_(),BKt=QP(),NKt=YM(),UKt=fB(),VKt=L3(),kKe=R$(),HKt=M$(),c9=r9(),EKe=c9.axisNames;function GKt(e,t,r,n){var i=r("bgcolor");n.bgColor=PKt.combine(i,n.paper_bgcolor);var a=r("sector");r("hole");var o=DKt(n.fullData,c9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+"."+G,N)}for(var c=0;c{"use strict";var WKt=kd().getSubplotCalcData,ZKt=Mr().counterRegex,XKt=I$(),IKe=r9(),RKe=IKe.attr,mw=IKe.name,PKe=ZKt(mw),DKe={};DKe[RKe]={valType:"subplotid",dflt:mw,editType:"calc"};function YKt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i{"use strict";var JKt=Wo().hovertemplateAttrs,$Kt=Wo().texttemplateAttrs,h9=no().extendFlat,QKt=Eg(),h0=Uc(),eJt=vl(),jA=h0.line;FKe.exports={mode:h0.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:h0.text,texttemplate:$Kt({editType:"plot"},{keys:["r","theta","text"]}),hovertext:h0.hovertext,line:{color:jA.color,width:jA.width,dash:jA.dash,backoff:jA.backoff,shape:h9({},jA.shape,{values:["linear","spline"]}),smoothing:jA.smoothing,editType:"calc"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:h9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:h9({},h0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:QKt(),hoverinfo:h9({},eJt.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:h0.hoveron,hovertemplate:JKt(),selected:h0.selected,unselected:h0.unselected}});var v9=ye((jxr,BKe)=>{"use strict";var d9=Mr(),WA=lu(),tJt=$p(),rJt=R0(),qKe=J3(),iJt=D0(),nJt=Ig(),aJt=Sm().PTS_LINESONLY,oJt=iC();function sJt(e,t,r,n){function i(s,l){return d9.coerce(e,t,oJt,s,l)}var a=OKe(e,t,n,i);if(!a){t.visible=!1;return}i("thetaunit"),i("mode",a{"use strict";var lJt=Mr(),NKe=Qa();UKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=NKe.tickText(o,l,!0).text;var u=s.thetaunit==="degrees"?lJt.rad2deg(t.theta):t.theta;return i.thetaLabel=NKe.tickText(s,u,!0).text,i}});var GKe=ye((Zxr,HKe)=>{"use strict";var VKe=uo(),uJt=es().BADNUM,cJt=Qa(),fJt=z0(),hJt=km(),dJt=F0(),vJt=q0().calcMarkerSize;HKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,"r"),l=o.makeCalcdata(r,"theta"),u=r._length,c=new Array(u),f=0;f{"use strict";var pJt=iT(),jKe=es().BADNUM;WKe.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{"use strict";var gJt=sT();function mJt(e,t,r,n){var i=gJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,XKe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function XKe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03B8";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+": "+d)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["r","theta","text"]),f.indexOf("r")!==-1&&c(i,n.rLabel),f.indexOf("theta")!==-1&&c(a,n.thetaLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}YKe.exports={hoverPoints:mJt,makeHoverPointText:XKe}});var JKe=ye((Kxr,KKe)=>{"use strict";KKe.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:f9(),categories:["polar","symbols","showLegend","scatter-like"],attributes:iC(),supplyDefaults:v9().supplyDefaults,colorbar:Kd(),formatLabels:p9(),calc:GKe(),plot:ZKe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:g9().hoverPoints,selectPoints:lT(),meta:{}}});var QKe=ye((Jxr,$Ke)=>{"use strict";$Ke.exports=JKe()});var D$=ye(($xr,eJe)=>{"use strict";var Vp=iC(),x1=ek(),yJt=Wo().texttemplateAttrs;eJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:yJt({editType:"plot"},{keys:["r","theta","text"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:"calc"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var iJe=ye((Qxr,rJe)=>{"use strict";var tJe=Mr(),z$=lu(),_Jt=v9().handleRThetaDefaults,xJt=$p(),bJt=R0(),wJt=D0(),TJt=Ig(),AJt=Sm().PTS_LINESONLY,SJt=D$();rJe.exports=function(t,r,n,i){function a(s,l){return tJe.coerce(t,r,SJt,s,l)}var o=_Jt(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("mode",o{"use strict";var MJt=p9();nJe.exports=function(t,r,n){var i=t.i;return"r"in t||(t.r=r._r[i]),"theta"in t||(t.theta=r._theta[i]),MJt(t,r,n)}});var sJe=ye((tbr,oJe)=>{"use strict";var EJt=z0(),kJt=q0().calcMarkerSize,CJt=Y2(),LJt=Qa(),PJt=ox().TOO_MANY_POINTS;oJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,"r"),l=r._theta=o.makeCalcdata(r,"theta"),u=r._length,c={};u{"use strict";var IJt=zz(),RJt=g9().makeHoverPointText;function DJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=IJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,RJt(f,h,c,u),l}}lJe.exports={hoverPoints:DJt}});var fJe=ye((ibr,cJe)=>{"use strict";cJe.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:f9(),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:D$(),supplyDefaults:iJe(),colorbar:Kd(),formatLabels:aJe(),calc:sJe(),hoverPoints:uJe().hoverPoints,selectPoints:KX(),meta:{}}});var hJe=ye((nbr,F$)=>{"use strict";var zJt=Oz(),FJt=uo(),qJt=QY(),OJt=ZX(),m9=Y2(),y9=Mr(),BJt=ox().TOO_MANY_POINTS,NJt={};F$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=OJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),g=d.slice();for(x=0;x=BJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&y9.extendFlat(v.line,m9.linePositions(t,u,E)),v.text&&(y9.extendFlat(v.text,{positions:E},m9.textPosition(t,u,v.text,v.marker)),y9.extendFlat(v.textSel,{positions:E},m9.textPosition(t,u,v.text,v.markerSel)),y9.extendFlat(v.textUnsel,{positions:E},m9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),qJt(t,r,n)}};F$.exports.reglPrecompiled=NJt});var pJe=ye((abr,vJe)=>{"use strict";var dJe=fJe();dJe.plot=hJe();vJe.exports=dJe});var mJe=ye((obr,gJe)=>{"use strict";gJe.exports=pJe()});var q$=ye((sbr,yJe)=>{"use strict";var UJt=Wo().hovertemplateAttrs,ZA=no().extendFlat,Px=iC(),Ix=Lm();yJe.exports={r:Px.r,theta:Px.theta,r0:Px.r0,dr:Px.dr,theta0:Px.theta0,dtheta:Px.dtheta,thetaunit:Px.thetaunit,base:ZA({},Ix.base,{}),offset:ZA({},Ix.offset,{}),width:ZA({},Ix.width,{}),text:ZA({},Ix.text,{}),hovertext:ZA({},Ix.hovertext,{}),marker:VJt(),hoverinfo:Px.hoverinfo,hovertemplate:UJt(),selected:Ix.selected,unselected:Ix.unselected};function VJt(){var e=ZA({},Ix.marker);return delete e.cornerradius,e}});var O$=ye((lbr,_Je)=>{"use strict";_Je.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}});var wJe=ye((ubr,bJe)=>{"use strict";var xJe=Mr(),HJt=v9().handleRThetaDefaults,GJt=zI(),jJt=q$();bJe.exports=function(t,r,n,i){function a(s,l){return xJe.coerce(t,r,jJt,s,l)}var o=HJt(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),GJt(t,r,a,n,i),xJe.coerceSelectionMarkerOpacity(r,a)}});var AJe=ye((cbr,TJe)=>{"use strict";var WJt=Mr(),ZJt=O$();TJe.exports=function(e,t,r){var n={},i;function a(l,u){return WJt.coerce(e[i]||{},t[i],ZJt,l,u)}for(var o=0;o{"use strict";var SJe=Dv().hasColorscale,MJe=zv(),XJt=Mr().isArrayOrTypedArray,YJt=c4(),KJt=Gb().setGroupPositions,JJt=F0(),$Jt=ba().traceIs,QJt=Mr().extendFlat;function e$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,"r"),s=a.makeCalcdata(t,"theta"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{"use strict";var kJe=xa(),_9=uo(),XA=Mr(),r$t=ao(),N$=n9();CJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=i$t(r),c=r.layers.frontplot.select("g.barlayer");XA.makeTraceGroups(c,n,"trace bars").each(function(){var f=kJe.select(this),h=XA.ensureSingle(f,"g","points"),d=h.selectAll("g.point").data(XA.identity);d.enter().append("g").style("vector-effect",i?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),d.exit().remove(),d.each(function(v){var x=kJe.select(this),b=v.rp0=s.c2p(v.s0),g=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!_9(b)||!_9(g)||!_9(E)||!_9(k)||b===g||E===k)A="M0,0Z";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,g,E,k)}XA.ensureSingle(x,"path").attr("d",A)}),r$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function i$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;XA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=N$.findEnclosingVertexAngles(s,e.vangles)[0],c=N$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return N$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return XA.pathAnnulus(n,i,a,o,t,r)}}});var IJe=ye((dbr,PJe)=>{"use strict";var n$t=Nc(),U$=Mr(),a$t=TT().getTraceColor,o$t=U$.fillText,s$t=g9().makeHoverPointText,l$t=n9().isPtInsidePolygon;PJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?l$t:U$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(n$t.getClosest(i,x,t),t.index!==!1){var b=t.index,g=i[b];t.x0=t.x1=g.ct[0],t.y0=t.y1=g.ct[1];var E=U$.extendFlat({},g,{r:g.s,theta:g.p});return o$t(g,a,t),s$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=a$t(a,g),t.xLabelVal=t.yLabelVal=void 0,g.s<0&&(t.idealAlign="left"),[t]}}});var DJe=ye((vbr,RJe)=>{"use strict";RJe.exports={moduleType:"trace",name:"barpolar",basePlotModule:f9(),categories:["polar","bar","showLegend"],attributes:q$(),layoutAttributes:O$(),supplyDefaults:wJe(),supplyLayoutDefaults:AJe(),calc:B$().calc,crossTraceCalc:B$().crossTraceCalc,plot:LJe(),colorbar:Kd(),formatLabels:p9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:IJe(),selectPoints:AT(),meta:{}}});var FJe=ye((pbr,zJe)=>{"use strict";zJe.exports=DJe()});var V$=ye((gbr,qJe)=>{"use strict";qJe.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}});var H$=ye((mbr,UJe)=>{"use strict";var u$t=dh(),Mf=Cd(),c$t=Ju().attributes,Rx=Mr().extendFlat,OJe=Bu().overrideAll,BJe=OJe({color:Mf.color,showline:Rx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Rx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},"plot","from-root"),NJe=OJe({ticklen:Mf.ticklen,tickwidth:Rx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},"plot","from-root"),f$t=Rx({visible:Rx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:Rx({},Mf.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},BJe,NJe),h$t=Rx({visible:Rx({},Mf.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:Mf.ticks,editType:"calc"},BJe,NJe);UJe.exports={domain:c$t({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:u$t.background},realaxis:f$t,imaginaryaxis:h$t,editType:"calc"}});var GJe=ye((ybr,HJe)=>{"use strict";var YA=Mr(),d$t=va(),v$t=Vs(),p$t=k_(),g$t=kd().getSubplotData,m$t=t_(),y$t=e_(),_$t=YM(),x$t=ym(),KA=H$(),G$=V$(),VJe=G$.axisNames,b$t=T$t(function(e){return YA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function w$t(e,t,r,n){var i=r("bgcolor");n.bgColor=d$t.combine(i,n.paper_bgcolor);var a=g$t(n.fullData,G$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+"."+L,_)}for(var u=0;u{"use strict";var A$t=kd().getSubplotCalcData,S$t=Mr().counterRegex,M$t=I$(),WJe=V$(),ZJe=WJe.attr,yw=WJe.name,jJe=S$t(yw),XJe={};XJe[ZJe]={valType:"subplotid",dflt:yw,editType:"calc"};function E$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i{"use strict";var C$t=Wo().hovertemplateAttrs,L$t=Wo().texttemplateAttrs,x9=no().extendFlat,P$t=Eg(),d0=Uc(),I$t=vl(),JA=d0.line;JJe.exports={mode:d0.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:d0.text,texttemplate:L$t({editType:"plot"},{keys:["real","imag","text"]}),hovertext:d0.hovertext,line:{color:JA.color,width:JA.width,dash:JA.dash,backoff:JA.backoff,shape:x9({},JA.shape,{values:["linear","spline"]}),smoothing:JA.smoothing,editType:"calc"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:x9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:x9({},d0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:P$t(),hoverinfo:x9({},I$t.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:d0.hoveron,hovertemplate:C$t(),selected:d0.selected,unselected:d0.unselected}});var e$e=ye((bbr,QJe)=>{"use strict";var b9=Mr(),$A=lu(),R$t=$p(),D$t=R0(),$Je=J3(),z$t=D0(),F$t=Ig(),q$t=Sm().PTS_LINESONLY,O$t=j$();QJe.exports=function(t,r,n,i){function a(l,u){return b9.coerce(t,r,O$t,l,u)}var o=B$t(t,r,i,a);if(!o){r.visible=!1;return}a("mode",o{"use strict";var t$e=Qa();r$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=t$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=t$e.tickText(a.angularAxis,t.imag,!0).text,i}});var o$e=ye((Tbr,a$e)=>{"use strict";var n$e=uo(),N$t=es().BADNUM,U$t=z0(),V$t=km(),H$t=F0(),G$t=q0().calcMarkerSize;a$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,"real"),l=o.makeCalcdata(r,"imag"),u=r._length,c=new Array(u),f=0;f{"use strict";var j$t=iT(),s$e=es().BADNUM,W$t=C$(),Z$t=W$t.smith;l$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{"use strict";var X$t=sT();function Y$t(e,t,r,n){var i=X$t(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,c$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function c$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="real",a._hovertitle="imag";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+": "+d)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["real","imag","text"]),f.indexOf("real")!==-1&&c(i,n.realLabel),f.indexOf("imag")!==-1&&c(a,n.imagLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}f$e.exports={hoverPoints:Y$t,makeHoverPointText:c$e}});var v$e=ye((Mbr,d$e)=>{"use strict";d$e.exports={moduleType:"trace",name:"scattersmith",basePlotModule:KJe(),categories:["smith","symbols","showLegend","scatter-like"],attributes:j$(),supplyDefaults:e$e(),colorbar:Kd(),formatLabels:i$e(),calc:o$e(),plot:u$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:h$e().hoverPoints,selectPoints:lT(),meta:{}}});var g$e=ye((Ebr,p$e)=>{"use strict";p$e.exports=v$e()});var Sv=ye((kbr,y$e)=>{var T9=bh();function m$e(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}T9(m$e.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n=="string"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(a===0?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function W$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function w9(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}T9(W$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,"y")},month:function(e){return arguments.length===0?this._month:this.set(e,"m")},day:function(e){return arguments.length===0?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+w9(Math.abs(this.year()),4)+"-"+w9(this.month(),2)+"-"+w9(this.day(),2)}});function Z$(){this.shortYearCutoff="+10"}T9(Z$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new W$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[""].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+w9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r==="d"||r==="w"){var n=e.toJD()+t*(r==="w"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r==="y"?t:0),o=e.monthOfYear()+(r==="m"?t:0),i=e.day(),s=function(c){for(;of-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r==="y"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r==="m"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n==="y"||n==="m")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[""].invalidDate);var n=r==="y"?t:e.year(),i=r==="m"?t:e.month(),a=r==="d"?t:e.day();return(r==="y"||r==="m")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=y$e.exports=new m$e;Es.cdate=W$;Es.baseCalendar=Z$;Es.calendars.gregorian=X$});var _$e=ye(()=>{var Y$=bh(),qd=Sv();Y$(qd.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"});qd.local=qd.regionalOptions[""];Y$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!="string"&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}});Y$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,t,r){if(typeof e!="string"&&(r=t,t=e,e=""),!t)return"";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_1},c=function(A,L,_,C){var M=""+L;if(u(A,C))for(;M.length<_;)M="0"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a=="function"?a.call(h,A,u("m")):b(c("m",A.month(),2))},v=function(A,L){return L?typeof s=="function"?s.call(h,A):s[A.month()-h.minMonth]:typeof o=="function"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},g="",E=!1,k=0;k1},E=function(F,q){var V=g(F,q),H=[2,3,V?4:2,V?4:2,10,11,20]["oyYJ@!".indexOf(F)+1],X=new RegExp("^-?\\d{1,"+H+"}"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[""].missingNumberAt).replace(/\{0\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s=="function"){g("m");var F=s.call(k,t.substring(M));return M+=F.length,F}return E("m")},L=function(F,q,V,H){for(var X=g(F,H)?V:q,G=0;G-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!="object"&&(i=n,n=r,r=null),typeof n!="string"&&(i=n,n="");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||"d"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e=="string"?o(e):typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e),e}})});var x$e=ye(()=>{var Dx=Sv(),K$t=bh(),K$=Dx.instance();function A9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}A9.prototype=new Dx.baseCalendar;K$t(A9.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if(typeof e=="string"){var r=e.match($$t);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),a=""+this.toChineseMonth(n,i);return t&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(e){if(typeof e=="string"){var t=e.match(Q$t);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},monthNamesShort:function(e){if(typeof e=="string"){var t=e.match(eQt);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]==="\u95F0"&&(n=!0,t=t.substring(1)),t[t.length-1]==="\u6708"&&(t=t.substring(0,t.length-1)),r=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(t);else{var i=t[t.length-1];n=i==="i"||i==="I"}var a=this.toMonthIndex(e,r,n);return a},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!="number"||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw Dx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw Dx.local.invalidMonth.replace(/\{0\}/,this.local.name);var i;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,Dx.local.invalidyear),i=Fx[n-Fx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=K$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),"d");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=zx[e-zx[0]],n=r>>13,i=n?12:11;if(t>i)throw Dx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,Dx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=rQt(e,a,r,i);return K$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=K$.fromJD(e),r=tQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(J$t),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(A9.prototype).add.call(this,e,t,r);if(r==="y"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var J$t=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,$$t=/^\d?\d[iI]?/m,Q$t=/^闰?十?[一二三四五六七八九]?月/m,eQt=/^闰?十?[一二三四五六七八九]?/m;Dx.calendars.chinese=A9;var zx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],Fx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function tQt(e,t,r,n){var i,a;if(typeof e=="object")i=e,a=t||{};else{var o=typeof e=="number"&&e>=1888&&e<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s=typeof t=="number"&&t>=1&&t<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l=typeof r=="number"&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:e,month:t,day:r},a=n||{}}var u=Fx[i.year-Fx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=Fx[a.year-Fx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var g=zx[a.year-zx[0]],E;for(E=0;E<13;E++){var k=g&1<<12-E?30:29;if(v>13;return!A||E=1888&&e<=2111;if(!s)throw new Error("Lunar year outside range 1888-2111");var l=typeof t=="number"&&t>=1&&t<=12;if(!l)throw new Error("Lunar month outside range 1 - 12");var u=typeof r=="number"&&r>=1&&r<=30;if(!u)throw new Error("Lunar day outside range 1 - 30");var c;typeof n=="object"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=zx[o.year-zx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x>9&4095,k=g>>5&15,A=g&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var b$e=ye(()=>{var _w=Sv(),iQt=bh();function J$(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}J$.prototype=new _w.baseCalendar;iQt(J$.prototype,{name:"Coptic",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=J$});var w$e=ye(()=>{var b1=Sv(),nQt=bh();function $$(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}$$.prototype=new b1.baseCalendar;nQt($$.prototype,{name:"Discworld",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:aQt[Math.floor((n.year()-1)/100)+1]||""}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var aQt={20:"Fruitbat",21:"Anchovy"};b1.calendars.discworld=$$});var T$e=ye(()=>{var xw=Sv(),oQt=bh();function Q$(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}Q$.prototype=new xw.baseCalendar;oQt(Q$.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=Q$});var A$e=ye(()=>{var qx=Sv(),sQt=bh();function eQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}eQ.prototype=new qx.baseCalendar;sQt(eQ.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,S9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,qx.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&S9(this.daysInYear(e),10)===5?30:t===9&&S9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,qx.local.invalidDate);return{yearType:(this.leapYear(n)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,qx.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function S9(e,t){return e-t*Math.floor(e/t)}qx.calendars.hebrew=eQ});var S$e=ye(()=>{var nC=Sv(),lQt=bh();function tQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}tQ.prototype=new nC.baseCalendar;lQt(tQ.prototype,{name:"Islamic",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012Bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,nC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,nC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,nC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});nC.calendars.islamic=tQ});var M$e=ye(()=>{var aC=Sv(),uQt=bh();function rQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}rQ.prototype=new aC.baseCalendar;uQt(rQ.prototype,{name:"Julian",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,aC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,aC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,aC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});aC.calendars.julian=rQ});var k$e=ye(()=>{var ug=Sv(),cQt=bh();function nQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}nQ.prototype=new ug.baseCalendar;cQt(nQ.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+"."+n+"."+e%20},forYear:function(e){if(e=e.split("."),e.length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=iQ(e+8+17*20,365);return[Math.floor(t/20)+1,iQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[E$e(e+20,20),E$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function iQ(e,t){return e-t*Math.floor(e/t)}function E$e(e,t){return iQ(e-1,t)+1}ug.calendars.mayan=nQ});var L$e=ye(()=>{var bw=Sv(),fQt=bh();function aQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}aQ.prototype=new bw.baseCalendar;var C$e=bw.instance("gregorian");fQt(aQ.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[""].invalidYear);return C$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=aQ});var P$e=ye(()=>{var ww=Sv(),hQt=bh();function oQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}oQ.prototype=new ww.baseCalendar;hQt(oQ.prototype,{name:"Nepali",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,"d").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var QA=Sv(),dQt=bh();function M9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}M9.prototype=new QA.baseCalendar;dQt(M9.prototype,{name:"Persian",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xE6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xE6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,QA.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,QA.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,QA.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+sQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=sQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=sQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function sQ(e,t){return e-t*Math.floor(e/t)}QA.calendars.persian=M9;QA.calendars.jalali=M9});var R$e=ye(()=>{var Tw=Sv(),vQt=bh(),E9=Tw.instance();function lQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}lQ.prototype=new Tw.baseCalendar;vQt(lQ.prototype,{name:"Taiwan",jdEpoch:24194025e-1,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return E9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return E9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return E9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=E9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=lQ});var D$e=ye(()=>{var Aw=Sv(),pQt=bh(),k9=Aw.instance();function uQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}uQ.prototype=new Aw.baseCalendar;pQt(uQ.prototype,{name:"Thai",jdEpoch:15230985e-1,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=uQ});var z$e=ye(()=>{var Sw=Sv(),gQt=bh();function cQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}cQ.prototype=new Sw.baseCalendar;gQt(cQ.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012Bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;an)return Ox[i]-Ox[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Ox[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Ox[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\{0\}/,this.local.name);return i}});Sw.calendars.ummalqura=cQ;var Ox=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]});var q$e=ye((a2r,F$e)=>{"use strict";F$e.exports=Sv();_$e();x$e();b$e();w$e();T$e();A$e();S$e();M$e();k$e();L$e();P$e();I$e();R$e();D$e();z$e()});var G$e=ye((o2r,H$e)=>{"use strict";var B$e=q$e(),oC=Mr(),N$e=es(),mQt=N$e.EPOCHJD,yQt=N$e.ONEDAY,dQ={valType:"enumerated",values:oC.sortObjectKeys(B$e.calendars),editType:"calc",dflt:"gregorian"},U$e=function(e,t,r,n){var i={};return i[r]=dQ,oC.coerce(e,t,i,r,n)},_Qt=function(e,t,r,n){for(var i=0;i{"use strict";j$e.exports=G$e()});var SQt=ye((l2r,X$e)=>{var Z$e=Ume();Z$e.register([Hye(),L1e(),V_e(),lxe(),bxe(),mbe(),Lbe(),g2e(),j2e(),Mwe(),h3e(),N4e(),kEe(),yCe(),a6e(),z6e(),nLe(),IPe(),JPe(),pIe(),EIe(),UIe(),r8e(),y8e(),jRe(),fDe(),MOe(),MBe(),CNe(),eUe(),uVe(),AVe(),XVe(),aGe(),xGe(),GGe(),$je(),wWe(),iZe(),SXe(),XXe(),pYe(),UYe(),tKe(),QKe(),mJe(),FJe(),g$e(),W$e()]);X$e.exports=Z$e});return SQt();})(); +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! Bundled license information: + +native-promise-only/lib/npo.src.js: + (*! Native Promise Only + v0.8.1 (c) Kyle Simpson + MIT License: http://getify.mit-license.org + *) + +polybooljs/index.js: + (* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + *) + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +assert/build/internal/util/comparisons.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) + +maplibre-gl/dist/maplibre-gl.js: + (** + * MapLibre GL JS + * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt + *) +*/ + +window.Plotly = Plotly; +return Plotly; +})); \ No newline at end of file diff --git a/static/js/plotly-3.0.0.min.js.license b/static/js/plotly-3.0.0.min.js.license new file mode 100644 index 0000000..526bffc --- /dev/null +++ b/static/js/plotly-3.0.0.min.js.license @@ -0,0 +1,4 @@ +Copyright 2012-2025, Plotly, Inc. +All rights reserved. +Licensed under the MIT license +SPDX-License-Identifier: MIT diff --git a/static/js/select-model-element-by-uuid.js b/static/js/select-model-element-by-uuid.js new file mode 100644 index 0000000..3b96e0f --- /dev/null +++ b/static/js/select-model-element-by-uuid.js @@ -0,0 +1,14 @@ +/* + * Copyright DB InfraGO AG and contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +document.addEventListener("DOMContentLoaded", function () { + var btn = document.getElementById("model-element-{uuid}"); + if (btn) { + btn.classList.toggle("transition"); + btn.click(); + btn.classList.toggle("transition"); + btn.scrollIntoView({ behavior: "auto", block: "center" }); + } +}); diff --git a/static/js/theme.js b/static/js/theme.js new file mode 100644 index 0000000..d982610 --- /dev/null +++ b/static/js/theme.js @@ -0,0 +1,12 @@ +/* + * Copyright DB InfraGO AG and contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +const darkModeMediaQuery = window.matchMedia("(prefers-color-scheme: dark)"); + +function handleThemeChange(event) { + document.documentElement.classList.toggle("dark", event.matches); +} +handleThemeChange(darkModeMediaQuery); +darkModeMediaQuery.addEventListener("change", handleThemeChange); diff --git a/templates/10-Operational Analysis/index.yaml b/templates/10-Operational Analysis/index.yaml new file mode 100644 index 0000000..8b24144 --- /dev/null +++ b/templates/10-Operational Analysis/index.yaml @@ -0,0 +1,26 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: operational-capability.html.j2 + id: operational-capability + name: Operational Capability + description: Specifies an operational capability. + scope: + type: OperationalCapability + below: oa +- template: operational-entity.html.j2 + id: operational-entity + name: Operational Entity + isExperimental: true + description: Specifies an operational entity. + scope: + type: Entity + below: oa +- template: operational-activity.html.j2 + id: operational-activity + name: Operational Activity + description: Specifies an operational activity. + isExperimental: true + scope: + type: OperationalActivity + below: oa diff --git a/templates/operational-analysis/operational-activity.html.j2 b/templates/10-Operational Analysis/operational-activity.html.j2 similarity index 99% rename from templates/operational-analysis/operational-activity.html.j2 rename to templates/10-Operational Analysis/operational-activity.html.j2 index 5be5c9a..76d583f 100644 --- a/templates/operational-analysis/operational-activity.html.j2 +++ b/templates/10-Operational Analysis/operational-activity.html.j2 @@ -70,7 +70,7 @@ activity of interest and other activities.

-{{ object.context_diagram.as_svg|safe }} +{{ object.context_diagram }} {%- if object.inputs -%}

Inputs

diff --git a/templates/operational-analysis/operational-capability.html.j2 b/templates/10-Operational Analysis/operational-capability.html.j2 similarity index 97% rename from templates/operational-analysis/operational-capability.html.j2 rename to templates/10-Operational Analysis/operational-capability.html.j2 index 98390a3..5bdd982 100644 --- a/templates/operational-analysis/operational-capability.html.j2 +++ b/templates/10-Operational Analysis/operational-capability.html.j2 @@ -51,7 +51,7 @@ in the Capability and related Capabilities.

{# Q: should we resolve inherited activities and actors / explicitly indicate where an actor / activity got inherited #} -{{ object.context_diagram.as_svg|safe }} +{{ object.context_diagram }}

Involved entities and activities

To enable the Capability, the following entities and activities are involved: @@ -99,7 +99,7 @@ To enable the Capability, the following entities and activities are involved: are required to realize the Capability.

- {{ object.data_flow_view.as_svg | safe }} + {{ object.data_flow_view }} {%- endif -%} {% if object.diagrams %} @@ -107,7 +107,7 @@ To enable the Capability, the following entities and activities are involved:
    {% for diagram in object.diagrams %}

    {{ diagram.name }}

    - {{ diagram.as_svg |safe }} + {{ diagram }} {% endfor %}
{% endif %} diff --git a/templates/operational-analysis/operational-entity.html.j2 b/templates/10-Operational Analysis/operational-entity.html.j2 similarity index 100% rename from templates/operational-analysis/operational-entity.html.j2 rename to templates/10-Operational Analysis/operational-entity.html.j2 diff --git a/templates/20-System Analysis/index.yaml b/templates/20-System Analysis/index.yaml new file mode 100644 index 0000000..ce65c57 --- /dev/null +++ b/templates/20-System Analysis/index.yaml @@ -0,0 +1,48 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: system-capability.html.j2 + id: system-capability + name: System Capability + description: Specifies what the system should be capable of and how it needs to interact with external actors. + scope: + type: Capability + below: sa +- template: system_function.html.j2 + id: system-function + name: System Function + description: Specifies what the system should do and how it needs to interact with external actors. + isStable: true + scope: + type: SystemFunction + below: sa +- template: system-actor.html.j2 + id: system-actors + name: System Actors + description: define who the system in interacts with and why + scope: + type: SystemComponent + below: sa + filters: + is_actor: true +- template: system-definition.html.j2 + id: system-definition + name: System Definition + description: defines the need for the system, its boundary and interfaces + single: true + isExperimental: true + isDocument: true +- template: system-interface.html.j2 + id: system-interfaces + name: System Interfaces + description: defines interactions between system and actors at a high level + scope: + type: ComponentExchange + below: sa +- template: mod-rules-compliance.html.j2 + id: mod-rules-compliance + name: SA Modeling Rules Compliance Report + description: Evaluates compliance of the system analysis model with the modeling rules. + single: true + isExperimental: true + isDocument: true diff --git a/templates/system-analysis/mod-rules-compliance.html.j2 b/templates/20-System Analysis/mod-rules-compliance.html.j2 similarity index 100% rename from templates/system-analysis/mod-rules-compliance.html.j2 rename to templates/20-System Analysis/mod-rules-compliance.html.j2 diff --git a/templates/system-analysis/system-actor.html.j2 b/templates/20-System Analysis/system-actor.html.j2 similarity index 97% rename from templates/system-analysis/system-actor.html.j2 rename to templates/20-System Analysis/system-actor.html.j2 index d959234..07b9741 100644 --- a/templates/system-analysis/system-actor.html.j2 +++ b/templates/20-System Analysis/system-actor.html.j2 @@ -35,7 +35,7 @@

Context

The context of {{ object.name }} is summarized by the diagram below:

-{{ object.context_diagram.render("svg", display_derived_interfaces=True) | safe }} +{{ object.context_diagram.render(None, display_derived_interfaces=True) | safe }}

Functions

{% if object.allocated_functions %} diff --git a/templates/system-analysis/system-capability.html.j2 b/templates/20-System Analysis/system-capability.html.j2 similarity index 96% rename from templates/system-analysis/system-capability.html.j2 rename to templates/20-System Analysis/system-capability.html.j2 index 5787247..e5be21b 100644 --- a/templates/system-analysis/system-capability.html.j2 +++ b/templates/20-System Analysis/system-capability.html.j2 @@ -31,7 +31,7 @@ in the Capability and related Capabilities.

-{{ object.context_diagram.as_svg|safe }} +{{ object.context_diagram }}

Data Flow Diagram

@@ -40,7 +40,7 @@ functions that are required to realize the Capability.

-{{ object.data_flow_view.as_svg | safe }} +{{ object.data_flow_view }}

Functional Requirements

diff --git a/templates/system-analysis/system-definition.html.j2 b/templates/20-System Analysis/system-definition.html.j2 similarity index 96% rename from templates/system-analysis/system-definition.html.j2 rename to templates/20-System Analysis/system-definition.html.j2 index f770b85..0477c0e 100644 --- a/templates/system-analysis/system-definition.html.j2 +++ b/templates/20-System Analysis/system-definition.html.j2 @@ -61,7 +61,7 @@ The figure below provides an overview of the system boundary and depicts all the Actors that the {{ object.name }} interacts with.

-{{ object.context_diagram.render("svg", display_derived_interfaces=True) | safe }} +{{ object.context_diagram.render(None, display_derived_interfaces=True) }} {% set actors = model.sa.all_actors %} {% set caps = model.sa.all_capabilities %} {{ render_involved_actors_section(object, actors, caps) | safe }} diff --git a/templates/system-analysis/system-interface.html.j2 b/templates/20-System Analysis/system-interface.html.j2 similarity index 98% rename from templates/system-analysis/system-interface.html.j2 rename to templates/20-System Analysis/system-interface.html.j2 index 72e21f2..a569296 100644 --- a/templates/system-analysis/system-interface.html.j2 +++ b/templates/20-System Analysis/system-interface.html.j2 @@ -55,7 +55,7 @@ The functional interactions between interface partners via {{ object.name }} are summarized by the diagram below:

-{{ object.context_diagram.as_svg | safe }} +{{ object.context_diagram }} {{ display_traceability(object) | safe }} diff --git a/templates/system-analysis/system_function.html.j2 b/templates/20-System Analysis/system_function.html.j2 similarity index 100% rename from templates/system-analysis/system_function.html.j2 rename to templates/20-System Analysis/system_function.html.j2 diff --git a/templates/logical-architecture/FIS.html.j2 b/templates/30-Logical Architecture/FIS.html.j2 similarity index 100% rename from templates/logical-architecture/FIS.html.j2 rename to templates/30-Logical Architecture/FIS.html.j2 diff --git a/templates/30-Logical Architecture/index.yaml b/templates/30-Logical Architecture/index.yaml new file mode 100644 index 0000000..c38d927 --- /dev/null +++ b/templates/30-Logical Architecture/index.yaml @@ -0,0 +1,55 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: logical-component.html.j2 + name: Logical Components + id: logical-component + description: Specifies a logical component. This is a ported template from a prototype project. + isExperimental: true + scope: + type: LogicalComponent + below: la + +- template: logical-interface.html.j2 + id: logical-interface + name: Logical Interfaces + description: Defines interfaces between actors and logical system components + isExperimental: true + scope: + type: ComponentExchange + below: la + +- template: FIS.html.j2 + id: functional-interface-specification + name: Functional Interface Specification + description: Defines functional interfaces between logical components (subsystems) and actors + isExperimental: true + scope: + type: ComponentExchange + below: la + +- template: logical-function.html.j2 + id: logical-function + name: Logical Functions + description: Defines function of a logical system component or an actor + scope: + type: LogicalFunction + below: la + +- template: logical-state.html.j2 + id: logical-component-mode + name: Logical Component Modes + description: Defines states and modes of a system component or an actor + isExperimental: true + scope: + type: Mode + below: la + +- template: logical-state.html.j2 + id: logical-component-state + name: Logical Component States + description: Defines states and modes of a system component or an actor + isExperimental: true + scope: + type: State + below: la diff --git a/templates/logical-architecture/logical-component.html.j2 b/templates/30-Logical Architecture/logical-component.html.j2 similarity index 95% rename from templates/logical-architecture/logical-component.html.j2 rename to templates/30-Logical Architecture/logical-component.html.j2 index 7601675..e0068dc 100644 --- a/templates/logical-architecture/logical-component.html.j2 +++ b/templates/30-Logical Architecture/logical-component.html.j2 @@ -27,7 +27,7 @@ The figure below provides an overview of {{ object.name }}'s boundary and depicts all the actors that it interacts with.

-{{ object.context_diagram.render("svg", display_derived_interfaces=True) | safe }} +{{ object.context_diagram.render(None, display_derived_interfaces=True) | safe }} {% set actors = object.context_diagram.nodes.by_is_actor(True) %} {{ render_involved_actors_section(object, actors, capabilities) | safe }} diff --git a/templates/logical-architecture/logical-function.html.j2 b/templates/30-Logical Architecture/logical-function.html.j2 similarity index 100% rename from templates/logical-architecture/logical-function.html.j2 rename to templates/30-Logical Architecture/logical-function.html.j2 diff --git a/templates/logical-architecture/logical-interface.html.j2 b/templates/30-Logical Architecture/logical-interface.html.j2 similarity index 98% rename from templates/logical-architecture/logical-interface.html.j2 rename to templates/30-Logical Architecture/logical-interface.html.j2 index 6c9b646..5961eee 100644 --- a/templates/logical-architecture/logical-interface.html.j2 +++ b/templates/30-Logical Architecture/logical-interface.html.j2 @@ -39,7 +39,7 @@ The figure below provides an overview of the behaviors that depend on this interface:

-{{ object.context_diagram.as_svg | safe }} +{{ object.context_diagram }}

This interface enables the following interactions:

diff --git a/templates/logical-architecture/logical-state.html.j2 b/templates/30-Logical Architecture/logical-state.html.j2 similarity index 100% rename from templates/logical-architecture/logical-state.html.j2 rename to templates/30-Logical Architecture/logical-state.html.j2 diff --git a/templates/40-Physical Architecture/index.yaml b/templates/40-Physical Architecture/index.yaml new file mode 100644 index 0000000..b500297 --- /dev/null +++ b/templates/40-Physical Architecture/index.yaml @@ -0,0 +1,35 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: phy-component.html.j2 + id: physical-component + name: Physical Component + description: Defines a Physical Component + isExperimental: true + scope: + type: PhysicalComponent + below: pa +- template: physical-link.html.j2 + id: physical-link + name: Physical Interface + description: Defines a Physical Interface between 2 components + isExperimental: true + scope: + type: PhysicalLink + below: pa +- template: physical-function.html.j2 + id: physical-function + name: Physical Functions + description: Defines function of a physical component or an actor + isExperimental: true + scope: + type: PhysicalFunction + below: pa +- template: sw-interface.html.j2 + id: sw-interface + name: Software Interfaces + description: Defines interfaces between software components + isExperimental: true + scope: + type: ComponentExchange + below: pa diff --git a/templates/physical-architecture/phy-component.html.j2 b/templates/40-Physical Architecture/phy-component.html.j2 similarity index 95% rename from templates/physical-architecture/phy-component.html.j2 rename to templates/40-Physical Architecture/phy-component.html.j2 index f9a3032..0a7ee3f 100644 --- a/templates/physical-architecture/phy-component.html.j2 +++ b/templates/40-Physical Architecture/phy-component.html.j2 @@ -27,7 +27,7 @@ The figure below provides an overview of {{ object.name }}'s boundary and depicts all the nodes that it is connected to.

-{{ object.context_diagram.render("svg", display_derived_interfaces=True) | safe }} +{{ object.context_diagram.render(None, display_derived_interfaces=True) | safe }} {{ render_connected_nodes_section(object, capabilities) | safe }}

Allocated Functions

diff --git a/templates/physical-architecture/physical-function.html.j2 b/templates/40-Physical Architecture/physical-function.html.j2 similarity index 100% rename from templates/physical-architecture/physical-function.html.j2 rename to templates/40-Physical Architecture/physical-function.html.j2 diff --git a/templates/physical-architecture/physical-link.html.j2 b/templates/40-Physical Architecture/physical-link.html.j2 similarity index 95% rename from templates/physical-architecture/physical-link.html.j2 rename to templates/40-Physical Architecture/physical-link.html.j2 index 7dd5e3c..0ad735b 100644 --- a/templates/physical-architecture/physical-link.html.j2 +++ b/templates/40-Physical Architecture/physical-link.html.j2 @@ -10,7 +10,7 @@

A part of {{ linked_name(object.parent) | safe }}

{% endif %} -{{ object.context_diagram.as_svg | safe }} +{{ object.context_diagram }}

Connects {{ linked_name(object.ends[0].owner) | safe }} via diff --git a/templates/physical-architecture/sw-interface.html.j2 b/templates/40-Physical Architecture/sw-interface.html.j2 similarity index 98% rename from templates/physical-architecture/sw-interface.html.j2 rename to templates/40-Physical Architecture/sw-interface.html.j2 index 79b20c0..226926b 100644 --- a/templates/physical-architecture/sw-interface.html.j2 +++ b/templates/40-Physical Architecture/sw-interface.html.j2 @@ -57,7 +57,7 @@ The figure below provides an overview of the behaviors that depend on this interface:

-{{ object.context_diagram.as_svg | safe }} +{{ object.context_diagram }}

This interface enables the following interactions:

diff --git a/templates/cross-cutting/classes.html.j2 b/templates/80-Cross-cutting/classes.html.j2 similarity index 99% rename from templates/cross-cutting/classes.html.j2 rename to templates/80-Cross-cutting/classes.html.j2 index 1a16c83..3643b33 100644 --- a/templates/cross-cutting/classes.html.j2 +++ b/templates/80-Cross-cutting/classes.html.j2 @@ -106,7 +106,7 @@ {{ object.name }} and other objects.

-{{ object.tree_view.as_svg|safe }} +{{ object.tree_view }} {% set props = [] %} {% if object.super %} {% set props = props | list + object.super.properties | list %} diff --git a/templates/cross-cutting/diagrams.html.j2 b/templates/80-Cross-cutting/diagrams.html.j2 similarity index 97% rename from templates/cross-cutting/diagrams.html.j2 rename to templates/80-Cross-cutting/diagrams.html.j2 index d8bed22..2d58366 100644 --- a/templates/cross-cutting/diagrams.html.j2 +++ b/templates/80-Cross-cutting/diagrams.html.j2 @@ -5,7 +5,7 @@ {% from 'common_macros.html.j2' import show_other_attributes, description, linked_name_with_icon %}

{{ object.name }}

-{{ object.as_svg | safe }} +{{ object }}

Description

{{ description(object) | safe }} diff --git a/templates/cross-cutting/exchange-item.html.j2 b/templates/80-Cross-cutting/exchange-item.html.j2 similarity index 100% rename from templates/cross-cutting/exchange-item.html.j2 rename to templates/80-Cross-cutting/exchange-item.html.j2 diff --git a/templates/80-Cross-cutting/index.yaml b/templates/80-Cross-cutting/index.yaml new file mode 100644 index 0000000..fdfd626 --- /dev/null +++ b/templates/80-Cross-cutting/index.yaml @@ -0,0 +1,31 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: classes.html.j2 + id: class + name: Data Class + description: Specifies structure of a data class. A class may be used to describe anything from a simple object relationship to a message on a bus. + scope: + type: Class +- template: diagrams.html.j2 + name: Diagrams + id: diagram + description: Provides access to all human-made diagrams inside the model + scope: + type: DRepresentationDescriptor + attr: diagrams +- template: exchange-item.html.j2 + name: Exchange Item + id: exchange-item + description: Specifies an exchange item, i.e. energy / material / information. + scope: + type: ExchangeItem +- template: region.html.j2 + id: logical-state-machine + name: State Machine Regions + description: Defines a state machine region of a component or an actor + isExperimental: true + scope: + type: Region + filters: + states: not_empty diff --git a/templates/cross-cutting/region.html.j2 b/templates/80-Cross-cutting/region.html.j2 similarity index 99% rename from templates/cross-cutting/region.html.j2 rename to templates/80-Cross-cutting/region.html.j2 index c5de5bd..9a2d4eb 100644 --- a/templates/cross-cutting/region.html.j2 +++ b/templates/80-Cross-cutting/region.html.j2 @@ -148,7 +148,7 @@ {% for diagram in object.diagrams %}

{{ diagram.name }}

- {{ diagram.as_svg | safe }} + {{ diagram }} {% endfor %}

Other properties of "{{ object.name }}"

diff --git a/templates/__generic__.html.j2 b/templates/90-Other/__generic__.html.j2 similarity index 100% rename from templates/__generic__.html.j2 rename to templates/90-Other/__generic__.html.j2 diff --git a/templates/90-Other/index.yaml b/templates/90-Other/index.yaml new file mode 100644 index 0000000..60b73fa --- /dev/null +++ b/templates/90-Other/index.yaml @@ -0,0 +1,22 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +- template: __generic__.html.j2 + id: __generic__ + name: Generic object description + description: Generic built-in template that shows all available information about a given object. + category: other + single: true +- id: req + template: req.html.j2 + name: Requirement Modules + description: Basic template to visualize requirement objects + scope: + name: object + type: CapellaModule +- id: object_comparison + template: object_comparison.html.j2 + name: Object Comparison + description: Template to visualize differences between two objects + isExperimental: true + single: true diff --git a/templates/object_comparison.html.j2 b/templates/90-Other/object_comparison.html.j2 similarity index 100% rename from templates/object_comparison.html.j2 rename to templates/90-Other/object_comparison.html.j2 diff --git a/templates/req.html.j2 b/templates/90-Other/req.html.j2 similarity index 100% rename from templates/req.html.j2 rename to templates/90-Other/req.html.j2 diff --git a/templates/README.md b/templates/README.md new file mode 100644 index 0000000..45e4628 --- /dev/null +++ b/templates/README.md @@ -0,0 +1,24 @@ + + +# Templates + +This directory contains [Jinja2 templates] which are grouped in subdirectories +and [Jinja2 macro] files. + +Each subdirectoy contains an index file named `index.yaml` with metadata for +the templates of the given template category. + +The order of templates within a category is determined by the order in which +they are listed in the index file. + +The name of a subdirectory defines the name of a template category. The +directory name can have an optional two-digit prefix (e. g. `10-`) that is used +to sort the categories when they are displayed in the web interface. + +Template categories cannot be nested. + +[Jinja2 templates]: https://jinja.palletsprojects.com/en/stable/ +[Jinja2 macro]: https://jinja.palletsprojects.com/en/stable/templates/#macros diff --git a/templates/common_macros.html.j2 b/templates/common_macros.html.j2 index 78180a3..a76fdf7 100644 --- a/templates/common_macros.html.j2 +++ b/templates/common_macros.html.j2 @@ -90,7 +90,7 @@
{%- if value.as_svg -%} - {{ value.as_svg|safe }} + {{ value }} {%- else -%} {{ display_modified_changes(attr_diff[attr]) | safe }} {%- endif -%} @@ -100,7 +100,7 @@ {{ attr }} {%- if value.as_svg -%} - {{ value.as_svg | safe }} + {{ value }} {%- elif value is iterable and value is not string -%}
    {% for item in value %} @@ -263,7 +263,7 @@ The figure below provides an overview of objects that "{{ object.name }}" realizes but also those that realize "{{ object.name }}"

    - {{ object.realization_view.as_svg | safe }} + {{ object.realization_view }} {% endif %} {% if show_upper %} {% if realized_objects %} @@ -761,7 +761,7 @@ The figure below provides an overview of the functional interactions enabled by this interface.

    - {{ interface.context_diagram.render("svg") | safe }} + {{ interface.context_diagram.render(None) | safe }}

    The interface may be used for the following functional interactions: diff --git a/templates/cross-cutting/index.yaml b/templates/cross-cutting/index.yaml deleted file mode 100644 index ad985a9..0000000 --- a/templates/cross-cutting/index.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: - - idx: xc - templates: - - template: cross-cutting/classes.html.j2 - idx: class - name: Data Class - description: Specifies structure of a data class. A class may be used to describe anything from a simple object relationship to a message on a bus. - scope: - type: Class - - - template: cross-cutting/diagrams.html.j2 - name: Diagrams - idx: diagram - description: Provides access to all human-made diagrams inside the model - scope: - type: DRepresentationDescriptor - attr: diagrams - - - template: cross-cutting/exchange-item.html.j2 - name: Exchange Item - idx: exchange-item - description: Specifies an exchange item, i.e. energy / material / information. - scope: - type: ExchangeItem - - - template: cross-cutting/region.html.j2 - idx: logical-state-machine - name: State Machine Regions - description: Defines a state machine region of a component or an actor - isExperimental: true - scope: - type: Region - filters: - states: not_empty diff --git a/templates/functional.html.j2 b/templates/functional.html.j2 index 0becaad..826042b 100644 --- a/templates/functional.html.j2 +++ b/templates/functional.html.j2 @@ -185,7 +185,7 @@ actors.

    - {{ object.context_diagram.as_svg | safe }} + {{ object.context_diagram }} {{ describe_inputs(object) | safe }} {{ describe_outputs(object) | safe }} {{ display_property_values(object) | safe }} diff --git a/templates/index.yaml b/templates/index.yaml deleted file mode 100644 index 0993ff8..0000000 --- a/templates/index.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: - - idx: other - templates: - - template: __generic__.html.j2 - idx: __generic__ - name: Generic object description - description: Generic built-in template that shows all available information about a given object. - category: other - single: true - - idx: req - template: req.html.j2 - name: Requirement Modules - description: Basic template to visualize requirement objects - scope: - name: object - type: CapellaModule - - idx: object_comparison - template: object_comparison.html.j2 - name: Object Comparison - description: Template to visualize differences between two objects - isExperimental: true - single: true diff --git a/templates/logical-architecture/index.yaml b/templates/logical-architecture/index.yaml deleted file mode 100644 index fbaf013..0000000 --- a/templates/logical-architecture/index.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: -- idx: la - templates: - - template: logical-architecture/logical-component.html.j2 - name: Logical Components - idx: logical-component - description: Specifies a logical component. This is a ported template from a prototype project. - isExperimental: true - scope: - type: LogicalComponent - below: la - - - template: logical-architecture/logical-interface.html.j2 - idx: logical-interface - name: Logical Interfaces - description: Defines interfaces between actors and logical system components - isExperimental: true - scope: - type: ComponentExchange - below: la - - - template: logical-architecture/FIS.html.j2 - idx: functional-interface-specification - name: Functional Interface Specification - description: Defines functional interfaces between logical components (subsystems) and actors - isExperimental: true - scope: - type: ComponentExchange - below: la - - - template: logical-architecture/logical-function.html.j2 - idx: logical-function - name: Logical Functions - description: Defines function of a logical system component or an actor - scope: - type: LogicalFunction - below: la - - - template: logical-architecture/logical-state.html.j2 - idx: logical-component-mode - name: Logical Component Modes - description: Defines states and modes of a system component or an actor - isExperimental: true - scope: - type: Mode - below: la - - - template: logical-architecture/logical-state.html.j2 - idx: logical-component-state - name: Logical Component States - description: Defines states and modes of a system component or an actor - isExperimental: true - scope: - type: State - below: la diff --git a/templates/operational-analysis/index.yaml b/templates/operational-analysis/index.yaml deleted file mode 100644 index 880b7a8..0000000 --- a/templates/operational-analysis/index.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 -categories: -- idx: oa - templates: - - template: operational-analysis/operational-capability.html.j2 - idx: operational-capability - name: Operational Capability - description: Specifies an operational capability. - scope: - type: OperationalCapability - below: oa - - template: operational-analysis/operational-entity.html.j2 - idx: operational-entity - name: Operational Entity - isExperimental: true - description: Specifies an operational entity. - scope: - type: Entity - below: oa - - template: operational-analysis/operational-activity.html.j2 - idx: operational-activity - name: Operational Activity - description: Specifies an operational activity. - isExperimental: true - scope: - type: OperationalActivity - below: oa diff --git a/templates/physical-architecture/index.yaml b/templates/physical-architecture/index.yaml deleted file mode 100644 index 042c148..0000000 --- a/templates/physical-architecture/index.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: -- idx: pa - templates: - - template: physical-architecture/phy-component.html.j2 - idx: physical-component - name: Physical Component - description: Defines a Physical Component - isExperimental: true - scope: - type: PhysicalComponent - below: pa - - - template: physical-architecture/physical-link.html.j2 - idx: physical-link - name: Physical Interface - description: Defines a Physical Interface between 2 components - isExperimental: true - scope: - type: PhysicalLink - below: pa - - - template: physical-architecture/physical-function.html.j2 - idx: physical-function - name: Physical Functions - description: Defines function of a physical component or an actor - isExperimental: true - scope: - type: PhysicalFunction - below: pa - - - template: physical-architecture/sw-interface.html.j2 - idx: sw-interface - name: Software Interfaces - description: Defines interfaces between software components - isExperimental: true - scope: - type: ComponentExchange - below: pa diff --git a/templates/system-analysis/index.yaml b/templates/system-analysis/index.yaml deleted file mode 100644 index 5f37b76..0000000 --- a/templates/system-analysis/index.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: -- idx: sa - templates: - - template: system-analysis/system-capability.html.j2 - idx: system-capability - name: System Capability - description: Specifies what the system should be capable of and how it needs to interact with external actors. - scope: - type: Capability - below: sa - - template: system-analysis/system_function.html.j2 - idx: system-function - name: System Function - description: Specifies what the system should do and how it needs to interact with external actors. - isStable: true - scope: - type: SystemFunction - below: sa - - template: system-analysis/system-actor.html.j2 - idx: system-actors - name: System Actors - description: define who the system in interacts with and why - scope: - type: SystemComponent - below: sa - filters: - is_actor: true - - template: system-analysis/system-definition.html.j2 - idx: system-definition - name: System Definition - description: defines the need for the system, its boundary and interfaces - single: true - isExperimental: true - isDocument: true - - template: system-analysis/system-interface.html.j2 - idx: system-interfaces - name: System Interfaces - description: defines interactions between system and actors at a high level - scope: - type: ComponentExchange - below: sa - - template: system-analysis/mod-rules-compliance.html.j2 - idx: mod-rules-compliance - name: SA Modeling Rules Compliance Report - description: Evaluates compliance of the system analysis model with the modeling rules. - single: true - isExperimental: true - isDocument: true diff --git a/tests/data/templates/.gitkeep b/tests/data/templates/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_capella_model_explorer.py b/tests/test_capella_model_explorer.py deleted file mode 100644 index 11b00ed..0000000 --- a/tests/test_capella_model_explorer.py +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -import typing as t -from pathlib import Path - -import capellambse -import pytest - -from capella_model_explorer.backend.templates import ( - Template, - TemplateCategory, - TemplateLoader, - find_objects, -) - -TEST_SYSTEM_COMPONENT_UUIDS = { - "5357012d-0479-49d3-a6e7-26c0da89fed7", - "20b7666e-9810-4a3f-82f8-a6088c6ebdf0", - "11790d2d-4b5f-48ea-a2c3-7f53cf7eda21", -} - - -def test_template_loading(): - template_raw = { - "idx": "test", - "name": "Test Template", - "template": "test_template.jinja", - "description": "This is a test template", - "scope": {"type": "System", "below": "System"}, - } - Template.model_validate(template_raw) - - -def test_category_loading(): - template_raw = { - "idx": "test", - "name": "Test Template", - "template": "test_template.jinja", - "description": "This is a test template", - "scope": {"type": "System", "below": "System"}, - } - category_raw = { - "idx": "test", - "templates": [template_raw], - } - TemplateCategory.model_validate(category_raw) - - -def test_index_templates(): - model = capellambse.loadcli("coffee-machine") - - templates = TemplateLoader(model).index_path(Path("tests")) - - assert len(templates.flat) == 3 - assert len(templates) == 1 - - -@pytest.mark.parametrize( - ("params", "expected_uuids"), - [ - pytest.param( - {"obj_type": "SystemComponent", "below": "sa"}, - TEST_SYSTEM_COMPONENT_UUIDS, - id="Test below", - ), - pytest.param( - {"obj_type": "SystemComponent", "filters": {"is_actor": True}}, - TEST_SYSTEM_COMPONENT_UUIDS - - {"5357012d-0479-49d3-a6e7-26c0da89fed7"}, - id="Test filters", - ), - pytest.param( - {"obj_type": "SystemComponent", "attr": "sa.all_components"}, - TEST_SYSTEM_COMPONENT_UUIDS, - id="Test attr", - ), - ], -) -def test_find_objects(params: dict[str, t.Any], expected_uuids: list[str]): - model = capellambse.loadcli("coffee-machine") - - objects = find_objects(model, **params) - - assert {obj.uuid for obj in objects} == expected_uuids diff --git a/tests/test_cli.py b/tests/test_cli.py new file mode 100644 index 0000000..6b2a567 --- /dev/null +++ b/tests/test_cli.py @@ -0,0 +1,96 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import http +import itertools +import logging +import os +import subprocess +import time + +import psutil +import pytest +import requests + +import capella_model_explorer.constants as c + +for proc in psutil.process_iter(["name", "environ"]): + assert proc.info["name"] != "uvicorn", ( + "Run this test module without any uvicorn processes running." + ) + +logger = logging.getLogger(__name__) +logger.setLevel("INFO") + + +def wait_for_server_startup(process, timeout=10): + startup_message = "Application startup complete." + start_time = time.time() + while True: + if time.time() - start_time > timeout: + raise TimeoutError( + "Server did not start within the timeout period." + ) + output = process.stdout.readline().decode("utf-8") + print(output, end="") + if startup_message in output: + break + + +env_var_options = { + "CME_HOST": [None, "localhost", "127.0.0.1"], + "CME_PORT": [None, "7031"], + "CME_MODEL": [ + None, + "git+https://github.com/DSD-DBS/Capella-IFE-sample.git", + ], + "CME_ROUTE_PREFIX": [None, "/test-prefix"], + "CME_TEMPLATES_DIR": [None, "tests/data/templates"], +} + +# Generate all possible permutations of the environment variables +env_var_permutations = [ + dict(zip(env_var_options.keys(), values, strict=True)) + for values in itertools.product(*env_var_options.values()) +] +# Create a list of identifiers for each permutation +env_var_ids = [ + ", ".join(f"{key}={value}" for key, value in env_vars.items()) + for env_vars in env_var_permutations +] + + +@pytest.mark.xdist_group(name="run_local") +@pytest.mark.parametrize("env_vars", env_var_permutations, ids=env_var_ids) +@pytest.mark.skipif( + os.getenv("SKIP_LONG_RUNNING_TESTS", "false").lower() in ("true", "1"), + reason="Skipping long running tests", +) +class TestRunSubcommand: + def test_run_local(self, env_vars, monkeypatch): + # Set or unset environment variables based on the test case + for var, value in env_vars.items(): + if value is None: + monkeypatch.delenv(var, raising=False) + else: + monkeypatch.setenv(var, value) + for proc in psutil.process_iter(["name", "environ"]): + assert proc.info["name"] != "uvicorn", ( + "Run pytest without any uvicorn processes running." + ) + cmd = ["cme", "run", "local"] + os.environ["CME_LIVE_MODE"] = "0" + with subprocess.Popen( + cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT + ) as process: + wait_for_server_startup(process) + host = os.getenv("CME_HOST", c.HOST) + port = os.getenv("CME_PORT", c.PORT) + base_url = f"http://{host}:{port}" + prefix = os.getenv("CME_ROUTE_PREFIX", c.ROUTE_PREFIX) + home_url = f"{base_url}{prefix}" + logger.info("Checking %s", home_url) + response = requests.get(home_url, timeout=0.5) + assert response.status_code == http.HTTPStatus.OK + response = requests.post(f"{base_url}/shutdown", timeout=0.5) + assert response.status_code == http.HTTPStatus.ACCEPTED diff --git a/tests/test_index.yaml b/tests/test_index.yaml deleted file mode 100644 index 3c95f46..0000000 --- a/tests/test_index.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright DB InfraGO AG and contributors -# SPDX-License-Identifier: Apache-2.0 - -categories: -- idx: oa - templates: - - idx: operational-activity - name: Operational Activity - description: Specifies an operational activity. - template: operational-analysis/operational-activity.html.j2 - scope: - type: OperationalActivity - below: oa - - idx: operational-capability - name: Operational Capability - description: Specifies an operational capability. - template: operational-analysis/operational-capability.html.j2 - scope: - type: OperationalCapability - below: oa - - idx: operational-entity - name: Operational Entity - description: Specifies an operational entity. - template: operational-analysis/operational-entity.html.j2 - scope: - type: Entity - below: oa diff --git a/tests/test_metrics.py b/tests/test_metrics.py new file mode 100644 index 0000000..b17666c --- /dev/null +++ b/tests/test_metrics.py @@ -0,0 +1,46 @@ +# Copyright DB InfraGO AG and contributors +# SPDX-License-Identifier: Apache-2.0 + +import logging +import time + +from starlette import testclient + +from capella_model_explorer import main + +logger = logging.getLogger(__name__) +logger.setLevel("INFO") + + +def test_metrics_endpoint_available(): + client = testclient.TestClient(main.app) + response = client.get("/metrics") + assert response.status_code == 200 + client.close() + + +def _idle_time_minutes(text: str) -> float: + idletime_minutes_line = next( + line + for line in text.split("\n") + if line.startswith("idletime_minutes") + ) + return float(idletime_minutes_line.split(" ")[1]) + + +def test_idle_time_metric(): + client = testclient.TestClient(main.app) + response = client.get("/metrics") + assert response.status_code == 200 + assert "idletime_minutes" in response.text + idletime_minutes = _idle_time_minutes(response.text) + idletime_minutes_rounded = f"{idletime_minutes:.1f}" + assert idletime_minutes_rounded == "0.0" + timeout = 1.8 # this is 0.03 of a minute + time.sleep(timeout) + response = client.get("/metrics") + idletime_minutes = _idle_time_minutes(response.text) + # we apply some 1.2 sec tolerance: + assert idletime_minutes >= 0.01 + assert idletime_minutes <= 0.05 + client.close()