diff --git a/.gitignore b/.gitignore index a05344022905b0b9a2b0f4b097d8451537ed04b5..48058104a84f8c20bf8d1039213e8cfbc0016eed 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ wheels/ MANIFEST # Environment +DocIntel/ .env .venv .virtualenv @@ -76,4 +77,5 @@ htmlcov/ *.pem *.key *.crt -*.p12 \ No newline at end of file +*.p12 +DocIntel/ diff --git a/DocIntel/bin/Activate.ps1 b/DocIntel/bin/Activate.ps1 deleted file mode 100644 index b49d77ba44b24fe6d69f6bbe75139b3b5dc23075..0000000000000000000000000000000000000000 --- a/DocIntel/bin/Activate.ps1 +++ /dev/null @@ -1,247 +0,0 @@ -<# -.Synopsis -Activate a Python virtual environment for the current PowerShell session. - -.Description -Pushes the python executable for a virtual environment to the front of the -$Env:PATH environment variable and sets the prompt to signify that you are -in a Python virtual environment. Makes use of the command line switches as -well as the `pyvenv.cfg` file values present in the virtual environment. - -.Parameter VenvDir -Path to the directory that contains the virtual environment to activate. The -default value for this is the parent of the directory that the Activate.ps1 -script is located within. - -.Parameter Prompt -The prompt prefix to display when this virtual environment is activated. By -default, this prompt is the name of the virtual environment folder (VenvDir) -surrounded by parentheses and followed by a single space (ie. '(.venv) '). - -.Example -Activate.ps1 -Activates the Python virtual environment that contains the Activate.ps1 script. - -.Example -Activate.ps1 -Verbose -Activates the Python virtual environment that contains the Activate.ps1 script, -and shows extra information about the activation as it executes. - -.Example -Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv -Activates the Python virtual environment located in the specified location. - -.Example -Activate.ps1 -Prompt "MyPython" -Activates the Python virtual environment that contains the Activate.ps1 script, -and prefixes the current prompt with the specified string (surrounded in -parentheses) while the virtual environment is active. - -.Notes -On Windows, it may be required to enable this Activate.ps1 script by setting the -execution policy for the user. You can do this by issuing the following PowerShell -command: - -PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - -For more information on Execution Policies: -https://go.microsoft.com/fwlink/?LinkID=135170 - -#> -Param( - [Parameter(Mandatory = $false)] - [String] - $VenvDir, - [Parameter(Mandatory = $false)] - [String] - $Prompt -) - -<# Function declarations --------------------------------------------------- #> - -<# -.Synopsis -Remove all shell session elements added by the Activate script, including the -addition of the virtual environment's Python executable from the beginning of -the PATH variable. - -.Parameter NonDestructive -If present, do not remove this function from the global namespace for the -session. - -#> -function global:deactivate ([switch]$NonDestructive) { - # Revert to original values - - # The prior prompt: - if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { - Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt - Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT - } - - # The prior PYTHONHOME: - if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { - Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME - Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME - } - - # The prior PATH: - if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { - Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH - Remove-Item -Path Env:_OLD_VIRTUAL_PATH - } - - # Just remove the VIRTUAL_ENV altogether: - if (Test-Path -Path Env:VIRTUAL_ENV) { - Remove-Item -Path env:VIRTUAL_ENV - } - - # Just remove VIRTUAL_ENV_PROMPT altogether. - if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) { - Remove-Item -Path env:VIRTUAL_ENV_PROMPT - } - - # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: - if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { - Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force - } - - # Leave deactivate function in the global namespace if requested: - if (-not $NonDestructive) { - Remove-Item -Path function:deactivate - } -} - -<# -.Description -Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the -given folder, and returns them in a map. - -For each line in the pyvenv.cfg file, if that line can be parsed into exactly -two strings separated by `=` (with any amount of whitespace surrounding the =) -then it is considered a `key = value` line. The left hand string is the key, -the right hand is the value. - -If the value starts with a `'` or a `"` then the first and last character is -stripped from the value before being captured. - -.Parameter ConfigDir -Path to the directory that contains the `pyvenv.cfg` file. -#> -function Get-PyVenvConfig( - [String] - $ConfigDir -) { - Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" - - # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). - $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue - - # An empty map will be returned if no config file is found. - $pyvenvConfig = @{ } - - if ($pyvenvConfigPath) { - - Write-Verbose "File exists, parse `key = value` lines" - $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath - - $pyvenvConfigContent | ForEach-Object { - $keyval = $PSItem -split "\s*=\s*", 2 - if ($keyval[0] -and $keyval[1]) { - $val = $keyval[1] - - # Remove extraneous quotations around a string value. - if ("'""".Contains($val.Substring(0, 1))) { - $val = $val.Substring(1, $val.Length - 2) - } - - $pyvenvConfig[$keyval[0]] = $val - Write-Verbose "Adding Key: '$($keyval[0])'='$val'" - } - } - } - return $pyvenvConfig -} - - -<# Begin Activate script --------------------------------------------------- #> - -# Determine the containing directory of this script -$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition -$VenvExecDir = Get-Item -Path $VenvExecPath - -Write-Verbose "Activation script is located in path: '$VenvExecPath'" -Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" -Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" - -# Set values required in priority: CmdLine, ConfigFile, Default -# First, get the location of the virtual environment, it might not be -# VenvExecDir if specified on the command line. -if ($VenvDir) { - Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" -} -else { - Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." - $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") - Write-Verbose "VenvDir=$VenvDir" -} - -# Next, read the `pyvenv.cfg` file to determine any required value such -# as `prompt`. -$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir - -# Next, set the prompt from the command line, or the config file, or -# just use the name of the virtual environment folder. -if ($Prompt) { - Write-Verbose "Prompt specified as argument, using '$Prompt'" -} -else { - Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" - if ($pyvenvCfg -and $pyvenvCfg['prompt']) { - Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" - $Prompt = $pyvenvCfg['prompt']; - } - else { - Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" - Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" - $Prompt = Split-Path -Path $venvDir -Leaf - } -} - -Write-Verbose "Prompt = '$Prompt'" -Write-Verbose "VenvDir='$VenvDir'" - -# Deactivate any currently active virtual environment, but leave the -# deactivate function in place. -deactivate -nondestructive - -# Now set the environment variable VIRTUAL_ENV, used by many tools to determine -# that there is an activated venv. -$env:VIRTUAL_ENV = $VenvDir - -if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { - - Write-Verbose "Setting prompt to '$Prompt'" - - # Set the prompt to include the env name - # Make sure _OLD_VIRTUAL_PROMPT is global - function global:_OLD_VIRTUAL_PROMPT { "" } - Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT - New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt - - function global:prompt { - Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " - _OLD_VIRTUAL_PROMPT - } - $env:VIRTUAL_ENV_PROMPT = $Prompt -} - -# Clear PYTHONHOME -if (Test-Path -Path Env:PYTHONHOME) { - Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME - Remove-Item -Path Env:PYTHONHOME -} - -# Add the venv to the PATH -Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH -$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/DocIntel/bin/accelerate b/DocIntel/bin/accelerate deleted file mode 100755 index 0613c8a659c777c67697a8cec3a0a3df0dcd26b2..0000000000000000000000000000000000000000 --- a/DocIntel/bin/accelerate +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from accelerate.commands.accelerate_cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/accelerate-config b/DocIntel/bin/accelerate-config deleted file mode 100755 index b65fb54be0f9a04caf466435e36c3a51663480e3..0000000000000000000000000000000000000000 --- a/DocIntel/bin/accelerate-config +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from accelerate.commands.config import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/accelerate-estimate-memory b/DocIntel/bin/accelerate-estimate-memory deleted file mode 100755 index 3f460ae42e51c5fb56bffc6c9a1d97905124fad6..0000000000000000000000000000000000000000 --- a/DocIntel/bin/accelerate-estimate-memory +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from accelerate.commands.estimate import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/accelerate-launch b/DocIntel/bin/accelerate-launch deleted file mode 100755 index c0202115c08f0f4b4c1030929de17b35031e0fea..0000000000000000000000000000000000000000 --- a/DocIntel/bin/accelerate-launch +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from accelerate.commands.launch import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/accelerate-merge-weights b/DocIntel/bin/accelerate-merge-weights deleted file mode 100755 index e2190bfac6d2dd878dc892757b8376e3e7063d43..0000000000000000000000000000000000000000 --- a/DocIntel/bin/accelerate-merge-weights +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from accelerate.commands.merge import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/activate b/DocIntel/bin/activate deleted file mode 100644 index dd91c1c731cd14508319927f24530f3b6d03d798..0000000000000000000000000000000000000000 --- a/DocIntel/bin/activate +++ /dev/null @@ -1,63 +0,0 @@ -# This file must be used with "source bin/activate" *from bash* -# you cannot run it directly - -deactivate () { - # reset old environment variables - if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then - PATH="${_OLD_VIRTUAL_PATH:-}" - export PATH - unset _OLD_VIRTUAL_PATH - fi - if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then - PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" - export PYTHONHOME - unset _OLD_VIRTUAL_PYTHONHOME - fi - - # Call hash to forget past commands. Without forgetting - # past commands the $PATH changes we made may not be respected - hash -r 2> /dev/null - - if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then - PS1="${_OLD_VIRTUAL_PS1:-}" - export PS1 - unset _OLD_VIRTUAL_PS1 - fi - - unset VIRTUAL_ENV - unset VIRTUAL_ENV_PROMPT - if [ ! "${1:-}" = "nondestructive" ] ; then - # Self destruct! - unset -f deactivate - fi -} - -# unset irrelevant variables -deactivate nondestructive - -VIRTUAL_ENV=/Users/rupa/Desktop/Projects/DocIntel/DocIntel -export VIRTUAL_ENV - -_OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/"bin":$PATH" -export PATH - -# unset PYTHONHOME if set -# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) -# could use `if (set -u; : $PYTHONHOME) ;` in bash -if [ -n "${PYTHONHOME:-}" ] ; then - _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" - unset PYTHONHOME -fi - -if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then - _OLD_VIRTUAL_PS1="${PS1:-}" - PS1='(DocIntel) '"${PS1:-}" - export PS1 - VIRTUAL_ENV_PROMPT='(DocIntel) ' - export VIRTUAL_ENV_PROMPT -fi - -# Call hash to forget past commands. Without forgetting -# past commands the $PATH changes we made may not be respected -hash -r 2> /dev/null diff --git a/DocIntel/bin/activate.csh b/DocIntel/bin/activate.csh deleted file mode 100644 index a516c180895acc08e507fc1d7ca806834d43f34f..0000000000000000000000000000000000000000 --- a/DocIntel/bin/activate.csh +++ /dev/null @@ -1,26 +0,0 @@ -# This file must be used with "source bin/activate.csh" *from csh*. -# You cannot run it directly. -# Created by Davide Di Blasi . -# Ported to Python 3.3 venv by Andrew Svetlov - -alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate' - -# Unset irrelevant variables. -deactivate nondestructive - -setenv VIRTUAL_ENV /Users/rupa/Desktop/Projects/DocIntel/DocIntel - -set _OLD_VIRTUAL_PATH="$PATH" -setenv PATH "$VIRTUAL_ENV/"bin":$PATH" - - -set _OLD_VIRTUAL_PROMPT="$prompt" - -if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then - set prompt = '(DocIntel) '"$prompt" - setenv VIRTUAL_ENV_PROMPT '(DocIntel) ' -endif - -alias pydoc python -m pydoc - -rehash diff --git a/DocIntel/bin/activate.fish b/DocIntel/bin/activate.fish deleted file mode 100644 index 83c64770998735d0a876c3e8e697933ef69ba570..0000000000000000000000000000000000000000 --- a/DocIntel/bin/activate.fish +++ /dev/null @@ -1,69 +0,0 @@ -# This file must be used with "source /bin/activate.fish" *from fish* -# (https://fishshell.com/); you cannot run it directly. - -function deactivate -d "Exit virtual environment and return to normal shell environment" - # reset old environment variables - if test -n "$_OLD_VIRTUAL_PATH" - set -gx PATH $_OLD_VIRTUAL_PATH - set -e _OLD_VIRTUAL_PATH - end - if test -n "$_OLD_VIRTUAL_PYTHONHOME" - set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME - set -e _OLD_VIRTUAL_PYTHONHOME - end - - if test -n "$_OLD_FISH_PROMPT_OVERRIDE" - set -e _OLD_FISH_PROMPT_OVERRIDE - # prevents error when using nested fish instances (Issue #93858) - if functions -q _old_fish_prompt - functions -e fish_prompt - functions -c _old_fish_prompt fish_prompt - functions -e _old_fish_prompt - end - end - - set -e VIRTUAL_ENV - set -e VIRTUAL_ENV_PROMPT - if test "$argv[1]" != "nondestructive" - # Self-destruct! - functions -e deactivate - end -end - -# Unset irrelevant variables. -deactivate nondestructive - -set -gx VIRTUAL_ENV /Users/rupa/Desktop/Projects/DocIntel/DocIntel - -set -gx _OLD_VIRTUAL_PATH $PATH -set -gx PATH "$VIRTUAL_ENV/"bin $PATH - -# Unset PYTHONHOME if set. -if set -q PYTHONHOME - set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME - set -e PYTHONHOME -end - -if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" - # fish uses a function instead of an env var to generate the prompt. - - # Save the current fish_prompt function as the function _old_fish_prompt. - functions -c fish_prompt _old_fish_prompt - - # With the original prompt function renamed, we can override with our own. - function fish_prompt - # Save the return status of the last command. - set -l old_status $status - - # Output the venv prompt; color taken from the blue of the Python logo. - printf "%s%s%s" (set_color 4B8BBE) '(DocIntel) ' (set_color normal) - - # Restore the return status of the previous command. - echo "exit $old_status" | . - # Output the original/"old" prompt. - _old_fish_prompt - end - - set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" - set -gx VIRTUAL_ENV_PROMPT '(DocIntel) ' -end diff --git a/DocIntel/bin/backend-test-tools b/DocIntel/bin/backend-test-tools deleted file mode 100755 index b85217c49e8725c2b6c0ad8764ccf6a5d21e45f2..0000000000000000000000000000000000000000 --- a/DocIntel/bin/backend-test-tools +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from onnx.backend.test.cmd_tools import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/check-model b/DocIntel/bin/check-model deleted file mode 100755 index b8760ccfc934d9242bcaf9552057d201f691581f..0000000000000000000000000000000000000000 --- a/DocIntel/bin/check-model +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from onnx.bin.checker import check_model -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(check_model()) diff --git a/DocIntel/bin/check-node b/DocIntel/bin/check-node deleted file mode 100755 index a575d42be51f2a013c57dbfcf7e03e8845507328..0000000000000000000000000000000000000000 --- a/DocIntel/bin/check-node +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from onnx.bin.checker import check_node -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(check_node()) diff --git a/DocIntel/bin/chroma b/DocIntel/bin/chroma deleted file mode 100755 index 6d2f57f8a86ed985d2d9aeda27d40ead11d228e2..0000000000000000000000000000000000000000 --- a/DocIntel/bin/chroma +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from chromadb.cli.cli import app -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(app()) diff --git a/DocIntel/bin/coverage b/DocIntel/bin/coverage deleted file mode 100755 index cc02275cc17385a8f4255c0d51521e2b66e39820..0000000000000000000000000000000000000000 --- a/DocIntel/bin/coverage +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from coverage.cmdline import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/coverage-3.11 b/DocIntel/bin/coverage-3.11 deleted file mode 100755 index 4148c701e8945df9ce3013a81e7c036083e2feb0..0000000000000000000000000000000000000000 --- a/DocIntel/bin/coverage-3.11 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from coverage.cmdline import main_deprecated -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main_deprecated()) diff --git a/DocIntel/bin/coverage3 b/DocIntel/bin/coverage3 deleted file mode 100755 index 4148c701e8945df9ce3013a81e7c036083e2feb0..0000000000000000000000000000000000000000 --- a/DocIntel/bin/coverage3 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from coverage.cmdline import main_deprecated -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main_deprecated()) diff --git a/DocIntel/bin/distro b/DocIntel/bin/distro deleted file mode 100755 index 6d083c69e9de395616c0f493687fe73fb0df5986..0000000000000000000000000000000000000000 --- a/DocIntel/bin/distro +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from distro.distro import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/dotenv b/DocIntel/bin/dotenv deleted file mode 100755 index 3a0357d62f13e60773a7fadd4d5ade5e9e39050d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/dotenv +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from dotenv.__main__ import cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli()) diff --git a/DocIntel/bin/dumppdf.py b/DocIntel/bin/dumppdf.py deleted file mode 100755 index e8aa6320c63fc7cf22e33bbe42893c0f58eb3ed5..0000000000000000000000000000000000000000 --- a/DocIntel/bin/dumppdf.py +++ /dev/null @@ -1,468 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -"""Extract pdf structure in XML format""" - -import logging -import os.path -import re -import sys -from argparse import ArgumentParser -from collections.abc import Container, Iterable -from typing import Any, TextIO, cast - -import pdfminer -from pdfminer.pdfdocument import PDFDocument, PDFNoOutlines, PDFXRefFallback -from pdfminer.pdfexceptions import ( - PDFIOError, - PDFObjectNotFound, - PDFTypeError, - PDFValueError, -) -from pdfminer.pdfpage import PDFPage -from pdfminer.pdfparser import PDFParser -from pdfminer.pdftypes import PDFObjRef, PDFStream, resolve1, stream_value -from pdfminer.psparser import LIT, PSKeyword, PSLiteral -from pdfminer.utils import isnumber - -logging.basicConfig() -logger = logging.getLogger(__name__) - -ESC_PAT = re.compile(r'[\000-\037&<>()"\042\047\134\177-\377]') - - -def escape(s: str | bytes) -> str: - us = str(s, "latin-1") if isinstance(s, bytes) else s - return ESC_PAT.sub(lambda m: f"&#{ord(m.group(0))};", us) - - -def dumpxml(out: TextIO, obj: object, codec: str | None = None) -> None: - if obj is None: - out.write("") - return - - if isinstance(obj, dict): - out.write(f'\n') - for k, v in obj.items(): - out.write(f"{k}\n") - out.write("") - dumpxml(out, v) - out.write("\n") - out.write("") - return - - if isinstance(obj, list): - out.write(f'\n') - for v in obj: - dumpxml(out, v) - out.write("\n") - out.write("") - return - - if isinstance(obj, (str, bytes)): - out.write(f'{escape(obj)}') - return - - if isinstance(obj, PDFStream): - if codec == "raw": - # Bug: writing bytes to text I/O. This will raise TypeError. - out.write(obj.get_rawdata()) # type: ignore [arg-type] - elif codec == "binary": - # Bug: writing bytes to text I/O. This will raise TypeError. - out.write(obj.get_data()) # type: ignore [arg-type] - else: - out.write("\n\n") - dumpxml(out, obj.attrs) - out.write("\n\n") - if codec == "text": - data = obj.get_data() - out.write(f'{escape(data)}\n') - out.write("") - return - - if isinstance(obj, PDFObjRef): - out.write(f'') - return - - if isinstance(obj, PSKeyword): - # Likely bug: obj.name is bytes, not str - out.write(f"{obj.name}") # type: ignore [str-bytes-safe] - return - - if isinstance(obj, PSLiteral): - # Likely bug: obj.name may be bytes, not str - out.write(f"{obj.name}") # type: ignore [str-bytes-safe] - return - - if isnumber(obj): - out.write(f"{obj}") - return - - raise PDFTypeError(obj) - - -def dumptrailers( - out: TextIO, - doc: PDFDocument, - show_fallback_xref: bool = False, -) -> None: - for xref in doc.xrefs: - if not isinstance(xref, PDFXRefFallback) or show_fallback_xref: - out.write("\n") - dumpxml(out, xref.get_trailer()) - out.write("\n\n\n") - no_xrefs = all(isinstance(xref, PDFXRefFallback) for xref in doc.xrefs) - if no_xrefs and not show_fallback_xref: - msg = ( - "This PDF does not have an xref. Use --show-fallback-xref if " - "you want to display the content of a fallback xref that " - "contains all objects." - ) - logger.warning(msg) - - -def dumpallobjs( - out: TextIO, - doc: PDFDocument, - codec: str | None = None, - show_fallback_xref: bool = False, -) -> None: - visited = set() - out.write("") - for xref in doc.xrefs: - for objid in xref.get_objids(): - if objid in visited: - continue - visited.add(objid) - try: - obj = doc.getobj(objid) - if obj is None: - continue - out.write(f'\n') - dumpxml(out, obj, codec=codec) - out.write("\n\n\n") - except PDFObjectNotFound as e: - print(f"not found: {e!r}") - dumptrailers(out, doc, show_fallback_xref) - out.write("") - - -def dumpoutline( - outfp: TextIO, - fname: str, - objids: Any, - pagenos: Container[int], - password: str = "", - dumpall: bool = False, - codec: str | None = None, - extractdir: str | None = None, -) -> None: - with open(fname, "rb") as fp: - parser = PDFParser(fp) - doc = PDFDocument(parser, password) - pages = { - page.pageid: pageno - for (pageno, page) in enumerate(PDFPage.create_pages(doc), 1) - } - - def resolve_dest(dest: object) -> Any: - if isinstance(dest, (str, bytes)): - dest = resolve1(doc.get_dest(dest)) - elif isinstance(dest, PSLiteral): - dest = resolve1(doc.get_dest(dest.name)) - if isinstance(dest, dict): - dest = dest["D"] - if isinstance(dest, PDFObjRef): - dest = dest.resolve() - return dest - - try: - outlines = doc.get_outlines() - outfp.write("\n") - for level, title, dest, a, _se in outlines: - pageno = None - if dest: - dest = resolve_dest(dest) - pageno = pages[dest[0].objid] - elif a: - action = a - if isinstance(action, dict): - subtype = action.get("S") - if subtype and repr(subtype) == "/'GoTo'" and action.get("D"): - dest = resolve_dest(action["D"]) - pageno = pages[dest[0].objid] - s = escape(title) - outfp.write(f'\n') - if dest is not None: - outfp.write("") - dumpxml(outfp, dest) - outfp.write("\n") - if pageno is not None: - outfp.write(f"{pageno!r}\n") - outfp.write("\n") - outfp.write("\n") - except PDFNoOutlines: - pass - parser.flush() - - -LITERAL_FILESPEC = LIT("Filespec") -LITERAL_EMBEDDEDFILE = LIT("EmbeddedFile") - - -def extractembedded(fname: str, password: str, extractdir: str) -> None: - def extract1(objid: int, obj: dict[str, Any]) -> None: - filename = os.path.basename(obj.get("UF") or cast(bytes, obj.get("F")).decode()) - fileref = obj["EF"].get("UF") or obj["EF"].get("F") - fileobj = doc.getobj(fileref.objid) - if not isinstance(fileobj, PDFStream): - error_msg = ( - f"unable to process PDF: reference for {filename!r} is not a PDFStream" - ) - raise PDFValueError(error_msg) - if fileobj.get("Type") is not LITERAL_EMBEDDEDFILE: - raise PDFValueError( - f"unable to process PDF: reference for {filename!r} " - "is not an EmbeddedFile", - ) - path = os.path.join(extractdir, f"{objid:06d}-{filename}") - if os.path.exists(path): - raise PDFIOError(f"file exists: {path!r}") - print(f"extracting: {path!r}") - os.makedirs(os.path.dirname(path), exist_ok=True) - with open(path, "wb") as out: - out.write(fileobj.get_data()) - - with open(fname, "rb") as fp: - parser = PDFParser(fp) - doc = PDFDocument(parser, password) - extracted_objids = set() - for xref in doc.xrefs: - for objid in xref.get_objids(): - obj = doc.getobj(objid) - if ( - objid not in extracted_objids - and isinstance(obj, dict) - and obj.get("Type") is LITERAL_FILESPEC - ): - extracted_objids.add(objid) - extract1(objid, obj) - - -def dumppdf( - outfp: TextIO, - fname: str, - objids: Iterable[int], - pagenos: Container[int], - password: str = "", - dumpall: bool = False, - codec: str | None = None, - extractdir: str | None = None, - show_fallback_xref: bool = False, -) -> None: - with open(fname, "rb") as fp: - parser = PDFParser(fp) - doc = PDFDocument(parser, password) - if objids: - for objid in objids: - obj = doc.getobj(objid) - dumpxml(outfp, obj, codec=codec) - if pagenos: - for pageno, page in enumerate(PDFPage.create_pages(doc)): - if pageno in pagenos: - if codec: - for obj in page.contents: - obj = stream_value(obj) - dumpxml(outfp, obj, codec=codec) - else: - dumpxml(outfp, page.attrs) - if dumpall: - dumpallobjs(outfp, doc, codec, show_fallback_xref) - if (not objids) and (not pagenos) and (not dumpall): - dumptrailers(outfp, doc, show_fallback_xref) - if codec not in ("raw", "binary"): - outfp.write("\n") - - -def create_parser() -> ArgumentParser: - parser = ArgumentParser(description=__doc__, add_help=True) - parser.add_argument( - "files", - type=str, - default=None, - nargs="+", - help="One or more paths to PDF files.", - ) - - parser.add_argument( - "--version", - "-v", - action="version", - version=f"pdfminer.six v{pdfminer.__version__}", - ) - parser.add_argument( - "--debug", - "-d", - default=False, - action="store_true", - help="Use debug logging level.", - ) - procedure_parser = parser.add_mutually_exclusive_group() - procedure_parser.add_argument( - "--extract-toc", - "-T", - default=False, - action="store_true", - help="Extract structure of outline", - ) - procedure_parser.add_argument( - "--extract-embedded", - "-E", - type=str, - help="Extract embedded files", - ) - - parse_params = parser.add_argument_group( - "Parser", - description="Used during PDF parsing", - ) - parse_params.add_argument( - "--page-numbers", - type=int, - default=None, - nargs="+", - help="A space-seperated list of page numbers to parse.", - ) - parse_params.add_argument( - "--pagenos", - "-p", - type=str, - help="A comma-separated list of page numbers to parse. Included for " - "legacy applications, use --page-numbers for more idiomatic " - "argument entry.", - ) - parse_params.add_argument( - "--objects", - "-i", - type=str, - help="Comma separated list of object numbers to extract", - ) - parse_params.add_argument( - "--all", - "-a", - default=False, - action="store_true", - help="If the structure of all objects should be extracted", - ) - parse_params.add_argument( - "--show-fallback-xref", - action="store_true", - help="Additionally show the fallback xref. Use this if the PDF " - "has zero or only invalid xref's. This setting is ignored if " - "--extract-toc or --extract-embedded is used.", - ) - parse_params.add_argument( - "--password", - "-P", - type=str, - default="", - help="The password to use for decrypting PDF file.", - ) - - output_params = parser.add_argument_group( - "Output", - description="Used during output generation.", - ) - output_params.add_argument( - "--outfile", - "-o", - type=str, - default="-", - help='Path to file where output is written. Or "-" (default) to ' - "write to stdout.", - ) - codec_parser = output_params.add_mutually_exclusive_group() - codec_parser.add_argument( - "--raw-stream", - "-r", - default=False, - action="store_true", - help="Write stream objects without encoding", - ) - codec_parser.add_argument( - "--binary-stream", - "-b", - default=False, - action="store_true", - help="Write stream objects with binary encoding", - ) - codec_parser.add_argument( - "--text-stream", - "-t", - default=False, - action="store_true", - help="Write stream objects as plain text", - ) - - return parser - - -def main(argv: list[str] | None = None) -> None: - parser = create_parser() - args = parser.parse_args(args=argv) - - if args.debug: - logging.getLogger().setLevel(logging.DEBUG) - - objids = [int(x) for x in args.objects.split(",")] if args.objects else [] - - if args.page_numbers: - pagenos = {x - 1 for x in args.page_numbers} - elif args.pagenos: - pagenos = {int(x) - 1 for x in args.pagenos.split(",")} - else: - pagenos = set() - - password = args.password - - if args.raw_stream: - codec: str | None = "raw" - elif args.binary_stream: - codec = "binary" - elif args.text_stream: - codec = "text" - else: - codec = None - - # Use context manager for file output, ensuring proper cleanup - with sys.stdout if args.outfile == "-" else open(args.outfile, "w") as outfp: - for fname in args.files: - if args.extract_toc: - dumpoutline( - outfp, - fname, - objids, - pagenos, - password=password, - dumpall=args.all, - codec=codec, - extractdir=None, - ) - elif args.extract_embedded: - extractembedded( - fname, password=password, extractdir=args.extract_embedded - ) - else: - dumppdf( - outfp, - fname, - objids, - pagenos, - password=password, - dumpall=args.all, - codec=codec, - extractdir=None, - show_fallback_xref=args.show_fallback_xref, - ) - - -if __name__ == "__main__": - main() diff --git a/DocIntel/bin/f2py b/DocIntel/bin/f2py deleted file mode 100755 index c6a8050ac4e6b132fa683ef660e4ae71ed1346b5..0000000000000000000000000000000000000000 --- a/DocIntel/bin/f2py +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from numpy.f2py.f2py2e import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/filetype b/DocIntel/bin/filetype deleted file mode 100755 index d94b78a22a3ae15ba7def626dce01df86613f236..0000000000000000000000000000000000000000 --- a/DocIntel/bin/filetype +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from filetype.__main__ import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/fonttools b/DocIntel/bin/fonttools deleted file mode 100755 index eb7a217ed965058e7dbc348bf36eb4c54ace313d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/fonttools +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from fontTools.__main__ import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/hf b/DocIntel/bin/hf deleted file mode 100755 index 7357b370e4e41f7436d65207be229ba318ac2868..0000000000000000000000000000000000000000 --- a/DocIntel/bin/hf +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from huggingface_hub.cli.hf import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/httpx b/DocIntel/bin/httpx deleted file mode 100755 index e06d853a23b0ff732c877a8efbe50662479b3327..0000000000000000000000000000000000000000 --- a/DocIntel/bin/httpx +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from httpx import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/huggingface-cli b/DocIntel/bin/huggingface-cli deleted file mode 100755 index 58a9c2e35c6e75836bef97076e72ea5ac8c52027..0000000000000000000000000000000000000000 --- a/DocIntel/bin/huggingface-cli +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from huggingface_hub.cli.deprecated_cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/idna b/DocIntel/bin/idna deleted file mode 100755 index adaf49c680ccce59c214fb5506a59d15e5d26a09..0000000000000000000000000000000000000000 --- a/DocIntel/bin/idna +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from idna.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/isympy b/DocIntel/bin/isympy deleted file mode 100755 index 0d3ae7ede8777dfe75a043fd576b8d569fc84ad1..0000000000000000000000000000000000000000 --- a/DocIntel/bin/isympy +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from isympy import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/jsondiff b/DocIntel/bin/jsondiff deleted file mode 100755 index 1d511335edda9a1a6ee19b8e3f6e862e5f1570f6..0000000000000000000000000000000000000000 --- a/DocIntel/bin/jsondiff +++ /dev/null @@ -1,41 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -# -*- coding: utf-8 -*- - -from __future__ import print_function - -import sys -import json -import jsonpatch -import argparse - - -parser = argparse.ArgumentParser(description='Diff two JSON files') -parser.add_argument('FILE1', type=argparse.FileType('r')) -parser.add_argument('FILE2', type=argparse.FileType('r')) -parser.add_argument('--indent', type=int, default=None, - help='Indent output by n spaces') -parser.add_argument('-u', '--preserve-unicode', action='store_true', - help='Output Unicode character as-is without using Code Point') -parser.add_argument('-v', '--version', action='version', - version='%(prog)s ' + jsonpatch.__version__) - - -def main(): - try: - diff_files() - except KeyboardInterrupt: - sys.exit(1) - - -def diff_files(): - """ Diffs two JSON files and prints a patch """ - args = parser.parse_args() - doc1 = json.load(args.FILE1) - doc2 = json.load(args.FILE2) - patch = jsonpatch.make_patch(doc1, doc2) - if patch.patch: - print(json.dumps(patch.patch, indent=args.indent, ensure_ascii=not(args.preserve_unicode))) - sys.exit(1) - -if __name__ == "__main__": - main() diff --git a/DocIntel/bin/jsonpatch b/DocIntel/bin/jsonpatch deleted file mode 100755 index bd5390ee72ba9213ab535f694d0ea6b7a3b1491c..0000000000000000000000000000000000000000 --- a/DocIntel/bin/jsonpatch +++ /dev/null @@ -1,107 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -# -*- coding: utf-8 -*- - -import sys -import os.path -import json -import jsonpatch -import tempfile -import argparse - - -parser = argparse.ArgumentParser( - description='Apply a JSON patch on a JSON file') -parser.add_argument('ORIGINAL', type=argparse.FileType('r'), - help='Original file') -parser.add_argument('PATCH', type=argparse.FileType('r'), - nargs='?', default=sys.stdin, - help='Patch file (read from stdin if omitted)') -parser.add_argument('--indent', type=int, default=None, - help='Indent output by n spaces') -parser.add_argument('-b', '--backup', action='store_true', - help='Back up ORIGINAL if modifying in-place') -parser.add_argument('-i', '--in-place', action='store_true', - help='Modify ORIGINAL in-place instead of to stdout') -parser.add_argument('-v', '--version', action='version', - version='%(prog)s ' + jsonpatch.__version__) -parser.add_argument('-u', '--preserve-unicode', action='store_true', - help='Output Unicode character as-is without using Code Point') - -def main(): - try: - patch_files() - except KeyboardInterrupt: - sys.exit(1) - - -def patch_files(): - """ Diffs two JSON files and prints a patch """ - args = parser.parse_args() - doc = json.load(args.ORIGINAL) - patch = json.load(args.PATCH) - result = jsonpatch.apply_patch(doc, patch) - - if args.in_place: - dirname = os.path.abspath(os.path.dirname(args.ORIGINAL.name)) - - try: - # Attempt to replace the file atomically. We do this by - # creating a temporary file in the same directory as the - # original file so we can atomically move the new file over - # the original later. (This is done in the same directory - # because atomic renames do not work across mount points.) - - fd, pathname = tempfile.mkstemp(dir=dirname) - fp = os.fdopen(fd, 'w') - atomic = True - - except OSError: - # We failed to create the temporary file for an atomic - # replace, so fall back to non-atomic mode by backing up - # the original (if desired) and writing a new file. - - if args.backup: - os.rename(args.ORIGINAL.name, args.ORIGINAL.name + '.orig') - fp = open(args.ORIGINAL.name, 'w') - atomic = False - - else: - # Since we're not replacing the original file in-place, write - # the modified JSON to stdout instead. - - fp = sys.stdout - - # By this point we have some sort of file object we can write the - # modified JSON to. - - json.dump(result, fp, indent=args.indent, ensure_ascii=not(args.preserve_unicode)) - fp.write('\n') - - if args.in_place: - # Close the new file. If we aren't replacing atomically, this - # is our last step, since everything else is already in place. - - fp.close() - - if atomic: - try: - # Complete the atomic replace by linking the original - # to a backup (if desired), fixing up the permissions - # on the temporary file, and moving it into place. - - if args.backup: - os.link(args.ORIGINAL.name, args.ORIGINAL.name + '.orig') - os.chmod(pathname, os.stat(args.ORIGINAL.name).st_mode) - os.rename(pathname, args.ORIGINAL.name) - - except OSError: - # In the event we could not actually do the atomic - # replace, unlink the original to move it out of the - # way and finally move the temporary file into place. - - os.unlink(args.ORIGINAL.name) - os.rename(pathname, args.ORIGINAL.name) - - -if __name__ == "__main__": - main() diff --git a/DocIntel/bin/jsonpointer b/DocIntel/bin/jsonpointer deleted file mode 100755 index 8374661794bdb0937d863194d02c75f43eb06e4e..0000000000000000000000000000000000000000 --- a/DocIntel/bin/jsonpointer +++ /dev/null @@ -1,66 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 - - -import argparse -import json -import sys - -import jsonpointer - -parser = argparse.ArgumentParser( - description='Resolve a JSON pointer on JSON files') - -# Accept pointer as argument or as file -ptr_group = parser.add_mutually_exclusive_group(required=True) - -ptr_group.add_argument('-f', '--pointer-file', type=argparse.FileType('r'), - nargs='?', - help='File containing a JSON pointer expression') - -ptr_group.add_argument('POINTER', type=str, nargs='?', - help='A JSON pointer expression') - -parser.add_argument('FILE', type=argparse.FileType('r'), nargs='+', - help='Files for which the pointer should be resolved') -parser.add_argument('--indent', type=int, default=None, - help='Indent output by n spaces') -parser.add_argument('-v', '--version', action='version', - version='%(prog)s ' + jsonpointer.__version__) - - -def main(): - try: - resolve_files() - except KeyboardInterrupt: - sys.exit(1) - - -def parse_pointer(args): - if args.POINTER: - ptr = args.POINTER - elif args.pointer_file: - ptr = args.pointer_file.read().strip() - else: - parser.print_usage() - sys.exit(1) - - return ptr - - -def resolve_files(): - """ Resolve a JSON pointer on JSON files """ - args = parser.parse_args() - - ptr = parse_pointer(args) - - for f in args.FILE: - doc = json.load(f) - try: - result = jsonpointer.resolve_pointer(doc, ptr) - print(json.dumps(result, indent=args.indent)) - except jsonpointer.JsonPointerException as e: - print('Could not resolve pointer: %s' % str(e), file=sys.stderr) - - -if __name__ == "__main__": - main() diff --git a/DocIntel/bin/jsonschema b/DocIntel/bin/jsonschema deleted file mode 100755 index b35521576bdf19953c2b29dbb299d1a4201ba2f5..0000000000000000000000000000000000000000 --- a/DocIntel/bin/jsonschema +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from jsonschema.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/langchain-server b/DocIntel/bin/langchain-server deleted file mode 100755 index 9eb3166eed029a87113c60faf86433c95e2a39a8..0000000000000000000000000000000000000000 --- a/DocIntel/bin/langchain-server +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from langchain.server import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/langsmith b/DocIntel/bin/langsmith deleted file mode 100755 index 1723cf4a3fa06dffdf5b2639f47db97782b8c517..0000000000000000000000000000000000000000 --- a/DocIntel/bin/langsmith +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from langsmith.cli.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/langsmith 2 b/DocIntel/bin/langsmith 2 deleted file mode 100755 index 1723cf4a3fa06dffdf5b2639f47db97782b8c517..0000000000000000000000000000000000000000 --- a/DocIntel/bin/langsmith 2 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from langsmith.cli.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/markdown-it b/DocIntel/bin/markdown-it deleted file mode 100755 index 924f3333207c44dbfb2a08a776966b3488744e04..0000000000000000000000000000000000000000 --- a/DocIntel/bin/markdown-it +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from markdown_it.cli.parse import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/nltk b/DocIntel/bin/nltk deleted file mode 100755 index 236d10d60c9600aa91bce3c581ccb91916167415..0000000000000000000000000000000000000000 --- a/DocIntel/bin/nltk +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from nltk.cli import cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli()) diff --git a/DocIntel/bin/normalizer b/DocIntel/bin/normalizer deleted file mode 100755 index fddd9e4cc1ad42b884b299e3e62a95df5094fb25..0000000000000000000000000000000000000000 --- a/DocIntel/bin/normalizer +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from charset_normalizer.cli import cli_detect -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli_detect()) diff --git a/DocIntel/bin/numba b/DocIntel/bin/numba deleted file mode 100755 index 2238ecf7b5e8fd95247b4b9b25bcd873438e8788..0000000000000000000000000000000000000000 --- a/DocIntel/bin/numba +++ /dev/null @@ -1,8 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -# -*- coding: UTF-8 -*- -from __future__ import print_function, division, absolute_import - -from numba.misc.numba_entry import main - -if __name__ == "__main__": - main() diff --git a/DocIntel/bin/onnxruntime_test b/DocIntel/bin/onnxruntime_test deleted file mode 100755 index eed1f76968b75f188f3faf9f2cfd7ef87254d924..0000000000000000000000000000000000000000 --- a/DocIntel/bin/onnxruntime_test +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from onnxruntime.tools.onnxruntime_test import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/oxmsg b/DocIntel/bin/oxmsg deleted file mode 100755 index 005de1e7417ae7503e4a85c112bd0775d259bd79..0000000000000000000000000000000000000000 --- a/DocIntel/bin/oxmsg +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from oxmsg.cli import oxmsg -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(oxmsg()) diff --git a/DocIntel/bin/pdf2txt.py b/DocIntel/bin/pdf2txt.py deleted file mode 100755 index 7a5afb51fa0ea643761783eeda070cafff16dda4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pdf2txt.py +++ /dev/null @@ -1,324 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -"""A command line tool for extracting text and images from PDF and -output it to plain text, html, xml or tags. -""" - -import argparse -import logging -import sys -from collections.abc import Container, Iterable -from typing import Any - -import pdfminer.high_level -from pdfminer.layout import LAParams -from pdfminer.pdfexceptions import PDFValueError -from pdfminer.utils import AnyIO - -logging.basicConfig() - -OUTPUT_TYPES = ((".htm", "html"), (".html", "html"), (".xml", "xml"), (".tag", "tag")) - - -def float_or_disabled(x: str) -> float | None: - if x.lower().strip() == "disabled": - return None - try: - return float(x) - except ValueError as err: - raise argparse.ArgumentTypeError(f"invalid float value: {x}") from err - - -def extract_text( - files: Iterable[str] = [], - outfile: str = "-", - laparams: LAParams | None = None, - output_type: str = "text", - codec: str = "utf-8", - strip_control: bool = False, - maxpages: int = 0, - page_numbers: Container[int] | None = None, - password: str = "", - scale: float = 1.0, - rotation: int = 0, - layoutmode: str = "normal", - output_dir: str | None = None, - debug: bool = False, - disable_caching: bool = False, - **kwargs: Any, -) -> None: - if not files: - raise PDFValueError("Must provide files to work upon!") - - if output_type == "text" and outfile != "-": - for override, alttype in OUTPUT_TYPES: - if outfile.endswith(override): - output_type = alttype - - if outfile == "-": - outfp: AnyIO = sys.stdout - if sys.stdout.encoding is not None: - codec = "utf-8" - for fname in files: - with open(fname, "rb") as fp: - pdfminer.high_level.extract_text_to_fp(fp, **locals()) - else: - # Use context manager for file output, ensuring proper cleanup - with open(outfile, "wb") as outfp: - for fname in files: - with open(fname, "rb") as fp: - pdfminer.high_level.extract_text_to_fp(fp, **locals()) - - -def create_parser() -> argparse.ArgumentParser: - parser = argparse.ArgumentParser(description=__doc__, add_help=True) - parser.add_argument( - "files", - type=str, - default=None, - nargs="+", - help="One or more paths to PDF files.", - ) - - parser.add_argument( - "--version", - "-v", - action="version", - version=f"pdfminer.six v{pdfminer.__version__}", - ) - parser.add_argument( - "--debug", - "-d", - default=False, - action="store_true", - help="Use debug logging level.", - ) - parser.add_argument( - "--disable-caching", - "-C", - default=False, - action="store_true", - help="If caching or resources, such as fonts, should be disabled.", - ) - - parse_params = parser.add_argument_group( - "Parser", - description="Used during PDF parsing", - ) - parse_params.add_argument( - "--page-numbers", - type=int, - default=None, - nargs="+", - help="A space-seperated list of page numbers to parse.", - ) - parse_params.add_argument( - "--pagenos", - "-p", - type=str, - help="A comma-separated list of page numbers to parse. " - "Included for legacy applications, use --page-numbers " - "for more idiomatic argument entry.", - ) - parse_params.add_argument( - "--maxpages", - "-m", - type=int, - default=0, - help="The maximum number of pages to parse.", - ) - parse_params.add_argument( - "--password", - "-P", - type=str, - default="", - help="The password to use for decrypting PDF file.", - ) - parse_params.add_argument( - "--rotation", - "-R", - default=0, - type=int, - help="The number of degrees to rotate the PDF " - "before other types of processing.", - ) - - la_params = LAParams() # will be used for defaults - la_param_group = parser.add_argument_group( - "Layout analysis", - description="Used during layout analysis.", - ) - la_param_group.add_argument( - "--no-laparams", - "-n", - default=False, - action="store_true", - help="If layout analysis parameters should be ignored.", - ) - la_param_group.add_argument( - "--detect-vertical", - "-V", - default=la_params.detect_vertical, - action="store_true", - help="If vertical text should be considered during layout analysis", - ) - la_param_group.add_argument( - "--line-overlap", - type=float, - default=la_params.line_overlap, - help="If two characters have more overlap than this they " - "are considered to be on the same line. The overlap is specified " - "relative to the minimum height of both characters.", - ) - la_param_group.add_argument( - "--char-margin", - "-M", - type=float, - default=la_params.char_margin, - help="If two characters are closer together than this margin they " - "are considered to be part of the same line. The margin is " - "specified relative to the width of the character.", - ) - la_param_group.add_argument( - "--word-margin", - "-W", - type=float, - default=la_params.word_margin, - help="If two characters on the same line are further apart than this " - "margin then they are considered to be two separate words, and " - "an intermediate space will be added for readability. The margin " - "is specified relative to the width of the character.", - ) - la_param_group.add_argument( - "--line-margin", - "-L", - type=float, - default=la_params.line_margin, - help="If two lines are close together they are considered to " - "be part of the same paragraph. The margin is specified " - "relative to the height of a line.", - ) - la_param_group.add_argument( - "--boxes-flow", - "-F", - type=float_or_disabled, - default=la_params.boxes_flow, - help="Specifies how much a horizontal and vertical position of a " - "text matters when determining the order of lines. The value " - "should be within the range of -1.0 (only horizontal position " - "matters) to +1.0 (only vertical position matters). You can also " - "pass `disabled` to disable advanced layout analysis, and " - "instead return text based on the position of the bottom left " - "corner of the text box.", - ) - la_param_group.add_argument( - "--all-texts", - "-A", - default=la_params.all_texts, - action="store_true", - help="If layout analysis should be performed on text in figures.", - ) - - output_params = parser.add_argument_group( - "Output", - description="Used during output generation.", - ) - output_params.add_argument( - "--outfile", - "-o", - type=str, - default="-", - help="Path to file where output is written. " - 'Or "-" (default) to write to stdout.', - ) - output_params.add_argument( - "--output_type", - "-t", - type=str, - default="text", - help="Type of output to generate {text,html,xml,tag}.", - ) - output_params.add_argument( - "--codec", - "-c", - type=str, - default="utf-8", - help="Text encoding to use in output file.", - ) - output_params.add_argument( - "--output-dir", - "-O", - default=None, - help="The output directory to put extracted images in. If not given, " - "images are not extracted.", - ) - output_params.add_argument( - "--layoutmode", - "-Y", - default="normal", - type=str, - help="Type of layout to use when generating html " - "{normal,exact,loose}. If normal,each line is" - " positioned separately in the html. If exact" - ", each character is positioned separately in" - " the html. If loose, same result as normal " - "but with an additional newline after each " - "text line. Only used when output_type is html.", - ) - output_params.add_argument( - "--scale", - "-s", - type=float, - default=1.0, - help="The amount of zoom to use when generating html file. " - "Only used when output_type is html.", - ) - output_params.add_argument( - "--strip-control", - "-S", - default=False, - action="store_true", - help="Remove control statement from text. Only used when output_type is xml.", - ) - - return parser - - -def parse_args(args: list[str] | None) -> argparse.Namespace: - parsed_args = create_parser().parse_args(args=args) - - # Propagate parsed layout parameters to LAParams object - if parsed_args.no_laparams: - parsed_args.laparams = None - else: - parsed_args.laparams = LAParams( - line_overlap=parsed_args.line_overlap, - char_margin=parsed_args.char_margin, - line_margin=parsed_args.line_margin, - word_margin=parsed_args.word_margin, - boxes_flow=parsed_args.boxes_flow, - detect_vertical=parsed_args.detect_vertical, - all_texts=parsed_args.all_texts, - ) - - if parsed_args.page_numbers: - parsed_args.page_numbers = {x - 1 for x in parsed_args.page_numbers} - - if parsed_args.pagenos: - parsed_args.page_numbers = {int(x) - 1 for x in parsed_args.pagenos.split(",")} - - if parsed_args.output_type == "text" and parsed_args.outfile != "-": - for override, alttype in OUTPUT_TYPES: - if parsed_args.outfile.endswith(override): - parsed_args.output_type = alttype - - return parsed_args - - -def main(args: list[str] | None = None) -> int: - parsed_args = parse_args(args) - extract_text(**vars(parsed_args)) - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/DocIntel/bin/pip b/DocIntel/bin/pip deleted file mode 100755 index ffedeeed61241b5ac2d740c2389135fefba71d91..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pip +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pip3 b/DocIntel/bin/pip3 deleted file mode 100755 index ffedeeed61241b5ac2d740c2389135fefba71d91..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pip3 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pip3.11 b/DocIntel/bin/pip3.11 deleted file mode 100755 index ffedeeed61241b5ac2d740c2389135fefba71d91..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pip3.11 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/plotly_get_chrome b/DocIntel/bin/plotly_get_chrome deleted file mode 100755 index eea2655fba3aeebf28b2c538eac65d8d8713e4ec..0000000000000000000000000000000000000000 --- a/DocIntel/bin/plotly_get_chrome +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from plotly.io._kaleido import plotly_get_chrome -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(plotly_get_chrome()) diff --git a/DocIntel/bin/py.test b/DocIntel/bin/py.test deleted file mode 100755 index b55198fdc0bd2bdf8144b917ef1fb35f8c4726f4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/py.test +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from _pytest.config import _console_main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(_console_main()) diff --git a/DocIntel/bin/pybase64 b/DocIntel/bin/pybase64 deleted file mode 100755 index 5b41e52db251fa583bc431cbec2b0a2db1536414..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pybase64 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pybase64.__main__ import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pyftmerge b/DocIntel/bin/pyftmerge deleted file mode 100755 index e4c8c09dd1b40d457ea9052a127dd26bce7ee3b5..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pyftmerge +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from fontTools.merge import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pyftsubset b/DocIntel/bin/pyftsubset deleted file mode 100755 index 7dbac9f49d243e28856e6ee715c7a7c5587cc8b4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pyftsubset +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from fontTools.subset import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pygmentize b/DocIntel/bin/pygmentize deleted file mode 100755 index aca38330870d3b55c659a229e9248f229a460cd5..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pygmentize +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pygments.cmdline import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pypdfium2 b/DocIntel/bin/pypdfium2 deleted file mode 100755 index fae5246c7c3c71658431643e30fd9324d9cdb56a..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pypdfium2 +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pypdfium2_cli.__main__ import cli_main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli_main()) diff --git a/DocIntel/bin/pyproject-build b/DocIntel/bin/pyproject-build deleted file mode 100755 index ea84ec4e9728a8789d1db5164c85060376a44313..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pyproject-build +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from build.__main__ import entrypoint -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(entrypoint()) diff --git a/DocIntel/bin/pytesseract b/DocIntel/bin/pytesseract deleted file mode 100755 index 29e160e6146902f50556a0e471ee1e7e3b7fc2e4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pytesseract +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from pytesseract.pytesseract import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/pytest b/DocIntel/bin/pytest deleted file mode 100755 index b55198fdc0bd2bdf8144b917ef1fb35f8c4726f4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/pytest +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from _pytest.config import _console_main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(_console_main()) diff --git a/DocIntel/bin/python b/DocIntel/bin/python deleted file mode 120000 index 6e7f3c7dd2248c956d0eaddd00024769c14e3c27..0000000000000000000000000000000000000000 --- a/DocIntel/bin/python +++ /dev/null @@ -1 +0,0 @@ -python3.11 \ No newline at end of file diff --git a/DocIntel/bin/python3 b/DocIntel/bin/python3 deleted file mode 120000 index 6e7f3c7dd2248c956d0eaddd00024769c14e3c27..0000000000000000000000000000000000000000 --- a/DocIntel/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -python3.11 \ No newline at end of file diff --git a/DocIntel/bin/python3.11 b/DocIntel/bin/python3.11 deleted file mode 120000 index 3cf1fbdcfd45b2a68df4ddc7d95edeef02ef7491..0000000000000000000000000000000000000000 --- a/DocIntel/bin/python3.11 +++ /dev/null @@ -1 +0,0 @@ -/opt/homebrew/opt/python@3.11/bin/python3.11 \ No newline at end of file diff --git a/DocIntel/bin/spacy b/DocIntel/bin/spacy deleted file mode 100755 index 9a12692a0dd408a5bc7f469cd9fcd16419406412..0000000000000000000000000000000000000000 --- a/DocIntel/bin/spacy +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from spacy.cli import setup_cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(setup_cli()) diff --git a/DocIntel/bin/streamlit b/DocIntel/bin/streamlit deleted file mode 100755 index 47257b4385e13c8d9f77eacf26433b1875933cd4..0000000000000000000000000000000000000000 --- a/DocIntel/bin/streamlit +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from streamlit.web.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/tiny-agents b/DocIntel/bin/tiny-agents deleted file mode 100755 index 8b3b5b783a4a61588ed096b544f3536f1294fa4a..0000000000000000000000000000000000000000 --- a/DocIntel/bin/tiny-agents +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from huggingface_hub.inference._mcp.cli import app -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(app()) diff --git a/DocIntel/bin/torchfrtrace b/DocIntel/bin/torchfrtrace deleted file mode 100755 index 4c964e39d48ca94764582dee6421b069da8ed70a..0000000000000000000000000000000000000000 --- a/DocIntel/bin/torchfrtrace +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from torch.distributed.flight_recorder.fr_trace import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/torchrun b/DocIntel/bin/torchrun deleted file mode 100755 index 172c49cbe1a137253db0579c1f6d4030c606459f..0000000000000000000000000000000000000000 --- a/DocIntel/bin/torchrun +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from torch.distributed.run import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/tqdm b/DocIntel/bin/tqdm deleted file mode 100755 index 0a5b67410230215756a3cd32f153d4aa7084b983..0000000000000000000000000000000000000000 --- a/DocIntel/bin/tqdm +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from tqdm.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/transformers b/DocIntel/bin/transformers deleted file mode 100755 index a65cbfb67b2f620f6b42bee511769e1ab3fc2ed1..0000000000000000000000000000000000000000 --- a/DocIntel/bin/transformers +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from transformers.cli.transformers import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/ttx b/DocIntel/bin/ttx deleted file mode 100755 index dea0154613ccdc0cbc818cac485910fb0476ae75..0000000000000000000000000000000000000000 --- a/DocIntel/bin/ttx +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from fontTools.ttx import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/typer b/DocIntel/bin/typer deleted file mode 100755 index ce2dbd3c6e77774af6829b84472c52814296b59d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/typer +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from typer.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/unstructured b/DocIntel/bin/unstructured deleted file mode 100755 index e585d485ef17243f82f789be96d8ac37ac34e1ff..0000000000000000000000000000000000000000 --- a/DocIntel/bin/unstructured +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from unstructured.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/uvicorn b/DocIntel/bin/uvicorn deleted file mode 100755 index f2778e3fbc60e600823488690907a1ab73c3496b..0000000000000000000000000000000000000000 --- a/DocIntel/bin/uvicorn +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from uvicorn.main import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/wandb b/DocIntel/bin/wandb deleted file mode 100755 index 820f7e1c0fafa2630f04f67dc61aded5b684bf4d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/wandb +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from wandb.cli.cli import cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli()) diff --git a/DocIntel/bin/watchfiles b/DocIntel/bin/watchfiles deleted file mode 100755 index 1b06eef74712c932631f2f9dbd979e955a27d17c..0000000000000000000000000000000000000000 --- a/DocIntel/bin/watchfiles +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from watchfiles.cli import cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli()) diff --git a/DocIntel/bin/wb b/DocIntel/bin/wb deleted file mode 100755 index 820f7e1c0fafa2630f04f67dc61aded5b684bf4d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/wb +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from wandb.cli.cli import cli -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(cli()) diff --git a/DocIntel/bin/weasel b/DocIntel/bin/weasel deleted file mode 100755 index 123b4ef66ccc058d718d1d57e98ff097d285c37a..0000000000000000000000000000000000000000 --- a/DocIntel/bin/weasel +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from weasel.cli import app -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(app()) diff --git a/DocIntel/bin/websockets b/DocIntel/bin/websockets deleted file mode 100755 index e28ae50e5f2d3054d63b9b18ae0b0ea7a482fd3d..0000000000000000000000000000000000000000 --- a/DocIntel/bin/websockets +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from websockets.cli import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/bin/wsdump b/DocIntel/bin/wsdump deleted file mode 100755 index 8ab53f272db790f4be091f5a196d3fda51569310..0000000000000000000000000000000000000000 --- a/DocIntel/bin/wsdump +++ /dev/null @@ -1,6 +0,0 @@ -#!/Users/rupa/Desktop/Projects/DocIntel/DocIntel/bin/python3.11 -import sys -from websocket._wsdump import main -if __name__ == '__main__': - sys.argv[0] = sys.argv[0].removesuffix('.exe') - sys.exit(main()) diff --git a/DocIntel/etc/jupyter/nbconfig/notebook.d/pydeck.json b/DocIntel/etc/jupyter/nbconfig/notebook.d/pydeck.json deleted file mode 100644 index 143b42aeb573b96bac0391209543ff04ab82f651..0000000000000000000000000000000000000000 --- a/DocIntel/etc/jupyter/nbconfig/notebook.d/pydeck.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "load_extensions": { - "pydeck/extension": true - } -} diff --git a/DocIntel/pyvenv.cfg b/DocIntel/pyvenv.cfg deleted file mode 100644 index a30b8b60da2285bd540ae20852c44b3d2a86ecd6..0000000000000000000000000000000000000000 --- a/DocIntel/pyvenv.cfg +++ /dev/null @@ -1,5 +0,0 @@ -home = /opt/homebrew/opt/python@3.11/bin -include-system-site-packages = false -version = 3.11.15 -executable = /opt/homebrew/Cellar/python@3.11/3.11.15_3/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -command = /opt/homebrew/opt/python@3.11/bin/python3.11 -m venv /Users/rupa/Desktop/Projects/DocIntel/DocIntel diff --git a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/install.json b/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/install.json deleted file mode 100644 index 072a65f7a6ead4ff1de5ab326356cc4c4190e1eb..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/install.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "packageName": "plotly", - "packageManager": "python" -} \ No newline at end of file diff --git a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/package.json b/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/package.json deleted file mode 100644 index ca6cc145c3603c7a1850c0073dd0e29c8b577dfe..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "jupyterlab-plotly", - "main": "lib/mimeExtension.js", - "version": "6.8.0", - "repository": { - "type": "git", - "url": "https://github.com/plotly/plotly.py" - }, - "description": "The plotly Jupyter extension", - "author": "The plotly.py team", - "license": "MIT", - "scripts": { - "build:widget": "esbuild --bundle --alias:plotly.js=plotly.js/dist/plotly --format=esm --minify --outfile=../plotly/package_data/widgetbundle.js src/widget.ts", - "build:mimerenderer": "esbuild --bundle --alias:plotly.js=plotly.js/dist/plotly --format=esm --minify --outfile=lib/mimeExtension.js src/mimeExtension.ts", - "build:labextension": "jupyter labextension build .", - "build": "npm run build:widget && npm run build:mimerenderer && npm run build:labextension", - "watch": "npm run build -- --watch --sourcemap=inline", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "lodash-es": "^4.17.21", - "plotly.js": "3.6.0", - "@lumino/widgets": "~2.4.0" - }, - "devDependencies": { - "@jupyterlab/builder": "^4.3.6 || ^3.6.8", - "@types/plotly.js": "^2.33.4", - "esbuild": "^0.23.1", - "typescript": "^5.6.2" - }, - "jupyterlab": { - "mimeExtension": true, - "outputDir": "../plotly/labextension", - "webpackConfig": "./webpack.config.js", - "_build": { - "load": "static/remoteEntry.2a6392a40c19ad8383a0.js", - "mimeExtension": "./mimeExtension" - } - } -} diff --git a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/1.747c8e0c8042a68fba0a.js b/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/1.747c8e0c8042a68fba0a.js deleted file mode 100644 index 3a3d3c7870e8c5e16d89caff8294174e1056d6dd..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/1.747c8e0c8042a68fba0a.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1.747c8e0c8042a68fba0a.js.LICENSE.txt */ -(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[1],[,,(e,t,r)=>{"use strict";r.r(t),r.d(t,{MIME_TYPE:()=>He,RenderedPlotly:()=>Ge,default:()=>Ze,rendererFactory:()=>We});var n,i,a,o,s,l,c=r(3),u=Object.create,h=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,d=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t,r)=>(r=null!=e?u(d(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of p(t))!m.call(e,r)&&undefined!==r&&h(e,r,{get:()=>t[r],enumerable:!(n=f(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?r:h(r,"default",{value:e,enumerable:!0}),e)),v=g(((e,t)=>{var n,i;n=e,i=function(e){function t(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return!1;return!0}var r;e.ArrayExt=void 0,function(e){function t(e,t,r=0,n=-1){let i,a=e.length;if(0===a)return-1;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))=r)return;let n=e[t];for(let n=t+1;n0;){let n=s>>1,i=o+n;r(e[i],t)<0?(o=i+1,s-=n+1):s=n}return o},e.upperBound=function(e,t,r,n=0,i=-1){let a=e.length;if(0===a)return 0;let o=n=n<0?Math.max(0,n+a):Math.min(n,a-1),s=(i=i<0?Math.max(0,i+a):Math.min(i,a-1))-n+1;for(;s>0;){let n=s>>1,i=o+n;r(e[i],t)>0?s=n:(o=i+1,s-=n+1)}return o},e.shallowEqual=function(e,t,r){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n=o&&(r=i<0?o-1:o),void 0===n?n=i<0?-1:o:n<0?n=Math.max(n+o,i<0?-1:0):n>=o&&(n=i<0?o-1:o),a=i<0&&n>=r||i>0&&r>=n?0:i<0?Math.floor((n-r+1)/i+1):Math.floor((n-r-1)/i+1);let s=[];for(let t=0;t=(n=n<0?Math.max(0,n+i):Math.min(n,i-1)))return;let o=n-r+1;if(t>0?t%=o:t<0&&(t=(t%o+o)%o),0===t)return;let s=r+t;a(e,r,s-1),a(e,s,n),a(e,r,n)},e.fill=function(e,t,r=0,n=-1){let i,a=e.length;if(0!==a){r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))t;--r)e[r]=e[r-1];e[t]=r},e.removeAt=o,e.removeFirstOf=function(e,r,n=0,i=-1){let a=t(e,r,n,i);return-1!==a&&o(e,a),a},e.removeLastOf=function(e,t,n=-1,i=0){let a=r(e,t,n,i);return-1!==a&&o(e,a),a},e.removeAllOf=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&e[o]===t||n=r)&&e[o]===t?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a},e.removeFirstWhere=function(e,t,r=0,i=-1){let a,s=n(e,t,r,i);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeLastWhere=function(e,t,r=-1,n=0){let a,s=i(e,t,r,n);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeAllWhere=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&t(e[o],o)||n=r)&&t(e[o],o)?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}}(e.ArrayExt||(e.ArrayExt={})),(r||(r={})).rangeLength=function(e,t,r){return 0===r?1/0:e>t&&r>0||et?1:0}}(e.StringExt||(e.StringExt={})),e.chain=function*(...e){for(let t of e)yield*t},e.each=function(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return},e.empty=function*(){},e.enumerate=function*(e,t=0){for(let r of e)yield[t++,r]},e.every=t,e.filter=function*(e,t){let r=0;for(let n of e)t(n,r++)&&(yield n)},e.find=function(e,t){let r=0;for(let n of e)if(t(n,r++))return n},e.findIndex=function(e,t){let r=0;for(let n of e)if(t(n,r++))return r-1;return-1},e.map=function*(e,t){let r=0;for(let n of e)yield t(n,r++)},e.max=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)>0&&(r=n):r=n;return r},e.min=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)<0&&(r=n):r=n;return r},e.minmax=function(e,t){let r,n,i=!0;for(let a of e)i?(r=a,n=a,i=!1):t(a,r)<0?r=a:t(a,n)>0&&(n=a);return i?void 0:[r,n]},e.once=function*(e){yield e},e.range=function*(e,t,n){void 0===t?(t=e,e=0,n=1):void 0===n&&(n=1);let i=r.rangeLength(e,t,n);for(let t=0;t-1;t--)yield e[t]},e.some=function(e,t){let r=0;for(let n of e)if(t(n,r++))return!0;return!1},e.stride=function*(e,t){let r=0;for(let n of e)r++%t==0&&(yield n)},e.take=function*(e,t){if(t<1)return;let r,n=e[Symbol.iterator]();for(;0e[Symbol.iterator]())),n=r.map((e=>e.next()));for(;t(n,(e=>!e.done));n=r.map((e=>e.next())))yield n.map((e=>e.value))}},"object"==typeof e&&typeof t<"u"?i(e):"function"==typeof define&&r.amdO?define(["exports"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_algorithm={})})),x=g(((e,t)=>{var n,i;n=e,i=function(e,t){var r;function n(e){let t=0;for(let r=0,n=e.length;r>>0),e[r]=255&t,t>>>=8}e.JSONExt=void 0,function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function r(e){return Array.isArray(e)}e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]),e.isPrimitive=t,e.isArray=r,e.isObject=function(e){return!t(e)&&!r(e)},e.deepEqual=function e(n,i){if(n===i)return!0;if(t(n)||t(i))return!1;let a=r(n),o=r(i);return a===o&&(a&&o?function(t,r){if(t===r)return!0;if(t.length!==r.length)return!1;for(let n=0,i=t.length;n{if(n===e.provides)return!0;let o=r.get(n);if(!o)return!1;let s=t.get(o),l=[...s.requires,...s.optional];return 0!==l.length&&(a.push(o),!!l.some(i)||(a.pop(),!1))};if(!e.provides||0===n.length)return;let a=[e.id];if(n.some(i))throw new ReferenceError(`Cycle detected: ${a.join(" -> ")}.`)},e.findDependents=function(e,r,n){let i=new Array,a=e=>{let t=r.get(e),a=[...t.requires,...t.optional];i.push(...a.reduce(((t,r)=>{let i=n.get(r);return i&&t.push([e,i]),t}),[]))};for(let e of r.keys())a(e);let o=i.filter((t=>t[1]===e)),s=0;for(;o.length>s;){let e=o.length,t=new Set(o.map((e=>e[0])));for(let e of t)i.filter((t=>t[1]===e)).forEach((e=>{o.includes(e)||o.push(e)}));s=e}let l=t.topologicSort(o),c=l.findIndex((t=>t===e));return-1===c?[e]:l.slice(0,c+1)},e.collectStartupPlugins=function(e,t){let r=new Set;for(let t of e.keys())!0===e.get(t).autoStart&&r.add(t);if(t.startPlugins)for(let e of t.startPlugins)r.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)r.delete(e);return Array.from(r)}}(r||(r={})),e.Random=void 0,(e.Random||(e.Random={})).getRandomValues=(()=>{let e=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?function(t){return e.getRandomValues(t)}:n})(),e.UUID=void 0,(e.UUID||(e.UUID={})).uuid4=function(e){let t=new Uint8Array(16),r=new Array(256);for(let e=0;e<16;++e)r[e]="0"+e.toString(16);for(let e=16;e<256;++e)r[e]=e.toString(16);return function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],r[t[0]]+r[t[1]]+r[t[2]]+r[t[3]]+"-"+r[t[4]]+r[t[5]]+"-"+r[t[6]]+r[t[7]]+"-"+r[t[8]]+r[t[9]]+"-"+r[t[10]]+r[t[11]]+r[t[12]]+r[t[13]]+r[t[14]]+r[t[15]]}}(e.Random.getRandomValues),e.MimeData=class{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return-1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return-1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}},e.PluginRegistry=class{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(null!==this._application)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter((([e,t])=>"defer"===t.autoStart)).map((([e,t])=>e))}getPluginDescription(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.description)&&void 0!==r?r:""}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.activated)&&void 0!==r&&r}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw new TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw new Error(`Plugin '${e.id}' is not valid.`);let t=r.createPluginData(e);r.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let r=this._plugins.get(e);if(r){if(r.activated&&!t)throw new Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let r=t.requires.map((e=>this.resolveRequiredService(e))),n=t.optional.map((e=>this.resolveOptionalService(e)));return t.promise=Promise.all([...r,...n]).then((e=>t.activate.apply(void 0,[this.application,...e]))).then((e=>{t.service=e,t.activated=!0,t.promise=null})).catch((e=>{throw t.promise=null,e})),t.promise}async activatePlugins(e,t={}){switch(e){case"defer":{let e=this.deferredPlugins.filter((e=>this._plugins.get(e).autoStart)).map((e=>this.activatePlugin(e)));await Promise.all(e);break}case"startUp":{let e=r.collectStartupPlugins(this._plugins,t).map((async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}}));await Promise.all(e);break}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw new TypeError(`Plugin '${e}'#deactivate() method missing`);let n=r.findDependents(e,this._plugins,this._services),i=n.map((e=>this._plugins.get(e)));for(let t of i)if(!t.deactivate)throw new TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of i){let t=[...e.requires,...e.optional].map((e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null}));await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return n.pop(),n}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw new TypeError(`No provider for: ${e.name}.`);let r=this._plugins.get(t);return r.activated||await this.activatePlugin(t),r.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let r=this._plugins.get(t);if(!r.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return r.service}},e.PromiseDelegate=class{constructor(){this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){(0,this._resolve)(e)}reject(e){(0,this._reject)(e)}},e.Token=class{constructor(e,t){this.name=e,this.description=t??"",this._tokenStructuralPropertyT=null}}},"object"==typeof e&&typeof t<"u"?i(e,v()):"function"==typeof define&&r.amdO?define(["exports","@lumino/algorithm"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_coreutils={},n.lumino_algorithm)})),_=g(((e,t)=>{var r,n;r=typeof self<"u"?self:e,n=()=>{var e=(()=>{var e=Object.create,t=Object.defineProperty,r=Object.defineProperties,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,h=(e,r,n)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,f=(e,t)=>{for(var r in t||(t={}))l.call(t,r)&&h(e,r,t[r]);if(o)for(var r of o(t))u.call(t,r)&&h(e,r,t[r]);return e},p=(e,t)=>r(e,i(t)),d=(e,t)=>function(){return e&&(t=(0,e[a(e)[0]])(e=0)),t},m=(e,t)=>function(){return t||(0,e[a(e)[0]])((t={exports:{}}).exports,t),t.exports},g=(e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})},y=(e,r,i,o)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let s of a(r))!l.call(e,s)&&s!==i&&t(e,s,{get:()=>r[s],enumerable:!(o=n(r,s))||o.enumerable});return e},v=e=>y(t({},"__esModule",{value:!0}),e),x=m({"src/version.js"(e){e.version="3.6.0"}}),_=m({"node_modules/native-promise-only/lib/npo.src.js"(e,t){var r,n;r="Promise",(n=typeof window<"u"?window:e)[r]=n[r]||function(){var e,t,r,n=Object.prototype.toString,i=typeof setImmediate<"u"?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,r,n){return Object.defineProperty(e,t,{value:r,writable:!0,configurable:!1!==n})}}catch{e=function(e,t,r){return e[t]=r,e}}function a(e,n){r.add(e,n),t||(t=i(r.drain))}function o(e){var t,r=typeof e;return null!=e&&("object"==r||"function"==r)&&(t=e.then),"function"==typeof t&&t}function s(){for(var e=0;e0&&a(s,r))}catch(e){u.call(new f(r),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function h(e,t,r,n){for(var i=0;it?1:e>=t?0:NaN}function p(e){return null===e?NaN:+e}function d(e){return!isNaN(e)}function m(e){return{left:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}e.ascending=f,e.descending=function(e,t){return te?1:t>=e?0:NaN},e.min=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},e.max=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},e.extent=function(e,t){var r,n,i,a=-1,o=e.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},e.deviation=function(){var t=e.variance.apply(this,arguments);return t&&Math.sqrt(t)};var g=m(f);function y(e){return e.length}e.bisectLeft=g.left,e.bisect=e.bisectRight=g.right,e.bisector=function(e){return m(1===e.length?function(t,r){return f(e(t),r)}:e)},e.shuffle=function(e,t,r){(a=arguments.length)<3&&(r=e.length,a<2&&(t=0));for(var n,i,a=r-t;a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},e.permute=function(e,t){for(var r=t.length,n=new Array(r);r--;)n[r]=e[t[r]];return n},e.pairs=function(e){for(var t=0,r=e.length-1,n=e[0],i=new Array(r<0?0:r);t=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r};var v=Math.abs;function x(e,t){for(var r in t)Object.defineProperty(e.prototype,r,{value:t[r],enumerable:!1})}function _(){this._=Object.create(null)}function b(e){return"__proto__"==(e+="")||"\0"===e[0]?"\0"+e:e}function w(e){return"\0"===(e+="")[0]?e.slice(1):e}function T(e){return b(e)in this._}function k(e){return(e=b(e))in this._&&delete this._[e]}function A(){var e=[];for(var t in this._)e.push(w(t));return e}function M(){var e=0;for(var t in this._)++e;return e}function S(){for(var e in this._)return!1;return!0}function E(){this._=Object.create(null)}function C(e){return e}function I(e,t,r){return function(){var n=r.apply(t,arguments);return n===t?e:n}}function L(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var r=0,n=P.length;rt;)i.push(n/a);else for(;(n=e+r*++o)=i.length)return r?r.call(n,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=i[s++],m=new _;++f=i.length)return e;var r=[],n=a[t++];return e.forEach((function(e,n){r.push({key:e,values:s(n,t)})})),n?r.sort((function(e,t){return n(e.key,t.key)})):r}return n.map=function(e,t){return o(t,e,0)},n.entries=function(t){return s(o(e.map,t,0),0)},n.key=function(e){return i.push(e),n},n.sortKeys=function(e){return a[i.length-1]=e,n},n.sortValues=function(e){return t=e,n},n.rollup=function(e){return r=e,n},n},e.set=function(e){var t=new E;if(e)for(var r=0,n=e.length;r=0&&(n=e.slice(r+1),e=e.slice(0,r)),e)return arguments.length<2?this[e].on(n):this[e].on(n,t);if(2===arguments.length){if(null==t)for(e in this)this.hasOwnProperty(e)&&this[e].on(n,null);return this}},e.event=null,e.requote=function(e){return e.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,N={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)e[r]=t[r]};function U(e){return N(e,G),e}var V=function(e,t){return t.querySelector(e)},q=function(e,t){return t.querySelectorAll(e)},H=function(e,t){var r=e.matches||e[L(e,"matchesSelector")];return(H=function(e,t){return r.call(e,t)})(e,t)};"function"==typeof Sizzle&&(V=function(e,t){return Sizzle(e,t)[0]||null},q=Sizzle,H=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var G=e.selection.prototype=[];function W(e){return"function"==typeof e?e:function(){return V(e,this)}}function Z(e){return"function"==typeof e?e:function(){return q(e,this)}}G.select=function(e){var t,r,n,i,a=[];e=W(e);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=e.slice(0,t))&&(e=e.slice(t+1)),X.hasOwnProperty(r)?{space:X[r],local:e}:e}},G.attr=function(t,r){if(arguments.length<2){if("string"==typeof t){var n=this.node();return(t=e.ns.qualify(t)).local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(r in t)this.each($(r,t[r]));return this}return this.each($(t,r))},G.classed=function(e,t){if(arguments.length<2){if("string"==typeof e){var r=this.node(),n=(e=Q(e)).length,i=-1;if(t=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},G.sort=function(e){e=le.apply(this,arguments);for(var t=-1,r=this.length;++t0&&(t=t.slice(0,o));var l=pe.get(t);function c(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}return l&&(t=l,s=me),o?r?function(){var e=s(r,n(arguments));c.call(this),this.addEventListener(t,this[a]=e,e.$=i),e._=r}:c:r?z:function(){var r,n=new RegExp("^__on([^.]+)"+e.requote(t)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}e.selection.enter=ue,e.selection.enter.prototype=he,he.append=G.append,he.empty=G.empty,he.node=G.node,he.call=G.call,he.size=G.size,he.select=function(e){for(var t,r,n,i,a,o=[],s=-1,l=this.length;++s=t&&(t=i+1);!(o=s[t])&&++t1?Me:e<-1?-Me:Math.asin(e)}function Le(e){return((e=Math.exp(e))+1/e)/2}var Pe=Math.SQRT2;e.interpolateZoom=function(e,t){var r,n,i=e[0],a=e[1],o=e[2],s=t[0],l=t[1],c=t[2],u=s-i,h=l-a,f=u*u+h*h;if(f<1e-12)n=Math.log(c/o)/Pe,r=function(e){return[i+e*u,a+e*h,o*Math.exp(Pe*e*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),m=(c*c-o*o-4*f)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(m*m+1)-m);n=(y-g)/Pe,r=function(e){var t=e*n,r=Le(g),s=o/(2*p)*(r*function(e){return((e=Math.exp(2*e))-1)/(e+1)}(Pe*t+g)-function(e){return((e=Math.exp(e))-1/e)/2}(g));return[i+s*u,a+s*h,o*r/Le(Pe*t+g)]}}return r.duration=1e3*n,r},e.behavior.zoom=function(){var t,r,n,a,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=Oe,m=250,g=0,y="mousedown.zoom",v="mousemove.zoom",x="mouseup.zoom",_="touchstart.zoom",b=B(w,"zoomstart","zoom","zoomend");function w(e){e.on(y,L).on(De+".zoom",z).on("dblclick.zoom",D).on(_,P)}function T(e){return[(e[0]-f.x)/f.k,(e[1]-f.y)/f.k]}function k(e){f.k=Math.max(d[0],Math.min(d[1],e))}function A(e,t){t=function(e){return[e[0]*f.k+f.x,e[1]*f.k+f.y]}(t),f.x+=e[0]-t[0],f.y+=e[1]-t[1]}function M(t,n,i,a){t.__chart__={x:f.x,y:f.y,k:f.k},k(Math.pow(2,a)),A(r=n,i),t=e.select(t),m>0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){c&&c.domain(l.range().map((function(e){return(e-f.x)/f.k})).map(l.invert)),h&&h.domain(u.range().map((function(e){return(e-f.y)/f.k})).map(u.invert))}function E(e){g++||e({type:"zoomstart"})}function C(e){S(),e({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function I(e){--g||(e({type:"zoomend"}),r=null)}function L(){var t=this,r=b.of(t,arguments),n=0,i=e.select(o(t)).on(v,(function(){n=1,A(e.mouse(t),a),C(r)})).on(x,(function(){i.on(v,null).on(x,null),s(n),I(r)})),a=T(e.mouse(t)),s=ve(t);Wi.call(t),E(r)}function P(){var t,r=this,n=b.of(r,arguments),i={},a=0,o=".zoom-"+e.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=e.select(r),p=ve(r);function d(){var n=e.touches(r);return t=f.k,n.forEach((function(e){e.identifier in i&&(i[e.identifier]=T(e))})),n}function m(){var t=e.event.target;e.select(t).on(l,g).on(c,v),u.push(t);for(var n=e.event.changedTouches,o=0,h=n.length;o1){y=p[0];var x=p[1],_=y[0]-x[0],b=y[1]-x[1];a=_*_+b*b}}function g(){var o,l,c,u,h=e.touches(r);Wi.call(r);for(var f=0,p=h.length;f360?e-=360:e<0&&(e+=360),e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n}(e))}return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)||t<0?0:t>1?1:t,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+t):r+t-r*t),new Qe(a(e+120),a(e),a(e-120))}function Ne(t,r,n){return this instanceof Ne?(this.h=+t,this.c=+r,void(this.l=+n)):arguments.length<2?t instanceof Ne?new Ne(t.h,t.c,t.l):function(e,t,r){return e>0?new Ne(Math.atan2(r,t)*Ee,Math.sqrt(t*t+r*r),e):new Ne(NaN,NaN,e)}(t instanceof qe?t.l:(t=ot((t=e.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Ne(t,r,n)}Be.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new Fe(this.h,this.s,this.l/e)},Be.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new Fe(this.h,this.s,e*this.l)},Be.rgb=function(){return je(this.h,this.s,this.l)},e.hcl=Ne;var Ue=Ne.prototype=new Re;function Ve(e,t,r){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new qe(r,Math.cos(e*=Se)*t,Math.sin(e)*t)}function qe(e,t,r){return this instanceof qe?(this.l=+e,this.a=+t,void(this.b=+r)):arguments.length<2?e instanceof qe?new qe(e.l,e.a,e.b):e instanceof Ne?Ve(e.h,e.c,e.l):ot((e=Qe(e)).r,e.g,e.b):new qe(e,t,r)}Ue.brighter=function(e){return new Ne(this.h,this.c,Math.min(100,this.l+He*(arguments.length?e:1)))},Ue.darker=function(e){return new Ne(this.h,this.c,Math.max(0,this.l-He*(arguments.length?e:1)))},Ue.rgb=function(){return Ve(this.h,this.c,this.l).rgb()},e.lab=qe;var He=18,Ge=.95047,We=1,Ze=1.08883,Ye=qe.prototype=new Re;function Xe(e,t,r){var n=(e+16)/116,i=n+t/500,a=n-r/200;return new Qe(Je(3.2404542*(i=$e(i)*Ge)-1.5371385*(n=$e(n)*We)-.4985314*(a=$e(a)*Ze)),Je(-.969266*i+1.8760108*n+.041556*a),Je(.0556434*i-.2040259*n+1.0572252*a))}function $e(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function Ke(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function Je(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function Qe(e,t,r){return this instanceof Qe?(this.r=~~e,this.g=~~t,void(this.b=~~r)):arguments.length<2?e instanceof Qe?new Qe(e.r,e.g,e.b):it(""+e,Qe,je):new Qe(e,t,r)}function et(e){return new Qe(e>>16,e>>8&255,255&e)}function tt(e){return et(e)+""}Ye.brighter=function(e){return new qe(Math.min(100,this.l+He*(arguments.length?e:1)),this.a,this.b)},Ye.darker=function(e){return new qe(Math.max(0,this.l-He*(arguments.length?e:1)),this.a,this.b)},Ye.rgb=function(){return Xe(this.l,this.a,this.b)},e.rgb=Qe;var rt=Qe.prototype=new Re;function nt(e){return e<16?"0"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function it(e,t,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(e=e.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(lt(i[0]),lt(i[1]),lt(i[2]))}return(a=ct.get(e))?t(a.r,a.g,a.b):(null!=e&&"#"===e.charAt(0)&&!isNaN(a=parseInt(e.slice(1),16))&&(4===e.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===e.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),t(o,s,l))}function at(e,t,r){var n,i,a=Math.min(e/=255,t/=255,r/=255),o=Math.max(e,t,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=e==o?(t-r)/s+(t0&&l<1?0:n),new Fe(n,i,l)}function ot(e,t,r){var n=Ke((.4124564*(e=st(e))+.3575761*(t=st(t))+.1804375*(r=st(r)))/Ge),i=Ke((.2126729*e+.7151522*t+.072175*r)/We);return qe(116*i-16,500*(n-i),200*(i-Ke((.0193339*e+.119192*t+.9503041*r)/Ze)))}function st(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function lt(e){var t=parseFloat(e);return"%"===e.charAt(e.length-1)?Math.round(2.55*t):t}rt.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,r=this.g,n=this.b,i=30;return t||r||n?(t&&t=200&&t<300||304===t){try{e=i.call(o,c)}catch(e){return void s.error.call(o,e)}s.load.call(o,e)}else s.error.call(o,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var r=e.event;e.event=t;try{s.progress.call(o,c)}finally{e.event=r}},o.header=function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?l[e]:(null==t?delete l[e]:l[e]=t+"",o)},o.mimeType=function(e){return arguments.length?(r=null==e?null:e+"",o):r},o.responseType=function(e){return arguments.length?(u=e,o):u},o.response=function(e){return i=e,o},["get","post"].forEach((function(e){o[e]=function(){return o.send.apply(o,[e].concat(n(arguments)))}})),o.send=function(e,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(e,t,!0),null!=r&&!("accept"in l)&&(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",(function(e){i(null,e)})),s.beforesend.call(o,c),c.send(n??null),o},o.abort=function(){return c.abort(),o},e.rebind(o,s,"on"),null==a?o:o.get(function(e){return 1===e.length?function(t,r){e(null==t?r:null)}:e}(a))}ct.forEach((function(e,t){ct.set(e,et(t))})),e.functor=ut,e.xhr=ht(C),e.dsv=function(e,t){var r=new RegExp('["'+e+"\n]"),n=e.charCodeAt(0);function i(e,r,n){arguments.length<3&&(n=r,r=null);var i=ft(e,t,null==r?a:o(r),n);return i.row=function(e){return arguments.length?i.response(null==(r=e)?a:o(e)):r},i}function a(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function s(t){return t.map(l).join(e)}function l(e){return r.test(e)?'"'+e.replace(/\"/g,'""')+'"':e}return i.parse=function(e,t){var r;return i.parseRows(e,(function(e,n){if(r)return r(e,n-1);var i=function(t){for(var r={},n=e.length,i=0;i=l)return o;if(i)return i=!1,a;var t=c;if(34===e.charCodeAt(t)){for(var r=t;r++24?(isFinite(t)&&(clearTimeout(gt),gt=setTimeout(xt,t)),mt=0):(mt=1,yt(xt))}function _t(){for(var e=Date.now(),t=pt;t;)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function bt(){for(var e,t=pt,r=1/0;t;)t.c?(t.t1&&Ce(e[r[n-2]],e[r[n-1]],e[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function At(e,t){return e[0]-t[0]||e[1]-t[1]}e.timer=function(){vt.apply(this,arguments)},e.timer.flush=function(){_t(),bt()},e.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},e.geom={},e.geom.hull=function(e){var t=wt,r=Tt;if(arguments.length)return n(e);function n(e){if(e.length<3)return[];var n,i=ut(t),a=ut(r),o=e.length,s=[],l=[];for(n=0;n=0;--n)p.push(e[s[c[n]][2]]);for(n=+h;nwe)s=s.L;else{if(!((i=a-qt(s,o))>we)){n>-we?(t=s.P,r=s):i>-we?(t=s,r=s.N):t=r=s;break}if(!s.R){t=s;break}s=s.R}var l=Bt(e);if(Pt.insert(t,l),t||r){if(t===r)return Yt(t),r=Bt(t.site),Pt.insert(l,r),l.edge=r.edge=Kt(t.site,l.site),Zt(t),void Zt(r);if(!r)return void(l.edge=Kt(t.site,l.site));Yt(t),Yt(r);var c=t.site,u=c.x,h=c.y,f=e.x-u,p=e.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};Qt(r.edge,c,d,_),l.edge=Kt(c,e,null,_),r.edge=Kt(e,d,null,_),Zt(t),Zt(r)}}function Vt(e,t){var r=e.site,n=r.x,i=r.y,a=i-t;if(!a)return n;var o=e.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-t;if(!c)return s;var u=s-n,h=1/a-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function qt(e,t){var r=e.N;if(r)return Vt(r,t);var n=e.site;return n.y===t?n.x:1/0}function Ht(e){this.site=e,this.edges=[]}function Gt(e,t){return t.angle-e.angle}function Wt(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zt(e){var t=e.P,r=e.N;if(t&&r){var n=t.site,i=e.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-1e-12)){var f=l*l+c*c,p=u*u+g*g,d=(g*f-c*p)/h,m=(l*p-u*f)/h,g=m+s,y=Rt.pop()||new Wt;y.arc=e,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+m*m),y.cy=g,e.circle=y;for(var v=null,x=Dt._;x;)if(y.y=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(a/=f,f<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>u&&(u=a)}else if(f>0){if(a0)){if(a/=p,p<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>u&&(u=a)}else if(p>0){if(a0&&(i.a={x:l+u*f,y:c+u*p}),h<1&&(i.b={x:l+h*f,y:c+h*p}),i}}}}}}(e[0][0],e[0][1],e[1][0],e[1][1]),i=r.length;i--;)(!Xt(t=r[i],e)||!n(t)||v(t.a.x-t.b.x)we||v(i-r)>we)&&(s.splice(o,0,new er(Jt(a.site,u,v(n-h)we?{x:h,y:v(t-h)we?{x:v(r-d)we?{x:f,y:v(t-f)we?{x:v(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=e[s]})),t}function s(e){return e.map((function(e,t){return{x:Math.round(n(e,t)/we)*we,y:Math.round(i(e,t)/we)*we,i:t}}))}return o.links=function(e){return or(s(e)).edges.filter((function(e){return e.l&&e.r})).map((function(t){return{source:e[t.l.i],target:e[t.r.i]}}))},o.triangles=function(e){var t=[];return or(s(e)).cells.forEach((function(r,n){for(var i,a=r.site,o=r.edges.sort(Gt),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++sa&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:mr(r,n)})),a=vr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=_),b>g&&(g=b),c.push(_),u.push(b)}var w=m-p,T=g-d;function k(e,t,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(e.leaf){var l=e.x,c=e.y;if(null!=l)if(v(l-r)+v(c-n)<.01)A(e,t,r,n,i,a,o,s);else{var u=e.point;e.x=e.y=e.point=null,A(e,u,l,c,i,a,o,s),A(e,t,r,n,i,a,o,s)}else e.x=r,e.y=n,e.point=t}else A(e,t,r,n,i,a,o,s)}function A(e,t,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,f=h<<1|u;e.leaf=!1,u?i=l:o=l,h?a=c:s=c,k(e=e.nodes[f]||(e.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),t,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(e){k(M,e,+y(e,++h),+x(e,h),p,d,m,g)},visit:function(e){fr(e,M,p,d,m,g)},find:function(e){return function(e,t,r,n,i,a,o){var s,l=1/0;return function e(c,u,h,f,p){if(!(u>a||h>o||f=b)<<1|t>=_,T=w+4;w=0&&!(n=e.interpolators[i](t,r)););return n}function _r(e,t){var r,n=[],i=[],a=e.length,o=t.length,s=Math.min(e.length,t.length);for(r=0;r=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function Cr(e){return 1-Math.cos(e*Me)}function Ir(e){return Math.pow(2,10*(e-1))}function Lr(e){return 1-Math.sqrt(1-e*e)}function Pr(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function zr(e,t){return t-=e,function(r){return Math.round(e+t*r)}}function Dr(e){var t=[e.a,e.b],r=[e.c,e.d],n=Rr(t),i=Or(t,r),a=Rr(function(e,t,r){return e[0]+=r*t[0],e[1]+=r*t[1],e}(r,t,-i))||0;t[0]*r[1]=0?e.slice(0,t):e,i=t>=0?e.slice(t+1):"in";return n=wr.get(n)||br,function(e){return function(t){return t<=0?0:t>=1?1:e(t)}}((i=Tr.get(i)||C)(n.apply(null,r.call(arguments,1))))},e.interpolateHcl=function(t,r){t=e.hcl(t),r=e.hcl(r);var n=t.h,i=t.c,a=t.l,o=r.h-n,s=r.c-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.c:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return Ve(n+o*e,i+s*e,a+l*e)+""}},e.interpolateHsl=function(t,r){t=e.hsl(t),r=e.hsl(r);var n=t.h,i=t.s,a=t.l,o=r.h-n,s=r.s-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.s:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return je(n+o*e,i+s*e,a+l*e)+""}},e.interpolateLab=function(t,r){t=e.lab(t),r=e.lab(r);var n=t.l,i=t.a,a=t.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(e){return Xe(n+o*e,i+s*e,a+l*e)+""}},e.interpolateRound=zr,e.transform=function(t){var r=i.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(e){if(null!=e){r.setAttribute("transform",e);var t=r.transform.baseVal.consolidate()}return new Dr(t?t.matrix:Fr)})(t)},Dr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Fr={a:1,b:0,c:0,d:1,e:0,f:0};function Br(e){return e.length?e.pop()+",":""}function jr(t,r){var n=[],i=[];return t=e.transform(t),r=e.transform(r),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(t[0]||t[1])&&r.push("translate("+t+")")}(t.translate,r.translate,n,i),function(e,t,r,n){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),n.push({i:r.push(Br(r)+"rotate(",null,")")-2,x:mr(e,t)})):t&&r.push(Br(r)+"rotate("+t+")")}(t.rotate,r.rotate,n,i),function(e,t,r,n){e!==t?n.push({i:r.push(Br(r)+"skewX(",null,")")-2,x:mr(e,t)}):t&&r.push(Br(r)+"skewX("+t+")")}(t.skew,r.skew,n,i),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(Br(r)+"scale(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(1!==t[0]||1!==t[1])&&r.push(Br(r)+"scale("+t+")")}(t.scale,r.scale,n,i),t=r=null,function(e){for(var t,r=-1,a=i.length;++r0?n=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:n=0})):e>0&&(l.start({type:"start",alpha:n=e}),t=vt(s.tick)),s):n},s.start=function(){var e,t,r,n=y.length,l=v.length,u=c[0],d=c[1];for(e=0;e=0;)r.push(i[n])}function en(e,t){for(var r=[e],n=[];null!=(e=r.pop());)if(n.push(e),(a=e.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return en(i,(function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)})),s}return n.sort=function(t){return arguments.length?(e=t,n):e},n.children=function(e){return arguments.length?(t=e,n):t},n.value=function(e){return arguments.length?(r=e,n):r},n.revalue=function(e){return r&&(Qr(e,(function(e){e.children&&(e.value=0)})),en(e,(function(e){var t;e.children||(e.value=+r.call(n,e,e.depth)||0),(t=e.parent)&&(t.value+=e.value)}))),e},n},e.layout.partition=function(){var t=e.layout.hierarchy(),r=[1,1];function n(e,t,r,i){var a=e.children;if(e.x=t,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(r=e.value?r/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=t);return n}function mn(e){return e.reduce(gn,0)}function gn(e,t){return e+t[1]}function yn(e,t){return vn(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function vn(e,t){for(var r=-1,n=+e[0],i=(e[1]-n)/t,a=[];++r<=t;)a[r]=i*r+n;return a}function xn(t){return[e.min(t),e.max(t)]}function _n(e,t){return e.value-t.value}function bn(e,t){var r=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=r,r._pack_prev=t}function wn(e,t){e._pack_next=t,t._pack_prev=e}function Tn(e,t){var r=t.x-e.x,n=t.y-e.y,i=e.r+t.r;return.999*i*i>r*r+n*n}function kn(e){if((t=e.children)&&(l=t.length)){var t,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(t.forEach(An),(r=t[0]).x=-r.r,r.y=0,x(r),l>1&&((n=t[1]).x=n.r,n.y=0,x(n),l>2))for(En(r,n,i=t[2]),x(i),bn(r,i),r._pack_prev=i,bn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[e.bisect(f,l,1,d)-1]).y+=m,s.push(a[o]));return c}return a.value=function(e){return arguments.length?(r=e,a):r},a.range=function(e){return arguments.length?(n=ut(e),a):n},a.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return vn(t,e)}:ut(e),a):i},a.frequency=function(e){return arguments.length?(t=!!e,a):t},a},e.layout.pack=function(){var t,r=e.layout.hierarchy().sort(_n),n=0,i=[1,1];function a(e,a){var o=r.call(this,e,a),s=o[0],l=i[0],c=i[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,en(s,(function(e){e.r=+u(e.value)})),en(s,kn),n){var h=n*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;en(s,(function(e){e.r+=h})),en(s,kn),en(s,(function(e){e.r-=h}))}return Sn(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(e){return arguments.length?(i=e,a):i},a.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,a):t},a.padding=function(e){return arguments.length?(n=+e,a):n},Jr(a,r)},e.layout.tree=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=null;function a(e,a){var c=t.call(this,e,a),u=c[0],h=function(e){for(var t,r={A:null,children:[e]},n=[r];null!=(t=n.pop());)for(var i,a=t.children,o=0,s=a.length;op.x&&(p=e),e.depth>d.depth&&(d=e)}));var m=r(f,p)/2-f.x,g=n[0]/(p.x+r(p,f)/2+m),y=n[1]/(d.depth||1);Qr(u,(function(e){e.x=(e.x+m)*g,e.y=e.depth*y}))}return c}function o(e){var t=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(t.length){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(e);var a=(t[0].z+t[t.length-1].z)/2;i?(e.z=i.z+r(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+r(e._,i._));e.parent.A=function(e,t,n){if(t){for(var i,a=e,o=e,s=t,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=Ln(s),a=In(a),s&&a;)l=In(l),(o=Ln(o)).a=e,(i=s.z+h-a.z-c+r(s._,a._))>0&&(Pn(zn(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!Ln(o)&&(o.t=s,o.m+=h-u),a&&!In(l)&&(l.t=a,l.m+=c-f,n=e)}return n}(e,i,e.parent.A||n[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=n[0],e.y=e.depth*n[1]}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e)?l:null,a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null==(n=e)?null:l,a):i?n:null},Jr(a,t)},e.layout.cluster=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=!1;function a(a,o){var s,l=t.call(this,a,o),c=l[0],u=0;en(c,(function(t){var n=t.children;n&&n.length?(t.x=function(e){return e.reduce((function(e,t){return e+t.x}),0)/e.length}(n),t.y=function(t){return 1+e.max(t,(function(e){return e.y}))}(n)):(t.x=s?u+=r(t,s):0,t.y=0,s=t)}));var h=Dn(c),f=On(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return en(c,i?function(e){e.x=(e.x-c.x)*n[0],e.y=(c.y-e.y)*n[1]}:function(e){e.x=(e.x-p)/(d-p)*n[0],e.y=(1-(c.y?e.y/c.y:1))*n[1]}),l}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e),a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null!=(n=e),a):i?n:null},Jr(a,t)},e.layout.treemap=function(){var t,r=e.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=Rn,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(e,t){for(var r,n,i=-1,a=e.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,m))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),t.forEach(h)}}function f(e){var t=e.children;if(t&&t.length){var r,n=o(e),i=t.slice(),a=[];for(u(i,n.dx*n.dy/e.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);t.forEach(f)}}function p(e,t){for(var r,n=e.area,i=0,a=1/0,o=-1,s=e.length;++oi&&(i=r));return t*=t,(n*=n)?Math.max(t*i*c/n,n/(t*a*c)):1/0}function d(e,t,r,i){var a,o=-1,s=e.length,l=r.x,c=r.y,u=t?n(e.area/t):0;if(t==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return e+t*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=e.random.normal.apply(e,arguments);return function(){return Math.exp(t())}},bates:function(t){var r=e.random.irwinHall(t);return function(){return r()/t}},irwinHall:function(e){return function(){for(var t=0,r=0;r2?Hn:Nn,l=n?Ur:Nr;return i=o(e,t,l,r),a=o(t,e,l,xr),s}function s(e){return i(e)}return s.invert=function(e){return a(e)},s.domain=function(t){return arguments.length?(e=t.map(Number),o()):e},s.range=function(e){return arguments.length?(t=e,o()):t},s.rangeRound=function(e){return s.range(e).interpolate(zr)},s.clamp=function(e){return arguments.length?(n=e,o()):n},s.interpolate=function(e){return arguments.length?(r=e,o()):r},s.ticks=function(t){return Xn(e,t)},s.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},s.nice=function(t){return Zn(e,t),o()},s.copy=function(){return Gn(e,t,r,n)},o()}function Wn(t,r){return e.rebind(t,r,"range","rangeRound","interpolate","clamp")}function Zn(e,t){return Un(e,Vn(Yn(e,t)[2])),Un(e,Vn(Yn(e,t)[2])),e}function Yn(e,t){null==t&&(t=10);var r=Bn(e),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/t)/Math.LN10)),a=t/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Xn(t,r){return e.range.apply(e,Yn(t,r))}function $n(e,t,r,n){function i(e){return(r?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(t)}function a(e){return r?Math.pow(t,e):-Math.pow(t,-e)}function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(r=t[0]>=0,e.domain((n=t.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(t=+r,e.domain(n.map(i)),o):t},o.nice=function(){var t=Un(n.map(i),r?Math:Kn);return e.domain(t),n=t.map(a),o},o.ticks=function(){var e=Bn(n),o=[],s=e[0],l=e[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=t%1?2:t;if(isFinite(u-c)){if(r){for(;c0;f--)o.push(a(c)*f);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return $n(e.copy(),t,r,n)},Wn(o,e)}e.scale.linear=function(){return Gn([0,1],[0,1],xr,!1)},e.scale.log=function(){return $n(e.scale.linear().domain([0,1]),10,!0,[1,10])};var Kn={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};function Jn(e,t,r){var n=Qn(t),i=Qn(1/t);function a(t){return e(n(t))}return a.invert=function(t){return i(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain((r=t.map(Number)).map(n)),a):r},a.ticks=function(e){return Xn(r,e)},a.tickFormat=function(e,t){return d3_scale_linearTickFormat(r,e,t)},a.nice=function(e){return a.domain(Zn(r,e))},a.exponent=function(o){return arguments.length?(n=Qn(t=o),i=Qn(1/t),e.domain(r.map(n)),a):t},a.copy=function(){return Jn(e.copy(),t,r)},Wn(a,e)}function Qn(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function ei(t,r){var n,i,a;function o(e){return i[((n.get(e)||("range"===r.t?n.set(e,t.push(e)):NaN))-1)%i.length]}function s(r,n){return e.range(t.length).map((function(e){return r+n*e}))}return o.domain=function(e){if(!arguments.length)return t;t=[],n=new _;for(var i,a=-1,s=e.length;++a0?n[e-1]:t[0],eh?0:1;if(c=Ae)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===ui?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ie(g/c*Math.sin(y))),s&&(M=Ie(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Te?0:1;if(S&&gi(v,x,_,b)===p^C){var I=(u+h)/2;v=c*Math.cos(I),x=c*Math.sin(I),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var L=Math.abs(u-h+2*M)<=Te?0:1;if(M&&gi(w,T,k,A)===1-p^L){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>we&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function yi(e,t,r,n,i){var a=e[0]-t[0],o=e[1]-t[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=e[0]+l,h=e[1]+c,f=t[0]+l,p=t[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function vi(){return!0}function xi(e){var t=wt,r=Tt,n=vi,i=bi,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=ut(t),p=ut(r);function d(){l.push("M",i(e(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":Ti,"step-after":ki,basis:Si,"basis-open":function(e){if(e.length<4)return bi(e);for(var t,r=[],n=-1,i=e.length,a=[0],o=[0];++n<3;)t=e[n],a.push(t[0]),o.push(t[1]);for(r.push(Ei(Li,a)+","+Ei(Li,o)),--n;++n9&&(i=3*t/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(e[Math.min(l,s+1)][0]-e[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(e))}});function bi(e){return e.length>1?e.join("L"):e+"Z"}function wi(e){return e.join("L")+"Z"}function Ti(e){for(var t=0,r=e.length,n=e[0],i=[n[0],",",n[1]];++t1){s=t[1],a=e[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cTe)+",1 "+t}function l(e,t,r,n){return"Q 0,0 "+n}return a.radius=function(e){return arguments.length?(r=ut(e),a):r},a.source=function(t){return arguments.length?(e=ut(t),a):e},a.target=function(e){return arguments.length?(t=ut(e),a):t},a.startAngle=function(e){return arguments.length?(n=ut(e),a):n},a.endAngle=function(e){return arguments.length?(i=ut(e),a):i},a},e.svg.diagonal=function(){var e=Ri,t=Fi,r=ji;function n(n,i){var a=e.call(this,n,i),o=t.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(t){return arguments.length?(e=ut(t),n):e},n.target=function(e){return arguments.length?(t=ut(e),n):t},n.projection=function(e){return arguments.length?(r=e,n):r},n},e.svg.diagonal.radial=function(){var t=e.svg.diagonal(),r=ji,n=t.projection;return t.projection=function(e){return arguments.length?n(function(e){return function(){var t=e.apply(this,arguments),r=t[0],n=t[1]-Me;return[r*Math.cos(n),r*Math.sin(n)]}}(r=e)):r},t},e.svg.symbol=function(){var e=Ui,t=Ni;function r(r,n){return(qi.get(e.call(this,r,n))||Vi)(t.call(this,r,n))}return r.type=function(t){return arguments.length?(e=ut(t),r):e},r.size=function(e){return arguments.length?(t=ut(e),r):t},r};var qi=e.map({circle:Vi,cross:function(e){var t=Math.sqrt(e/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(e){var t=Math.sqrt(e/(2*Gi)),r=t*Gi;return"M0,"+-t+"L"+r+",0 0,"+t+" "+-r+",0Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+r+"L"+t+","+-r+" "+-t+","+-r+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+-r+"L"+t+","+r+" "+-t+","+r+"Z"}});e.svg.symbolTypes=qi.keys();var Hi=Math.sqrt(3),Gi=Math.tan(30*Se);G.transition=function(e){for(var t,r,n=Xi||++Ji,i=ta(e),a=[],o=$i||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(e,o);if(a>=1)return h.event&&h.event.end.call(e,e.__data__,t),--u.count?delete u[n]:delete e[r],1}h||(a=i.time,o=vt((function(e){var t=h.delay;if(o.t=t+a,t<=e)return f(e-t);o.c=f}),0,a),h=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++u.count)}Ki.call=G.call,Ki.empty=G.empty,Ki.node=G.node,Ki.size=G.size,e.transition=function(t,r){return t&&t.transition?Xi?t.transition(r):t:e.selection().transition(t)},e.transition.prototype=Ki,Ki.select=function(e){var t,r,n,i=this.id,a=this.namespace,o=[];e=W(e);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function m(e){e.select(".extent").attr("y",l[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function g(){var h,g,y=this,v=e.select(e.event.target),x=n.of(y,arguments),_=e.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&i,T=!/^(e|w)$/.test(b)&&a,k=v.classed("extent"),A=ve(y),M=e.mouse(y),S=e.select(o(y)).on("keydown.brush",(function(){32==e.event.keyCode&&(k||(h=null,M[0]-=s[1],M[1]-=l[1],k=2),R())})).on("keyup.brush",(function(){32==e.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,R())}));if(e.event.changedTouches?S.on("touchmove.brush",I).on("touchend.brush",P):S.on("mousemove.brush",I).on("mouseup.brush",P),_.interrupt().selectAll("*").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else e.event.altKey&&(h=M.slice());function I(){var t=e.mouse(y),r=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(e.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(t[0]0))return o;do{o.push(a=new Date(+t)),i(t,n),e(t)}while(a=r)for(;e(r),!t(r);)r.setTime(r-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;i(e,-1),!t(e););else for(;--r>=0;)for(;i(e,1),!t(e););}))},a&&(s.count=function(n,i){return t.setTime(+n),r.setTime(+i),e(t),e(r),Math.floor(a(t,r))},s.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?s.filter(o?function(t){return o(t)%e==0}:function(t){return s.count(0,t)%e==0}):s:null}),s}var i=n((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?n((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):i:null};var a=i.range,o=1e3,s=6e4,l=36e5,c=864e5,u=6048e5,h=n((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*o)}),(function(e,t){return(t-e)/o}),(function(e){return e.getUTCSeconds()})),f=h.range,p=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getMinutes()})),d=p.range,m=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o-e.getMinutes()*s)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getHours()})),g=m.range,y=n((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/c}),(function(e){return e.getDate()-1})),v=y.range;function x(e){return n((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/u}))}var _=x(0),b=x(1),w=x(2),T=x(3),k=x(4),A=x(5),M=x(6),S=_.range,E=b.range,C=w.range,I=T.range,L=k.range,P=A.range,z=M.range,D=n((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()})),O=D.range,R=n((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));R.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null};var F=R.range,B=n((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getUTCMinutes()})),j=B.range,N=n((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getUTCHours()})),U=N.range,V=n((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/c}),(function(e){return e.getUTCDate()-1})),q=V.range;function H(e){return n((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/u}))}var G=H(0),W=H(1),Z=H(2),Y=H(3),X=H(4),$=H(5),K=H(6),J=G.range,Q=W.range,ee=Z.range,te=Y.range,re=X.range,ne=$.range,ie=K.range,ae=n((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()})),oe=ae.range,se=n((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));se.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null};var le=se.range;e.timeDay=y,e.timeDays=v,e.timeFriday=A,e.timeFridays=P,e.timeHour=m,e.timeHours=g,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=p,e.timeMinutes=d,e.timeMonday=b,e.timeMondays=E,e.timeMonth=D,e.timeMonths=O,e.timeSaturday=M,e.timeSaturdays=z,e.timeSecond=h,e.timeSeconds=f,e.timeSunday=_,e.timeSundays=S,e.timeThursday=k,e.timeThursdays=L,e.timeTuesday=w,e.timeTuesdays=C,e.timeWednesday=T,e.timeWednesdays=I,e.timeWeek=_,e.timeWeeks=S,e.timeYear=R,e.timeYears=F,e.utcDay=V,e.utcDays=q,e.utcFriday=$,e.utcFridays=ne,e.utcHour=N,e.utcHours=U,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=B,e.utcMinutes=j,e.utcMonday=W,e.utcMondays=Q,e.utcMonth=ae,e.utcMonths=oe,e.utcSaturday=K,e.utcSaturdays=ie,e.utcSecond=h,e.utcSeconds=f,e.utcSunday=G,e.utcSundays=J,e.utcThursday=X,e.utcThursdays=re,e.utcTuesday=Z,e.utcTuesdays=ee,e.utcWednesday=Y,e.utcWednesdays=te,e.utcWeek=G,e.utcWeeks=J,e.utcYear=se,e.utcYears=le,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),T=m({"node_modules/d3-time-format/dist/d3-time-format.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function n(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function i(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function a(e){var a=e.dateTime,o=e.date,l=e.time,c=e.periods,u=e.days,h=e.shortDays,f=e.months,ve=e.shortMonths,xe=p(c),_e=d(c),be=p(u),we=d(u),Te=p(h),ke=d(h),Ae=p(f),Me=d(f),Se=p(ve),Ee=d(ve),Ce={a:function(e){return h[e.getDay()]},A:function(e){return u[e.getDay()]},b:function(e){return ve[e.getMonth()]},B:function(e){return f[e.getMonth()]},c:null,d:O,e:O,f:N,H:R,I:F,j:B,L:j,m:U,M:V,p:function(e){return c[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:ge,s:ye,S:q,u:H,U:G,V:W,w:Z,W:Y,x:null,X:null,y:X,Y:$,Z:K,"%":me},Ie={a:function(e){return h[e.getUTCDay()]},A:function(e){return u[e.getUTCDay()]},b:function(e){return ve[e.getUTCMonth()]},B:function(e){return f[e.getUTCMonth()]},c:null,d:J,e:J,f:ne,H:Q,I:ee,j:te,L:re,m:ie,M:ae,p:function(e){return c[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:ge,s:ye,S:oe,u:se,U:le,V:ce,w:ue,W:he,x:null,X:null,y:fe,Y:pe,Z:de,"%":me},Le={a:function(e,t,r){var n=Te.exec(t.slice(r));return n?(e.w=ke[n[0].toLowerCase()],r+n[0].length):-1},A:function(e,t,r){var n=be.exec(t.slice(r));return n?(e.w=we[n[0].toLowerCase()],r+n[0].length):-1},b:function(e,t,r){var n=Se.exec(t.slice(r));return n?(e.m=Ee[n[0].toLowerCase()],r+n[0].length):-1},B:function(e,t,r){var n=Ae.exec(t.slice(r));return n?(e.m=Me[n[0].toLowerCase()],r+n[0].length):-1},c:function(e,t,r){return De(e,a,t,r)},d:A,e:A,f:L,H:S,I:S,j:M,L:I,m:k,M:E,p:function(e,t,r){var n=xe.exec(t.slice(r));return n?(e.p=_e[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:z,s:D,S:C,u:g,U:y,V:v,w:m,W:x,x:function(e,t,r){return De(e,o,t,r)},X:function(e,t,r){return De(e,l,t,r)},y:b,Y:_,Z:w,"%":P};function Pe(e,t){return function(r){var n,i,a,o=[],l=-1,c=0,u=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in c||(c.w=1),"Z"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?t.utcMonday.ceil(s):t.utcMonday(s),s=t.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?t.timeMonday.ceil(s):t.timeMonday(s),s=t.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function De(e,t,r,n){for(var i,a,o=0,l=t.length,c=r.length;o=c)return-1;if(37===(i=t.charCodeAt(o++))){if(i=t.charAt(o++),!(a=Le[i in s?t.charAt(o++):i])||(n=a(e,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ce.x=Pe(o,Ce),Ce.X=Pe(l,Ce),Ce.c=Pe(a,Ce),Ie.x=Pe(o,Ie),Ie.X=Pe(l,Ie),Ie.c=Pe(a,Ie),{format:function(e){var t=Pe(e+="",Ce);return t.toString=function(){return e},t},parse:function(e){var t=ze(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=Pe(e+="",Ie);return t.toString=function(){return e},t},utcParse:function(e){var t=ze(e+="",!0);return t.toString=function(){return e},t}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function h(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T(e,t,r){var n=l.exec(t.slice(r,r+1));return n?(e.q=3*n[0]-3,r+n[0].length):-1}function k(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function A(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function M(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function S(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function E(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function C(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function I(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function L(e,t,r){var n=l.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(e,t,r){var n=c.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function z(e,t,r){var n=l.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function D(e,t,r){var n=l.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function O(e,t){return h(e.getDate(),t,2)}function R(e,t){return h(e.getHours(),t,2)}function F(e,t){return h(e.getHours()%12||12,t,2)}function B(e,r){return h(1+t.timeDay.count(t.timeYear(e),e),r,3)}function j(e,t){return h(e.getMilliseconds(),t,3)}function N(e,t){return j(e,t)+"000"}function U(e,t){return h(e.getMonth()+1,t,2)}function V(e,t){return h(e.getMinutes(),t,2)}function q(e,t){return h(e.getSeconds(),t,2)}function H(e){var t=e.getDay();return 0===t?7:t}function G(e,r){return h(t.timeSunday.count(t.timeYear(e)-1,e),r,2)}function W(e,r){var n=e.getDay();return e=n>=4||0===n?t.timeThursday(e):t.timeThursday.ceil(e),h(t.timeThursday.count(t.timeYear(e),e)+(4===t.timeYear(e).getDay()),r,2)}function Z(e){return e.getDay()}function Y(e,r){return h(t.timeMonday.count(t.timeYear(e)-1,e),r,2)}function X(e,t){return h(e.getFullYear()%100,t,2)}function $(e,t){return h(e.getFullYear()%1e4,t,4)}function K(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+h(t/60|0,"0",2)+h(t%60,"0",2)}function J(e,t){return h(e.getUTCDate(),t,2)}function Q(e,t){return h(e.getUTCHours(),t,2)}function ee(e,t){return h(e.getUTCHours()%12||12,t,2)}function te(e,r){return h(1+t.utcDay.count(t.utcYear(e),e),r,3)}function re(e,t){return h(e.getUTCMilliseconds(),t,3)}function ne(e,t){return re(e,t)+"000"}function ie(e,t){return h(e.getUTCMonth()+1,t,2)}function ae(e,t){return h(e.getUTCMinutes(),t,2)}function oe(e,t){return h(e.getUTCSeconds(),t,2)}function se(e){var t=e.getUTCDay();return 0===t?7:t}function le(e,r){return h(t.utcSunday.count(t.utcYear(e)-1,e),r,2)}function ce(e,r){var n=e.getUTCDay();return e=n>=4||0===n?t.utcThursday(e):t.utcThursday.ceil(e),h(t.utcThursday.count(t.utcYear(e),e)+(4===t.utcYear(e).getUTCDay()),r,2)}function ue(e){return e.getUTCDay()}function he(e,r){return h(t.utcMonday.count(t.utcYear(e)-1,e),r,2)}function fe(e,t){return h(e.getUTCFullYear()%100,t,2)}function pe(e,t){return h(e.getUTCFullYear()%1e4,t,4)}function de(){return"+0000"}function me(){return"%"}function ge(e){return+e}function ye(e){return Math.floor(+e/1e3)}function ve(t){return o=a(t),e.timeFormat=o.format,e.timeParse=o.parse,e.utcFormat=o.utcFormat,e.utcParse=o.utcParse,o}ve({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"]});var xe="%Y-%m-%dT%H:%M:%S.%LZ",_e=Date.prototype.toISOString?function(e){return e.toISOString()}:e.utcFormat(xe),be=+new Date("2000-01-01T00:00:00.000Z")?function(e){var t=new Date(e);return isNaN(t)?null:t}:e.utcParse(xe);e.isoFormat=_e,e.isoParse=be,e.timeFormatDefaultLocale=ve,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,w()):n((r=r||self).d3=r.d3||{},r.d3)}}),k=m({"node_modules/d3-format/dist/d3-format.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function r(e){return(e=t(Math.abs(e)))?e[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(e){if(!(t=i.exec(e)))throw new Error("invalid format: "+e);var t;return new o({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function o(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function s(e,r){var n=t(e,r);if(!n)return e+"";var i=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}a.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var l={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return s(100*e,t)},r:s,s:function(e,r){var i=t(e,r);if(!i)return e+"";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+t(e,Math.max(0,r+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function c(e){return e}var u,h=Array.prototype.map,f=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function p(e){var t=void 0===e.grouping||void 0===e.thousands?c:function(e,t){return function(r,n){for(var i=r.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(r.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}(h.call(e.grouping,Number),e.thousands+""),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",s=void 0===e.decimal?".":e.decimal+"",u=void 0===e.numerals?c:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(h.call(e.numerals,String)),p=void 0===e.percent?"%":e.percent+"",d=void 0===e.minus?"-":e.minus+"",m=void 0===e.nan?"NaN":e.nan+"";function g(e){var r=(e=a(e)).fill,c=e.align,h=e.sign,g=e.symbol,y=e.zero,v=e.width,x=e.comma,_=e.precision,b=e.trim,w=e.type;"n"===w?(x=!0,w="g"):l[w]||(void 0===_&&(_=12),b=!0,w="g"),(y||"0"===r&&"="===c)&&(y=!0,r="0",c="=");var T="$"===g?i:"#"===g&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===g?o:/[%p]/.test(w)?p:"",A=l[w],M=/[defgprs%]/.test(w);function S(e){var i,a,o,l=T,p=k;if("c"===w)p=A(e)+p,e="";else{var g=(e=+e)<0||1/e<0;if(e=isNaN(e)?m:A(Math.abs(e),_),b&&(e=function(e){e:for(var t,r=e.length,n=1,i=-1;n0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),g&&0==+e&&"+"!==h&&(g=!1),l=(g?"("===h?h:d:"-"===h||"("===h?"":h)+l,p=("s"===w?f[8+n/3]:"")+p+(g&&"("===h?")":""),M)for(i=-1,a=e.length;++i(o=e.charCodeAt(i))||o>57){p=(46===o?s+e.slice(i+1):e.slice(i))+p,e=e.slice(0,i);break}}x&&!y&&(e=t(e,1/0));var S=l.length+e.length+p.length,E=S>1)+l+e+p+E.slice(S);break;default:e=E+l+e+p}return u(e)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return e+""},S}return{format:g,formatPrefix:function(e,t){var n=g(((e=a(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(r(t)/3))),o=Math.pow(10,-i),s=f[8+i/3];return function(e){return n(o*e)+s}}}}function d(t){return u=p(t),e.format=u.format,e.formatPrefix=u.formatPrefix,u}d({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),e.FormatSpecifier=o,e.formatDefaultLocale=d,e.formatLocale=p,e.formatSpecifier=a,e.precisionFixed=function(e){return Math.max(0,-r(Math.abs(e)))},e.precisionPrefix=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(t)/3)))-r(Math.abs(e)))},e.precisionRound=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,r(t)-r(e))+1},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self).d3=r.d3||{})}}),A=m({"node_modules/is-string-blank/index.js"(e,t){t.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}}}),M=m({"node_modules/fast-isnumeric/index.js"(e,t){var r=A();t.exports=function(e){var t=typeof e;if("string"===t){var n=e;if(0==(e=+e)&&r(n))return!1}else if("number"!==t)return!1;return e-e<1}}}),S=m({"src/constants/numerical.js"(e,t){t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,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:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}}}),E=m({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(e,t){var r,n;r=e,n=function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array>"u"?[]:new Uint8Array(256),n=0;n<64;n++)r[t.charCodeAt(n)]=n;e.decode=function(e){var t,n,i,a,o,s=.75*e.length,l=e.length,c=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(t=0;t>4,h[c++]=(15&i)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u},e.encode=function(e){var r,n=new Uint8Array(e),i=n.length,a="";for(r=0;r>2],a+=t[(3&n[r])<<4|n[r+1]>>4],a+=t[(15&n[r+1])<<2|n[r+2]>>6],a+=t[63&n[r+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self)["base64-arraybuffer"]={})}}),C=m({"src/lib/is_plain_object.js"(e,t){t.exports=function(e){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(e):"[object Object]"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e).hasOwnProperty("hasOwnProperty")}}}),I=m({"src/lib/array.js"(e){var t=E().decode,r=C(),n=Array.isArray,i=ArrayBuffer,a=DataView;function o(e){return i.isView(e)&&!(e instanceof a)}function s(e){return n(e)||o(e)}e.isTypedArray=o,e.isArrayOrTypedArray=s,e.isArray1D=function(e){return!s(e[0])},e.ensureArray=function(e,t){return n(e)||(e=[]),e.length=t,e};var l={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};function c(e){return e.constructor===ArrayBuffer}function u(e,t,r){if(s(e)){if(s(e[0])){for(var n=r,i=0;i2)return c[t]=2|c[t],f.set(e,null);if(h){for(o=t;o0)return Math.log(e)/Math.LN10;var n=Math.log(Math.min(t[0],t[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),n}}}),O=m({"src/lib/relink_private.js"(e,t){var r=I().isArrayOrTypedArray,n=C();t.exports=function e(t,i){for(var a in i){var o=i[a],s=t[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in t)continue;t[a]=o}else if(r(o)&&r(s)&&n(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;ct/2?e-Math.round(e/t)*t:e}}}}),F=m({"node_modules/tinycolor2/tinycolor.js"(e,t){!function(e){var r=/^\s+/,n=/\s+$/,i=0,a=e.round,o=e.min,s=e.max,l=e.random;function c(t,l){if(l=l||{},(t=t||"")instanceof c)return t;if(!(this instanceof c))return new c(t,l);var u=function(t){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,h=!1,f=!1;return"string"==typeof t&&(t=function(e){e=e.replace(r,"").replace(n,"").toLowerCase();var t,i=!1;if(S[e])e=S[e],i=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=N.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=N.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=N.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=N.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=N.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=N.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=N.hex8.exec(e))?{r:P(t[1]),g:P(t[2]),b:P(t[3]),a:R(t[4]),format:i?"name":"hex8"}:(t=N.hex6.exec(e))?{r:P(t[1]),g:P(t[2]),b:P(t[3]),format:i?"name":"hex"}:(t=N.hex4.exec(e))?{r:P(t[1]+""+t[1]),g:P(t[2]+""+t[2]),b:P(t[3]+""+t[3]),a:R(t[4]+""+t[4]),format:i?"name":"hex8"}:!!(t=N.hex3.exec(e))&&{r:P(t[1]+""+t[1]),g:P(t[2]+""+t[2]),b:P(t[3]+""+t[3]),format:i?"name":"hex"}}(t)),"object"==typeof t&&(U(t.r)&&U(t.g)&&U(t.b)?(i=function(e,t,r){return{r:255*I(e,255),g:255*I(t,255),b:255*I(r,255)}}(t.r,t.g,t.b),h=!0,f="%"===String(t.r).substr(-1)?"prgb":"rgb"):U(t.h)&&U(t.s)&&U(t.v)?(l=D(t.s),c=D(t.v),i=function(t,r,n){t=6*I(t,360),r=I(r,100),n=I(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(t.h,l,c),h=!0,f="hsv"):U(t.h)&&U(t.s)&&U(t.l)&&(l=D(t.s),u=D(t.l),i=function(e,t,r){var n,i,a;function o(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=I(e,360),t=I(t,100),r=I(r,100),0===t)n=i=a=r;else{var s=r<.5?r*(1+t):r+t-r*t,l=2*r-s;n=o(l,s,e+1/3),i=o(l,s,e),a=o(l,s,e-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,l,u),h=!0,f="hsl"),t.hasOwnProperty("a")&&(a=t.a)),a=C(a),{ok:h,format:t.format||f,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a}}(t);this._originalInput=t,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(e,t,r){e=I(e,255),t=I(t,255),r=I(r,255);var n,i,a=s(e,t,r),l=o(e,t,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case e:n=(t-r)/u+(t>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(c(n));return a}function M(e,t){t=t||6;for(var r=c(e).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/t;t--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.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 e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var t,r,n,i=this.toRgb();return t=i.r/255,r=i.g/255,n=i.b/255,.2126*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=C(e),this._roundA=a(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=a(360*e.h),r=a(100*e.s),n=a(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=u(this._r,this._g,this._b),t=a(360*e.h),r=a(100*e.s),n=a(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return f(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,i){var o=[z(a(e).toString(16)),z(a(t).toString(16)),z(a(r).toString(16)),z(O(n))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*I(this._r,255))+"%",g:a(100*I(this._g,255))+"%",b:a(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*I(this._r,255))+"%, "+a(100*I(this._g,255))+"%, "+a(100*I(this._b,255))+"%)":"rgba("+a(100*I(this._r,255))+"%, "+a(100*I(this._g,255))+"%, "+a(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+p(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var i=c(e);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(b,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:D(e[n]));e=r}return c(e,t)},c.equals=function(e,t){return!(!e||!t)&&c(e).toRgbString()==c(t).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(e,t,r){r=0===r?0:r||50;var n=c(e).toRgb(),i=c(t).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(t,r){var n=c(t),i=c(r);return(e.max(n.getLuminance(),i.getLuminance())+.05)/(e.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(e,t,r){var n,i,a=c.readability(e,t);switch(i=!1,n=function(e){var t,r;return"AA"!==(t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==t&&(t="AA"),"small"!==(r=(e.size||"small").toLowerCase())&&"large"!==r&&(r="small"),{level:t,size:r}}(r),n.level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(e,t,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(t[u]));return c.isReadable(e,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(e,["#fff","#000"],r))};var S=c.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"},E=c.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(S);function C(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function I(t,r){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(t)&&(t="100%");var n=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(t);return t=o(r,s(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function L(e){return o(1,s(0,e))}function P(e){return parseInt(e,16)}function z(e){return 1==e.length?"0"+e:""+e}function D(e){return e<=1&&(e=100*e+"%"),e}function O(t){return e.round(255*parseFloat(t)).toString(16)}function R(e){return P(e)/255}var F,B,j,N=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",j="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+j),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 U(e){return!!N.CSS_UNIT.exec(e)}typeof t<"u"&&t.exports?t.exports=c:window.tinycolor=c}(Math)}}),B=m({"src/lib/extend.js"(e){var t=C(),r=Array.isArray;function n(e,i,a,o){var s,l,c,u,h,f,p,d=e[0],m=e.length;if(2===m&&r(d)&&r(e[1])&&0===d.length){if(p=function(e,t){var r,n;for(r=0;r=0)))return e;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return e}var s=Math.round(255*i[0])+", "+Math.round(255*i[1])+", "+Math.round(255*i[2]);return a?"rgba("+s+", "+i[3]+")":"rgb("+s+")"}a.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"},a.rgb=function(e){return a.tinyRGB(r(e))},a.opacity=function(e){return e?r(e).getAlpha():0},a.addOpacity=function(e,t){var n=r(e).toRgb();return"rgba("+Math.round(n.r)+", "+Math.round(n.g)+", "+Math.round(n.b)+", "+t+")"},a.combine=function(e,t){var n=r(e).toRgb();if(1===n.a)return r(e).toRgbString();var i=r(t||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-n.a)+n.r*n.a,g:a.g*(1-n.a)+n.g*n.a,b:a.b*(1-n.a)+n.b*n.a};return r(o).toRgbString()},a.interpolate=function(e,t,n){var i=r(e).toRgb(),a=r(t).toRgb(),o={r:n*i.r+(1-n)*a.r,g:n*i.g+(1-n)*a.g,b:n*i.b+(1-n)*a.b};return r(o).toRgbString()},a.contrast=function(e,t,n){var i=r(e);return 1!==i.getAlpha()&&(i=r(a.combine(e,l))),(i.isDark()?t?i.lighten(t):l:n?i.darken(n):s).toString()},a.stroke=function(e,t){var n=r(t);e.style({stroke:a.tinyRGB(n),"stroke-opacity":n.getAlpha()})},a.fill=function(e,t){var n=r(t);e.style({fill:a.tinyRGB(n),"fill-opacity":n.getAlpha()})},a.clean=function(e){if(e&&"object"==typeof e){var t,r,n,o,s=Object.keys(e);for(t=0;t!0===e||!1===e;i(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,r,n,i){f(e)&&(e=p(e)),!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)}},integer:{coerceFunction:function(e,r,n,i){-1===(i.extras||[]).indexOf(e)?(f(e)&&(e=p(e)),e%1||!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)):r.set(e)}},string:{coerceFunction:function(e,t,r,n){if("string"!=typeof e){var i="number"==typeof e;!0!==n.strict&&i?t.set(String(e)):t.set(r)}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,n){f(e)&&(e=p(e)),r(e).isValid()?t.set(e):t.set(n)}},colorlist:{coerceFunction:function(e,t,n){Array.isArray(e)&&e.length&&e.every((function(e){return r(e).isValid()}))?t.set(e):t.set(n)}},colorscale:{coerceFunction:function(e,t,r){t.set(a.get(e,r))}},angle:{coerceFunction:function(e,r,n){f(e)&&(e=p(e)),"auto"===e?r.set("auto"):t(e)?r.set(u(+e,360)):r.set(n)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||c(r);let a=e=>"string"==typeof e&&i.test(e);a(e)||n.arrayOk&&h(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r||"string"==typeof e&&!!c(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if(-1===(n.extras||[]).indexOf(e))if("string"==typeof e){for(var i=e.split("+"),a=0;a/g),o=0;o1){var t=["LOG:"];for(e=0;e1){var i=[];for(e=0;e"),"long")}},i.warn=function(){var e;if(r.logging>0){var t=["WARN:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}},i.error=function(){var e;if(r.logging>0){var t=["ERROR:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}}}}),Q=m({"src/lib/noop.js"(e,t){t.exports=function(){}}}),ee=m({"src/lib/push_unique.js"(e,t){t.exports=function(e,t){if(t instanceof RegExp){for(var r=t.toString(),n=0;nf({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>f({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e}),e.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})}}),Be=m({"src/components/shapes/label_texttemplate.js"(e,t){function r(e,t){return t?t.d2l(e):e}function n(e,t){return t?t.l2d(e):e}function i(e){return e.x0shift||0}function a(e){return e.x1shift||0}function o(e){return e.y0shift||0}function s(e){return e.y1shift||0}function l(e,t){return r(e.x1,t)+a(e)-r(e.x0,t)-i(e)}function c(e,t,n){return r(e.y1,n)+s(e)-r(e.y0,n)-o(e)}t.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,r){return"line"!==e.type?void 0:c(e,0,r)/l(e,t)},dx:l,dy:c,width:function(e,t){return Math.abs(l(e,t))},height:function(e,t,r){return Math.abs(c(e,0,r))},length:function(e,t,r){return"line"!==e.type?void 0:Math.sqrt(Math.pow(l(e,t),2)+Math.pow(c(e,0,r),2))},xcenter:function(e,t){return n((r(e.x1,t)+a(e)+r(e.x0,t)+i(e))/2,t)},ycenter:function(e,t,i){return n((r(e.y1,i)+s(e)+r(e.y0,i)+o(e))/2,i)},simpleXVariables:["x0","x1","y0","y1","dy","height","ycenter"],simpleYVariables:["x0","x1","y0","y1","dx","width","xcenter"]}}}),je=m({"src/components/shapes/draw_newshape/attributes.js"(e,t){var r=De().overrideAll,n=q(),i=j(),a=Oe().dash,o=B().extendFlat,{shapeTexttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=Be();t.exports=r({newshape:{visible:o({},n.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:o({},n.legend,{}),legendgroup:o({},n.legendgroup,{}),legendgrouptitle:{text:o({},n.legendgrouptitle.text,{}),font:i({})},legendrank:o({},n.legendrank,{}),legendwidth:o({},n.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:o({},a,{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:o({},n.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:s({newshape:!0},{keys:Object.keys(c)}),texttemplatefallback:l({editType:"arraydraw"}),font:i({}),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)",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")}}),Ne=m({"src/components/selections/draw_newselection/attributes.js"(e,t){var r=Oe().dash,n=B().extendFlat;t.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:n({},r,{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"}}}}),Ue=m({"src/plots/pad_attributes.js"(e,t){t.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}}}}),Ve=m({"src/plots/layout_attributes.js"(e,t){var r=j(),n=ze(),i=G(),a=je(),o=Ne(),s=Ue(),l=B().extendFlat,c=r({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=i.defaultLine,t.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:r({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:r({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:l(s({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:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.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:i.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:a.newshape,activeshape:a.activeshape,newselection:o.newselection,activeselection:o.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},n.transition,{editType:"none"})}}}),qe=m({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){!function(){if(!document.getElementById("8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc")){var e=document.createElement("style");e.id="8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc",e.textContent=".maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}",document.head.appendChild(e)}}()}}),He=m({"src/registry.js"(e){var t=J(),r=Q(),n=ee(),i=C(),a=Pe().addStyleRule,o=B(),s=q(),l=Ve(),c=o.extendFlat,u=o.extendDeepAll;function h(r){var n=r.name,i=r.categories,o=r.meta;if(e.modules[n])t.log("Type "+n+" already registered");else{e.subplotsRegistry[r.basePlotModule.name]||function(r){var n=r.name;if(e.subplotsRegistry[n])t.log("Plot type "+n+" already registered.");else for(var i in m(r),e.subplotsRegistry[n]=r,e.componentsRegistry)y(i,r.name)}(r.basePlotModule);for(var s={},l=0;l=t&&n<=r?n:l}if("string"!=typeof n&&"number"!=typeof n)return l;n=String(n);var _=x(i),b=n.charAt(0);_&&("G"===b||"g"===b)&&(n=n.slice(1),i="");var w=_&&"chinese"===i.slice(0,7),T=n.match(w?y:g);if(!T)return l;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(_){if(2===k.length)return l;var I;k=Number(k);try{var L=d.getComponentMethod("calendars","getCal")(i);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),I=L.newDate(k,L.toMonthIndex(k,A,P),M)}else I=L.newDate(k,Number(A),M)}catch{return l}return I?(I.toJD()-p)*c+S*u+E*h+C*f:l}k=2===k.length?(Number(k)+2e3-v)%100+v:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?l:z.getTime()+C*f},t=e.MIN_MS=e.dateTime2ms("-9999"),r=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==l};var b=90*c,w=3*u,k=5*h;function A(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+_(t,2)+":"+_(r,2),(n||i)&&(e+=":"+_(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;e+="."+_(i,a)}return e}e.ms2DateTime=function(e,n,i){if("number"!=typeof e||!(e>=t&&e<=r))return l;n||(n=0);var a,s,g,y,v,_,T=Math.floor(10*o(e+.05,1)),M=Math.round(e-T/10);if(x(i)){var S=Math.floor(M/c)+p,E=Math.floor(o(e,c));try{a=d.getComponentMethod("calendars","getCal")(i).fromJD(S).formatDate("yyyy-mm-dd")}catch{a=m("G%Y-%m-%d")(new Date(M))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.slice(1);else for(;a.length<10;)a="0"+a;s=n=t+c&&e<=r-c))return l;var i=Math.floor(10*o(e+.05,1)),a=new Date(Math.round(e-i/10));return A(n("%Y-%m-%d")(a),a.getHours(),a.getMinutes(),a.getSeconds(),10*a.getUTCMilliseconds()+i)},e.cleanDate=function(t,r,n){if(t===l)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(x(n))return a.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return a.error("unrecognized date",t),r;return t};var E=/%\d?f/g,C=/%h/g,I={1:"1",2:"1",3:"2",4:"2"};function L(e,t,r,n){e=e.replace(E,(function(e){var r=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(r).slice(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(t+.05));if(e=e.replace(C,(function(){return I[r("%q")(i)]})),x(n))try{e=d.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch{return"Invalid"}return r(e)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(e,t,r,n,a,s){if(a=x(a)&&a,!t)if("y"===r)t=s.year;else if("m"===r)t=s.month;else{if("d"!==r)return function(e,t){var r=o(e+.05,c),n=_(Math.floor(r/u),2)+":"+_(o(Math.floor(r/h),60),2);if("M"!==t){i(t)||(t=0);var a=(100+Math.min(o(e/f,60),P[t])).toFixed(t).slice(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(e,r)+"\n"+L(s.dayMonthYear,e,n,a);t=s.dayMonth+"\n"+s.year}return L(t,e,n,a)};var z=3*c;e.incrementMonth=function(e,t,r){r=x(r)&&r;var n=o(e,c);if(e=Math.round(e-n),r)try{var i=Math.round(e/c)+p,s=d.getComponentMethod("calendars","getCal")(r),l=s.fromJD(i);return t%12?s.add(l,t,"m"):s.add(l,t/12,"y"),(l.toJD()-p)*c+n}catch{a.error("invalid ms "+e+" in calendar "+r)}var u=new Date(e+z);return u.setUTCMonth(u.getUTCMonth()+t)+n-z},e.findExactDates=function(e,t){for(var r,n,a=0,o=0,s=0,l=0,u=x(t)&&d.getComponentMethod("calendars","getCal")(t),h=0;ht}function c(e,t){return e>=t}e.findBin=function(e,n,i){if(t(n.start))return i?Math.ceil((e-n.start)/n.size-a)-1:Math.floor((e-n.start)/n.size+a);var u,h,f=0,p=n.length,d=0,m=p>1?(n[p-1]-n[0])/(p-1):1;for(h=m>=0?i?o:s:i?c:l,e+=m*a*(i?-1:1)*(m>=0?1:-1);f90&&r.log("Long binary search..."),f-1},e.sorterAsc=function(e,t){return e-t},e.sorterDes=function(e,t){return t-e},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===i;r--);for(var a,o=n[r]-n[0]||1,s=o/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-a;void 0===a?(l.push(u),a=u):h>s&&(o=Math.min(o,h),l.push(u),a=u)}return{vals:l,minDiff:o}},e.roundUp=function(e,t,r){for(var n,i=0,a=t.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()},e.findIndexOfMin=function(e,t){t=t||n;for(var r,i=1/0,a=0;aa.length)&&(o=a.length),t(i)||(i=!1),r(a[0])){for(l=new Array(o),s=0;se.length-1)return e[e.length-1];var n=r%1;return n*e[Math.ceil(r)]+(1-n)*e[Math.floor(r)]}}}),$e=m({"src/lib/angles.js"(e,t){var r=R(),n=r.mod,i=r.modHalf,a=Math.PI,o=2*a;function s(e){return Math.abs(e[1]-e[0])>o-1e-14}function l(e,t){return i(t-e,o)}function c(e,t){if(s(t))return!0;var r,i;t[0](i=n(i,o))&&(i+=o);var a=n(e,o),l=a+o;return a>=r&&a<=i||l>=r&&l<=i}function u(e,t,r,n,i,l,c){i=i||0,l=l||0;var u,h,f,p,d,m=s([r,n]);function g(e,t){return[e*Math.cos(t)+i,l-e*Math.sin(t)]}m?(u=0,h=a,f=o):r=i&&e<=a);var i,a},pathArc:function(e,t,r,n,i){return u(null,e,t,r,n,i,0)},pathSector:function(e,t,r,n,i){return u(null,e,t,r,n,i,1)},pathAnnulus:function(e,t,r,n,i,a){return u(e,t,r,n,i,a,1)}}}}),Ke=m({"src/lib/anchor_utils.js"(e){e.isLeftAnchor=function(e){return"left"===e.xanchor||"auto"===e.xanchor&&e.x<=1/3},e.isCenterAnchor=function(e){return"center"===e.xanchor||"auto"===e.xanchor&&e.x>1/3&&e.x<2/3},e.isRightAnchor=function(e){return"right"===e.xanchor||"auto"===e.xanchor&&e.x>=2/3},e.isTopAnchor=function(e){return"top"===e.yanchor||"auto"===e.yanchor&&e.y>=2/3},e.isMiddleAnchor=function(e){return"middle"===e.yanchor||"auto"===e.yanchor&&e.y>1/3&&e.y<2/3},e.isBottomAnchor=function(e){return"bottom"===e.yanchor||"auto"===e.yanchor&&e.y<=1/3}}}),Je=m({"src/lib/geometry2d.js"(e){var t,r,n,i=R().mod;function a(e,t,r,n,i,a,o,s){var l=r-e,c=i-e,u=o-i,h=n-t,f=a-t,p=s-a,d=l*p-u*h;if(0===d)return null;var m=(c*p-u*f)/d,g=(c*h-l*f)/d;return g<0||g>1||m<0||m>1?null:{x:e+l*m,y:t+h*m}}function o(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}var l=n*t-i*e;return l*l/r}e.segmentsIntersect=a,e.segmentDistance=function(e,t,r,n,i,s,l,c){if(a(e,t,r,n,i,s,l,c))return 0;var u=r-e,h=n-t,f=l-i,p=c-s,d=u*u+h*h,m=f*f+p*p,g=Math.min(o(u,h,d,i-e,s-t),o(u,h,d,l-e,c-t),o(f,p,m,e-i,t-s),o(f,p,m,r-i,n-s));return Math.sqrt(g)},e.getTextLocation=function(e,a,o,s){if((e!==r||s!==n)&&(t={},r=e,n=s),t[o])return t[o];var l=e.getPointAtLength(i(o-s/2,a)),c=e.getPointAtLength(i(o+s/2,a)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=e.getPointAtLength(i(o,a)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return t[o]=f,f},e.clearLocationCache=function(){r=null},e.getVisibleSegment=function(e,t,r){var n,i,a=t.left,o=t.right,s=t.top,l=t.bottom,c=0,u=e.getTotalLength(),h=u;function f(t){var r=e.getPointAtLength(t);0===t?n=r:t===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(e,t,r,n){for(var i,a,o,s=(n=n||{}).pathLength||e.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=e.getPointAtLength(0)[r]>e.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++}return a}}}),Qe=m({"src/lib/throttle.js"(e){var t={};function r(e){e&&null!==e.timer&&(clearTimeout(e.timer),e.timer=null)}e.throttle=function(e,n,i){var a=t[e],o=Date.now();if(!a){for(var s in t)t[s].tsa.ts+n?l():a.timer=setTimeout((function(){l(),a.timer=null}),n)},e.done=function(e){var r=t[e];return r&&r.timer?new Promise((function(e){var t=r.onDone;r.onDone=function(){t&&t(),e(),r.onDone=null}})):Promise.resolve()},e.clear=function(n){if(n)r(t[n]),delete t[n];else for(var i in t)e.clear(i)}}}),et=m({"src/lib/clear_responsive.js"(e,t){t.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener("resize",e._responsiveChartHandler),delete e._responsiveChartHandler)}}}),tt=m({"node_modules/is-mobile/index.js"(e,t){t.exports=a,t.exports.isMobile=a,t.exports.default=a;var r=/(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,n=/CrOS/,i=/android|ipad|playbook|silk/i;function a(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<"u"&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;let a=r.test(t)&&!n.test(t)||!!e.tablet&&i.test(t);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(a=!0),a}}}),rt=m({"src/lib/preserve_drawing_buffer.js"(e,t){var r=M(),n=tt();t.exports=function(e){var t,i;if(e&&e.hasOwnProperty("userAgent")?t=e.userAgent:(typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),t=i),"string"!=typeof t)return!0;var a=n({ua:{headers:{"user-agent":t}},tablet:!0,featureDetect:!1});if(!a)for(var o=t.split(" "),s=1;s-1;l--){var c=o[l];if("Version/"===c.slice(0,8)){var u=c.slice(8).split(".")[0];if(r(u)&&(u=+u),u>=13)return!0}}return a}}}),nt=m({"src/lib/make_trace_groups.js"(e,t){var r=b();t.exports=function(e,t,n){var i=e.selectAll("g."+n.replace(/\s/g,".")).data(t,(function(e){return e[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=e.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(e){e[0][a]=r.select(this)})),i}}}),it=m({"src/lib/localize.js"(e,t){var r=He();t.exports=function(e,t){for(var n=e._context.locale,i=0;i<2;i++){for(var a=e._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[t];if(l)return l}a=r.localeRegistry}var c=n.split("-")[0];if(c===n)break;n=c}return t}}}),at=m({"src/lib/filter_unique.js"(e,t){t.exports=function(e){for(var t={},r=[],n=0,i=0;i1?(r*e+r*t)/r:e+t,i=String(n).length;if(i>16){var a=String(t).length;if(i>=String(e).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}}}),lt=m({"src/lib/clean_number.js"(e,t){var r=M(),n=S().BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;t.exports=function(e){return"string"==typeof e&&(e=e.replace(i,"")),r(e)?Number(e):n}}}),ct=m({"src/lib/index.js"(e,t){var r=b(),n=T().utcFormat,i=k().format,a=M(),o=S(),s=o.FP_SAFE,l=-s,c=o.BADNUM,u=t.exports={};u.adjustFormat=function(e){return!e||/^\d[.]\df/.test(e)||/[.]\d%/.test(e)?e:"0.f"===e?"~f":/^\d%/.test(e)?"~%":/^\ds/.test(e)?"~s":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?"~"+e:e};var h={};u.warnBadFormat=function(e){var t=String(e);h[t]||(h[t]=1,u.warn('encountered bad format: "'+t+'"'))},u.noFormat=function(e){return String(e)},u.numberFormat=function(e){var t;try{t=i(u.adjustFormat(e))}catch{return u.warnBadFormat(e),u.noFormat}return t},u.nestedProperty=L(),u.keyedContainer=P(),u.relativeAttr=z(),u.isPlainObject=C(),u.toLogRange=D(),u.relinkPrivateKeys=O();var d=I();u.isArrayBuffer=d.isArrayBuffer,u.isTypedArray=d.isTypedArray,u.isArrayOrTypedArray=d.isArrayOrTypedArray,u.isArray1D=d.isArray1D,u.ensureArray=d.ensureArray,u.concat=d.concat,u.maxRowLength=d.maxRowLength,u.minRowLength=d.minRowLength;var m=R();u.mod=m.mod,u.modHalf=m.modHalf;var g=X();u.valObjectMeta=g.valObjectMeta,u.coerce=g.coerce,u.coerce2=g.coerce2,u.coerceFont=g.coerceFont,u.coercePattern=g.coercePattern,u.coerceHoverinfo=g.coerceHoverinfo,u.coerceSelectionMarkerOpacity=g.coerceSelectionMarkerOpacity,u.validate=g.validate;var y=Ge();u.dateTime2ms=y.dateTime2ms,u.isDateTime=y.isDateTime,u.ms2DateTime=y.ms2DateTime,u.ms2DateTimeLocal=y.ms2DateTimeLocal,u.cleanDate=y.cleanDate,u.isJSDate=y.isJSDate,u.formatDate=y.formatDate,u.incrementMonth=y.incrementMonth,u.dateTick0=y.dateTick0,u.dfltRange=y.dfltRange,u.findExactDates=y.findExactDates,u.MIN_MS=y.MIN_MS,u.MAX_MS=y.MAX_MS;var v=Ze();u.findBin=v.findBin,u.sorterAsc=v.sorterAsc,u.sorterDes=v.sorterDes,u.distinctVals=v.distinctVals,u.roundUp=v.roundUp,u.sort=v.sort,u.findIndexOfMin=v.findIndexOfMin,u.sortObjectKeys=Ye();var x=Xe();u.aggNums=x.aggNums,u.len=x.len,u.mean=x.mean,u.geometricMean=x.geometricMean,u.median=x.median,u.midRange=x.midRange,u.variance=x.variance,u.stdev=x.stdev,u.interp=x.interp;var _=Le();u.init2dArray=_.init2dArray,u.transposeRagged=_.transposeRagged,u.dot=_.dot,u.translationMatrix=_.translationMatrix,u.rotationMatrix=_.rotationMatrix,u.rotationXYMatrix=_.rotationXYMatrix,u.apply3DTransform=_.apply3DTransform,u.apply2DTransform=_.apply2DTransform,u.apply2DTransform2=_.apply2DTransform2,u.convertCssMatrix=_.convertCssMatrix,u.inverseTransformMatrix=_.inverseTransformMatrix;var w=$e();u.deg2rad=w.deg2rad,u.rad2deg=w.rad2deg,u.angleDelta=w.angleDelta,u.angleDist=w.angleDist,u.isFullCircle=w.isFullCircle,u.isAngleInsideSector=w.isAngleInsideSector,u.isPtInsideSector=w.isPtInsideSector,u.pathArc=w.pathArc,u.pathSector=w.pathSector,u.pathAnnulus=w.pathAnnulus;var A=Ke();u.isLeftAnchor=A.isLeftAnchor,u.isCenterAnchor=A.isCenterAnchor,u.isRightAnchor=A.isRightAnchor,u.isTopAnchor=A.isTopAnchor,u.isMiddleAnchor=A.isMiddleAnchor,u.isBottomAnchor=A.isBottomAnchor;var E=Je();u.segmentsIntersect=E.segmentsIntersect,u.segmentDistance=E.segmentDistance,u.getTextLocation=E.getTextLocation,u.clearLocationCache=E.clearLocationCache,u.getVisibleSegment=E.getVisibleSegment,u.findPointOnPath=E.findPointOnPath;var F=B();u.extendFlat=F.extendFlat,u.extendDeep=F.extendDeep,u.extendDeepAll=F.extendDeepAll,u.extendDeepNoArrays=F.extendDeepNoArrays;var j=J();u.log=j.log,u.warn=j.warn,u.error=j.error;var N=Y();u.counterRegex=N.counter;var U=Qe();u.throttle=U.throttle,u.throttleDone=U.done,u.clearThrottle=U.clear;var V=Pe();function q(e){var t={};for(var r in e)for(var n=e[r],i=0;is||e=t)&&a(e)&&e>=0&&e%1==0},u.noop=Q(),u.identity=We(),u.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))},u.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},u.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?(u.warn("randstr failed uniqueness"),l):e(t,r,n,(i||0)+1):l},u.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={optionList:[],_newoption:function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)}};return r["_"+t]=e,r},u.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var r,n,i,a,o=e.length,s=2*o,l=2*t-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=e[i]*c[n];u[r]=a}return u},u.syncOrAsync=function(e,t,r){var n;function i(){return u.syncOrAsync(e,t,r)}for(;e.length;)if((n=(0,e.splice(0,1)[0])(t))&&n.then)return n.then(i);return r&&r(t)},u.stripTrailingSlash=function(e){return"/"===e.slice(-1)?e.slice(0,-1):e},u.noneOrAll=function(e,t,r){if(e){var n,i=!1,a=!0;for(n=0;n0?t:0}))},u.fillArray=function(e,t,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(e))for(var i=0;iW.test(window.navigator.userAgent);var Z=/Firefox\/(\d+)\.\d+/;u.getFirefoxVersion=function(){var e=Z.exec(window.navigator.userAgent);if(e&&2===e.length){var t=parseInt(e[1]);if(!isNaN(t))return t}return null},u.isD3Selection=function(e){return e instanceof r.selection},u.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a},u.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a},u.objectFromPath=function(e,t){for(var r,n=e.split("."),i=r={},a=0;a1?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},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var ne=/^\w*$/;u.templateString=function(e,t){var r={};return e.replace(u.TEMPLATE_STRING_REGEX,(function(e,n){var i;return ne.test(n)?i=t[n]:(r[n]=r[n]||u.nestedProperty(t,n).get,i=r[n](!0)),void 0!==i?i:""}))};var ie={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=e=>ce(p(f({},e),{opts:ie}));var ae={max:10,count:0,name:"texttemplate"};u.texttemplateString=e=>ce(p(f({},e),{opts:ae}));var oe=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,se={max:10,count:0,name:"texttemplate",parseMultDiv:!0};u.texttemplateStringForShapes=e=>ce(p(f({},e),{opts:se}));var le=/^[:|\|]/;function ce({data:e=[],locale:t,fallback:r,labels:i={},opts:a,template:o}){return o.replace(u.TEMPLATE_STRING_REGEX,((o,s,l)=>{let c=["xother","yother"].includes(s),h=["_xother","_yother"].includes(s),f=["_xother_","_yother_"].includes(s),p=["xother_","yother_"].includes(s),d=c||h||p||f;(h||f)&&(s=s.substring(1)),(p||f)&&(s=s.substring(0,s.length-1));let m,g=null,y=null;if(a.parseMultDiv){var v=function(e){var t=e.match(oe);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}(s);s=v.key,g=v.op,y=v.number}if(d){if(void 0===i[s])return"";m=i[s]}else for(let t of e)if(t){if(t.hasOwnProperty(s)){m=t[s];break}if(ne.test(s)||(m=u.nestedProperty(t,s).get(!0)),void 0!==m)break}if(void 0===m){let{count:e,max:t,name:n}=a,i=!1===r?o:r;return e=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var ue=2e9;u.seedPseudoRandom=function(){ue=2e9},u.pseudoRandom=function(){var e=ue;return ue=(69069*ue+1)%4294967296,Math.abs(ue-e)<429496729?u.pseudoRandom():ue/4294967296},u.fillText=function(e,t,r){var n=Array.isArray(r)?function(e){r.push(e)}:function(e){r.text=e},i=u.extractOption(e,t,"htx","hovertext");if(u.isValidTextValue(i))return n(i);var a=u.extractOption(e,t,"tx","text");return u.isValidTextValue(a)?n(a):void 0},u.isValidTextValue=function(e){return e||0===e},u.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&&(c=1):c=0,u.strTranslate(i-c*(r+o),a-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")},u.setTransormAndDisplay=function(e,t){e.attr("transform",u.getTextTransform(t)),e.style("display",t.scale?null:"none")},u.ensureUniformFontSize=function(e,t){var r=u.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r},u.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)},u.bigFont=function(e){return Math.round(1.2*e)};var he=u.getFirefoxVersion(),fe=null!==he&&he<86;u.getPositionFromD3Event=function(){return fe?[r.event.layerX,r.event.layerY]:[r.event.offsetX,r.event.offsetY]}}}),ut=m({"build/plotcss.js"(){var e,t,r=ct(),n={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;border: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:focus-within .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-group a":"display:grid;place-content:center;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;border:none;background:rgba(0,0,0,0);","X .modebar-btn svg":"position:relative;","X .modebar-btn:focus-visible":"outline:1px solid #000;outline-offset:1px;border-radius:3px;","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(t in n)e=t.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),r.addStyleRule(e,n[t])}}),ht=m({"node_modules/is-browser/client.js"(e,t){t.exports=!0}}),ft=m({"node_modules/has-hover/index.js"(e,t){var r,n=ht();r="function"==typeof window.matchMedia?!window.matchMedia("(hover: none)").matches:n,t.exports=r}}),pt=m({"node_modules/events/events.js"(e,t){var r,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};r=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,a),n(r)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,a,o;if(l(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if("function"==typeof o?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=c(e))>0&&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,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}}}),dt=m({"src/lib/events.js"(e,t){var r=pt().EventEmitter,n={init:function(e){if(e._ev instanceof r)return e;var t=new r,n=new r;return e._ev=t,e._internalEv=n,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=n.on.bind(n),e._internalOnce=n.once.bind(n),e._removeInternalListener=n.removeListener.bind(n),e._removeAllInternalListeners=n.removeAllListeners.bind(n),e.emit=function(e,r){t.emit(e,r),n.emit(e,r)},"function"==typeof e.addEventListener&&e.addEventListener("wheel",(()=>{}),{passive:!0}),e},triggerHandler:function(e,t,r){var n=e._ev;if(n){var i=n._events[t];if(i){var a;for(i=Array.isArray(i)?i:[i],a=0;an.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--))},startSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},stopSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},undo:function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=a.length)return!1;if(2===e.dimensions){if(r++,t.length===r)return e;var o=t[r];if(!x(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function x(e){return e===Math.round(e)&&e>=0}function _(){var e,r,n={};for(e in c(n,i),t.subplotsRegistry)if((r=t.subplotsRegistry[e]).layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a=a&&(i._input||{})._templateitemname;s&&(o=a);var l,c=r+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][n]=s)}function h(e,r){s?t.nestedProperty(l[c],e).set(r):l[c+"."+e]=r}function f(){var e=l;return u(),e}return u(),{modifyBase:function(e,t){l[e]=t},modifyItem:h,getUpdateObj:f,applyUpdate:function(r,n){r&&h(r,n);var i=f();for(var a in i)t.nestedProperty(e,a).set(i[a])}}}}}),xt=m({"src/plots/cartesian/constants.js"(e,t){var r=Y().counter;t.exports={idRegex:{x:r("x","( domain)?"),y:r("y","( domain)?")},attrRegex:r("[xy]axis"),xAxisMatch:r("xaxis"),yAxisMatch:r("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"}}}),_t=m({"src/plots/cartesian/axis_ids.js"(e){var t=He(),r=xt();function n(e,t){if(t&&t.length)for(var r=0;rn?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)},e.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(" ")[0]},e.isLinked=function(e,t){return n(t,e._axisMatchGroups)||n(t,e._axisConstraintGroups)}}}),bt=m({"src/components/shapes/handle_outline.js"(e,t){t.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}}}}),wt=m({"src/traces/scatter/layout_attributes.js"(e,t){t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}}}),Tt=m({"src/plots/get_data.js"(e){var t=He();xt().SUBPLOT_PATTERN,e.getSubplotCalcData=function(e,r,n){var i=t.subplotsRegistry[r];if(!i)return[];for(var a=i.attr,o=[],s=0;s0?".":"")+a;r.isPlainObject(s)?o(s,t,l,i+1):t(l,a,s)}}))}e.manageCommandObserver=function(t,i,a,o){var s={},l=!0;i&&i._commandObserver&&(s=i._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,a,s.lookupTable);if(i&&i._commandObserver){if(c)return s;if(i._commandObserver.remove)return i._commandObserver.remove(),i._commandObserver=null,s}if(c){n(t,c,s.cache),s.check=function(){if(l){var e=n(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h=t.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=t._paper.attr("width")-7),n.attr(a);var o=n.select(".js-link-to-tool"),s=n.select(".js-link-spacer"),l=n.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&function(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+" »");if(e._context.sendData)r.on("click",(function(){w.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})}}(e,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var n=r.select(e).append("div").attr("id","hiddenform").style("display","none"),i=n.append("form").attr({action:t+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(e,!1,"keepdata"),i.node().submit(),n.remove(),e.emit("plotly_afterexport"),!1}};var C=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],I=["year","month","dayMonth","dayMonthYear"];function L(e,t){var r=e._context.locale;r||(r="en-US");var n=!1,i={};function a(e){for(var r=!0,a=0;a1&&z.length>1){for(s.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&z.length>15&&0===l.shapes.length&&0===l.images.length,w.linkSubplots(f,l,h,a),w.cleanPlot(f,l,h,a);var j=!(!a._has||!a._has("cartesian")),N=!(!l._has||!l._has("cartesian"));j&&!N?a._bgLayer.remove():N&&!j&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&d({_fullLayout:a}),function(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,m=!t.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),e._initialAutoSize||(e._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(e,t,r,n){var i,a,o,l=s.componentsRegistry,c=t._basePlotModules,h=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(e,t);for(var f in c.length||c.push(h),t._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(e,t),h.finalizeSubplots(e,t)),t._subplots)t._subplots[f].sort(u.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[t]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:b,size:r.t+g}},m[t]=1}else delete d[t],delete m[t];if(!n._replotting)return w.doAutoMargin(e)}},w.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),D(t);var i=t._size,o=t.margin,l={t:0,b:0,l:0,r:0},c=u.extendFlat({},i),h=o.l,f=o.r,d=o.t,m=o.b,g=t._pushmargin,y=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(!1!==o.autoexpand){for(var _ in g)y[_]||delete g[_];var b=e._fullLayout._reservedMargin;for(var T in b)for(var k in b[T]){var A=b[T][k];l[k]=Math.max(l[k],A)}for(var M in g.base={l:{val:0,size:h},r:{val:1,size:f},t:{val:1,size:d},b:{val:0,size:m}},l){var S=0;for(var E in g)"base"!==E&&a(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,o[M]-S);l[M]=Math.max(0,l[M]-C)}for(var I in g){var L=g[I].l||{},P=g[I].b||{},z=L.val,O=L.size,R=P.val,F=P.size,B=r-l.r-l.l,j=n-l.t-l.b;for(var N in g){if(a(O)&&g[N].r){var U=g[N].r.val,V=g[N].r.size;if(U>z){var q=(O*U+(V-B)*z)/(U-z),H=(V*(1-z)+(O-B)*(1-U))/(U-z);q+H>h+f&&(h=q,f=H)}}if(a(F)&&g[N].t){var G=g[N].t.val,W=g[N].t.size;if(G>R){var Z=(F*G+(W-j)*R)/(G-R),Y=(W*(1-R)+(F-j)*(1-G))/(G-R);Z+Y>m+d&&(m=Z,d=Y)}}}}}var X=u.constrain(r-o.l-o.r,2,v),$=u.constrain(n-o.t-o.b,2,x),K=Math.max(0,r-X),J=Math.max(0,n-$);if(K){var Q=(h+f)/K;Q>1&&(h/=Q,f/=Q)}if(J){var ee=(m+d)/J;ee>1&&(m/=ee,d/=ee)}if(i.l=Math.round(h)+l.l,i.r=Math.round(f)+l.r,i.t=Math.round(d)+l.t,i.b=Math.round(m)+l.b,i.p=Math.round(o.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(w.didMarginChange(c,i)||function(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=p.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var te=3*(1+Object.keys(y).length);if(t._redrawFromAutoMarginCount0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&e._transitionData._interruptCallbacks.push((function(){return s.call("redraw",e)})),e._transitionData._interruptCallbacks.push((function(){e.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){o++,!n&&o===a&&function(t){e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",e)})).then((function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])})).then(t))}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,e);return(!a||!a.then)&&(a=Promise.resolve()),a.then((function(){return e}))}w.didMarginChange=function(e,t){for(var r=0;r1)return!0}return!1},w.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&w.supplyDefaults(e);var s=i?e._fullData:e.data,l=i?e._fullLayout:e.layout,c=(e._transitionData||{})._frames;function h(e,t){if("function"==typeof e)return t?"_function_":null;if(u.isPlainObject(e)){var n,i={};return Object.keys(e).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0))){if("function"==typeof e[a])return void(t&&(i[a]="_function"));if("keepdata"===r){if("src"===a.slice(-3))return}else if("keepstream"===r){if("string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0&&!u.isPlainObject(e.stream))return}else if("keepall"!==r&&"string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0)return;i[a]=h(e[a],t)}})),i}var a=Array.isArray(e),s=u.isTypedArray(e);if((a||s)&&e.dtype&&e.shape){var l=e.bdata;return h({dtype:e.dtype,shape:e.shape,bdata:u.isArrayBuffer(l)?o.encode(l):l},t)}return a?e.map((function(e){return h(e,t)})):s?u.simpleMap(e,u.identity):u.isJSDate(e)?u.ms2DateTimeLocal(+e):e}var f={data:(s||[]).map((function(e){var r=h(e);return t&&delete r.fit,r}))};if(!t&&(f.layout=h(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=h(c)),a&&(f.config=h(e._context,!0)),"object"===n?f:JSON.stringify(f)},w.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(e,r))}(!Array.isArray(o)||!o[0])&&(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,d[t]=o}}for(B(o,c,h),i=0;il||m>c)&&(o.style("overflow","hidden"),p=(f=o.node().getBoundingClientRect()).width,m=f.height);var g=+d.attr("x"),y=+d.attr("y"),v=-(i||d.node().getBoundingClientRect().height)/4;if("y"===P[0])s.attr({transform:"rotate("+[-90,g,y]+")"+n(-p/2,v-m/2)});else if("l"===P[0])y=v-m/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))g=0,y=v;else{var x=d.attr("text-anchor");g-=p*("middle"===x?.5:"end"===x?1:0),y=y+v-m/2}o.attr({x:g,y}),M&&M.call(d,s),e(s)}))}))):z(),d}function z(){L.empty()||(P=d.attr("class")+"-math",L.select("svg."+P).remove()),d.text("").style("white-space","pre");var n=function(e,n){n=n.replace(m," ");var o,s=!1,l=[],c=-1;function d(){c++;var r=document.createElementNS(i.svg,"tspan");t.select(r).attr({class:"line",dy:c*a+"em"}),e.appendChild(r),o=r;var n=l;if(l=[{node:r}],n.length>1)for(var s=1;s doesnt match end tag <"+e+">. Pretending it did match.",n),o=l[l.length-1].node}else r.log("Ignoring unexpected end tag .",n)}v.test(n)?d():(o=e,l=[{node:e}]);for(var I=n.split(g),L=0;L|>|>)/g,c=[["$","$"],["\\(","\\)"]],u={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"},h={sub:"0.3em",sup:"-0.6em"},f={sub:"-0.21em",sup:"0.42em"},p="​",d=["http:","https:","mailto:","",void 0,":"],m=e.NEWLINES=/(\r\n?|\n)/g,g=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,v=//i;e.BR_TAG_ALL=//gi;var x=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function k(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;e.plainText=function(e,t){for(var r=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,n=void 0!==t.allowedTags?t.allowedTags:["br"],i=e.split(g),a=[],o="",s=0,l=0;l3?a.push(c.slice(0,Math.max(0,p-3))+"..."):a.push(c.slice(0,p));break}o=""}}return a.join("")};var M={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(e){return e.replace(S,(function(e,t){var r;return r="#"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r(55232+(e>>10),e%1024+56320)}}("x"===t.charAt(1)?parseInt(t.slice(2),16):parseInt(t.slice(1),10)):M[t],r||e}))}function C(e){var t=encodeURI(decodeURI(e)),r=document.createElement("a"),n=document.createElement("a");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return-1!==d.indexOf(i)&&-1!==d.indexOf(a)?t:""}function I(e,t,n){var i,a,o,s=n.horizontalAlign,l=n.verticalAlign||"top",c=e.node().getBoundingClientRect(),u=t.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-i.height}:"middle"===l?function(){return c.top+(c.height-i.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-i.width}:"center"===s?function(){return c.left+(c.width-i.width)/2}:function(){return c.left},function(){i=this.node().getBoundingClientRect();var e=o()-u.left,t=a()-u.top,s=n.gd||{};if(n.gd){s._fullLayout._calcInverseTransform(s);var l=r.apply3DTransform(s._fullLayout._invTransform)(e,t);e=l[0],t=l[1]}return this.style({top:t+"px",left:e+"px","z-index":1e3}),this}}e.convertEntities=E,e.sanitizeHTML=function(e){e=e.replace(m," ");for(var r=document.createElement("p"),n=r,i=[],a=e.split(g),o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function p(e,t){t=t||{};for(var a=e.domain,s=e.range,l=s.length,c=new Array(l),u=0;um-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}}}),Yt=m({"src/components/colorscale/index.js"(e,t){var r=H(),n=Ct();t.exports={moduleType:"component",name:"colorscale",attributes:zt(),layoutAttributes:Dt(),supplyLayoutDefaults:Gt(),handleDefaults:Ht(),crossTraceDefaults:Wt(),calc:Zt(),scales:r.scales,defaultScale:r.defaultScale,getScale:r.get,isValidScale:r.isValid,hasColorscale:n.hasColorscale,extractOpts:n.extractOpts,extractScale:n.extractScale,flipScale:n.flipScale,makeColorScaleFunc:n.makeColorScaleFunc,makeColorScaleFuncFromTrace:n.makeColorScaleFuncFromTrace}}}),Xt=m({"src/traces/scatter/subtypes.js"(e,t){var r=ct(),n=I().isTypedArraySpec;t.exports={hasLines:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("lines")},hasMarkers:function(e){return e.visible&&(e.mode&&-1!==e.mode.indexOf("markers")||"splom"===e.type)},hasText:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("text")},isBubble:function(e){var t=e.marker;return r.isPlainObject(t)&&(r.isArrayOrTypedArray(t.size)||n(t.size))}}}}),$t=m({"src/traces/scatter/make_bubble_size_func.js"(e,t){var r=M();t.exports=function(e,t){t||(t=2);var n=e.marker,i=n.sizeref||1,a=n.sizemin||0,o="area"===n.sizemode?function(e){return Math.sqrt(e/i)}:function(e){return e/i};return function(e){var n=o(e/t);return r(n)&&n>0?Math.max(n,a):0}}}}),Kt=m({"src/components/fx/helpers.js"(e){var t=ct();e.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},e.isTraceInSubplots=function(t,r){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a=0&&r.index2&&(t.push([n].concat(a.splice(0,2))),o="l",n="m"==n?"l":"L");;){if(a.length==r[o])return a.unshift(n),t.push(a);if(a.length=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}v.symbolNumber=function(e){if(a(e))e=+e;else if("string"==typeof e){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),(e=v.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=k||e>=400?0:Math.floor(Math.max(e,0))};var S=i("~f"),E={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}};function C(e,t,i,a,s,c,u,h,f,p){var d,m=s.length;"linear"===a?d={node:"linearGradient",attrs:{x1:u.x,y1:u.y,x2:h.x,y2:h.y,gradientUnits:f?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(m),y=0;y=0&&void 0===e.i&&(e.i=o.i),t.style("opacity",i.selectedOpacityFn?i.selectedOpacityFn(e):void 0===e.mo?s.opacity:e.mo),i.ms2mrc){var u;u="various"===e.ms||"various"===s.size?3:i.ms2mrc(e.ms),e.mrc=u,i.selectedSizeFn&&(u=e.mrc=i.selectedSizeFn(e));var h=v.symbolNumber(e.mx||s.symbol)||0;e.om=h%200>=100;var f=se(e,r),p=$(e,r);t.attr("d",A(h,u,f,p))}var d,m,g,y=!1;if(e.so)g=c.outlierwidth,m=c.outliercolor,d=s.outliercolor;else{var x=(c||{}).width;g=(e.mlw+1||x+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,m="mlc"in e?e.mlcc=i.lineScale(e.mlc):n.isArrayOrTypedArray(c.color)?l.defaultLine:c.color,n.isArrayOrTypedArray(s.color)&&(d=l.defaultLine,y=!0),d="mc"in e?e.mcc=i.markerScale(e.mc):s.color||s.colors||"rgba(0,0,0,0)",i.selectedColorFn&&(d=i.selectedColorFn(e))}let _=e.mld||(c||{}).dash;if(_&&v.dashLine(t,_,g),e.om)t.call(l.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:g)+"px");var b=s.gradient,w=e.mgt;w?y=!0:w=b&&b.type,n.isArrayOrTypedArray(w)&&(w=w[0],E[w]||(w=0));var T=s.pattern,k=v.getPatternAttr,M=T&&(k(T.shape,e.i,"")||k(T.path,e.i,""));if(w&&"none"!==w){var S=e.mgc;S?y=!0:S=b.color;var C=r.uid;y&&(C+="-"+e.i),v.gradient(t,a,C,w,[[0,S],[1,d]],"fill")}else if(M){var I=!1,L=T.fgcolor;!L&&o&&o.color&&(L=o.color,I=!0);var P=k(L,e.i,o&&o.color||null),z=k(T.bgcolor,e.i,null),D=T.fgopacity,O=k(T.size,e.i,8),R=k(T.solidity,e.i,.3);I=I||e.mcc||n.isArrayOrTypedArray(T.shape)||n.isArrayOrTypedArray(T.path)||n.isArrayOrTypedArray(T.bgcolor)||n.isArrayOrTypedArray(T.fgcolor)||n.isArrayOrTypedArray(T.size)||n.isArrayOrTypedArray(T.solidity);var F=r.uid;I&&(F+="-"+e.i),v.pattern(t,"point",a,F,M,O,R,e.mcc,T.fillmode,z,P,D)}else n.isArrayOrTypedArray(d)?l.fill(t,d[e.i]):l.fill(t,d);g&&l.stroke(t,m)}},v.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=v.tryColorscale(r,""),t.lineScale=v.tryColorscale(r,"line"),s.traceIs(e,"symbols")&&(t.ms2mrc=m.isBubble(e)?g(e):function(){return(r.size||6)/2}),e.selectedpoints&&n.extendFlat(t,v.makeSelectedPointStyleFns(e)),t},v.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},l=i.marker||{},c=a.opacity,u=o.opacity,h=l.opacity,f=void 0!==u,p=void 0!==h;(n.isArrayOrTypedArray(c)||f||p)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?a.opacity:e.mo;return e.selected?f?u:t:p?h:d*t});var m=a.color,g=o.color,y=l.color;(g||y)&&(t.selectedColorFn=function(e){var t=e.mcc||m;return e.selected?g||t:y||t});var v=a.size,x=o.size,_=l.size,b=void 0!==x,w=void 0!==_;return s.traceIs(e,"symbols")&&(b||w)&&(t.selectedSizeFn=function(e){var t=e.mrc||v/2;return e.selected?b?x/2:t:w?_/2:t}),t},v.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,c=a.color,u=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||s;return e.selected?c||t:u||(c?t:l.addOpacity(t,d))},t},v.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=v.makeSelectedPointStyleFns(t),i=t.marker||{},a=[];n.selectedOpacityFn&&a.push((function(e,t){e.style("opacity",n.selectedOpacityFn(t))})),n.selectedColorFn&&a.push((function(e,t){l.fill(e,n.selectedColorFn(t))})),n.selectedSizeFn&&a.push((function(e,r){var a=r.mx||i.symbol||0,o=n.selectedSizeFn(r);e.attr("d",A(v.symbolNumber(a),o,se(r,t),$(r,t))),r.mrc2=o})),a.length&&e.each((function(e){for(var t=r.select(this),n=0;n0?r:0}function O(e,t,r){return r&&(e=V(e)),t?B(e[1]):R(e[0])}function R(e){var t=r.round(e,2);return I=t,t}function B(e){var t=r.round(e,2);return L=t,t}function j(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[R(t[0]+(f&&u/f)),B(t[1]+(f&&h/f))],[R(t[0]-(p&&u/p)),B(t[1]-(p&&h/p))]]}v.textPointStyle=function(e,t,i){if(e.size()){var a;if(t.selectedpoints){var o=v.makeSelectedTextStyleFns(t);a=o.selectedTextColorFn}var s=t.texttemplate,l=i._fullLayout;e.each((function(e){var o=r.select(this),c=s?n.extractOption(e,t,"txt","texttemplate"):n.extractOption(e,t,"tx","text");if(c||0===c){if(s){var u=t._module.formatLabels,f=u?u(e,t,l):{},p={};y(p,t,e.i),c=n.texttemplateString({data:[p,e,t._meta],fallback:t.texttemplatefallback,labels:f,locale:l._d3locale,template:c})}var d=e.tp||t.textposition,m=D(e,t),g=a?a(e):e.tc||t.textfont.color;o.call(v.font,{family:e.tf||t.textfont.family,weight:e.tw||t.textfont.weight,style:e.ty||t.textfont.style,variant:e.tv||t.textfont.variant,textcase:e.tC||t.textfont.textcase,lineposition:e.tE||t.textfont.lineposition,shadow:e.tS||t.textfont.shadow,size:m,color:g}).text(c).call(h.convertToTspans,i).call(z,d,m,e.mrc)}else o.remove()}))}},v.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=v.makeSelectedTextStyleFns(t);e.each((function(e){var i=r.select(this),a=n.selectedTextColorFn(e),o=e.tp||t.textposition,c=D(e,t);l.fill(i,a);var u=s.traceIs(t,"bar-like");z(i,o,c,e.mrc2||e.mrc,u)}))}},v.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r,n="M"+e[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(T<=f&&T>=u||T>=f&&T<=u)&&(e=[w,T])}return e}v.steps=function(e){var t=N[e]||U;return function(e){for(var r="M"+R(e[0][0])+","+B(e[0][1]),n=e.length,i=1;i=1e4&&(v.savedBBoxes={},q=0),i&&(v.savedBBoxes[i]=g),q++,n.extendFlat({},g)},v.setClipUrl=function(e,t,r){e.attr("clip-path",G(t,r))},v.getTranslate=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||0,y:+t[1]||0}},v.setTranslate=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=u(t,r)).trim(),e[i]("transform",a),a},v.getScale=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||1,y:+t[1]||1}},v.setScale=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+t+","+r+")").trim(),e[i]("transform",a),a};var Y=/\s*sc.*/;v.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,e){var n=1===t&&1===r?"":"scale("+t+","+r+")";e.each((function(){var e=(this.getAttribute("transform")||"").replace(Y,"");e=(e+=n).trim(),this.setAttribute("transform",e)}))}};var X=/translate\([^)]*\)\s*$/;function $(e,t){var r;return e&&(r=e.mf),void 0===r&&(r=t.marker&&t.marker.standoff||0),t._geo||t._xA?r:-r}v.setTextPointsScale=function(e,t,n){e&&e.each((function(){var e,i=r.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(X);e=1===t&&1===n?[]:[u(o,s),"scale("+t+","+n+")",u(-o,-s)],l&&e.push(l),i.attr("transform",e.join(""))}}))},v.getMarkerStandoff=$;var K,J,Q,ee,te,re,ne=Math.atan2,ie=Math.cos,ae=Math.sin;function oe(e,t){var r=t[0],n=t[1];return[r*ie(e)-n*ae(e),r*ae(e)+n*ie(e)]}function se(e,t){var r=e.ma;void 0===r&&(!(r=t.marker.angle)||n.isArrayOrTypedArray(r))&&(r=0);var i,o,s=t.marker.angleref;if("previous"===s||"north"===s){if(t._geo){var l=t._geo.project(e.lonlat);i=l[0],o=l[1]}else{var c=t._xA,u=t._yA;if(!c||!u)return 90;i=c.c2p(e.x),o=u.c2p(e.y)}if(t._geo){var h,f=e.lonlat[0],p=e.lonlat[1],d=t._geo.project([f,p+1e-5]),m=t._geo.project([f+1e-5,p]),g=ne(m[1]-o,m[0]-i),y=ne(d[1]-o,d[0]-i);if("north"===s)h=r/180*Math.PI;else if("previous"===s){var v=f/180*Math.PI,x=p/180*Math.PI,_=K/180*Math.PI,b=J/180*Math.PI,w=_-v,T=ie(b)*ae(w),k=ae(b)*ie(x)-ie(b)*ae(x)*ie(w);h=-ne(T,k)-Math.PI,K=f,J=p}var A=oe(g,[ie(h),0]),M=oe(y,[ae(h),0]);r=ne(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"===s&&(re!==t.uid||e.i!==te+1)&&(r=null)}if("previous"===s&&!t._geo)if(re===t.uid&&e.i===te+1&&a(i)&&a(o)){var S=i-Q,E=o-ee,C=t.line&&t.line.shape||"",I=C.slice(C.length-1);"h"===I&&(E=0),"v"===I&&(S=0),r+=ne(E,S)/Math.PI*180+90}else r=null}return Q=i,ee=o,te=e.i,re=t.uid,r}v.getMarkerAngle=se}}),tr=m({"src/components/titles/index.js"(e,t){var r=b(),n=M(),i=At(),a=He(),o=ct(),s=o.strTranslate,l=er(),c=W(),u=Et(),h=Z(),f=St().OPPOSITE_SIDE,p=/ [XY][0-9]* /;t.exports={draw:function(e,t,d){var m,g=e._fullLayout,y=d.propContainer,v=d.propName,x=d.placeholder,_=d.traceIndex,b=d.avoid||{},w=d.attributes,T=d.transform,k=d.containerGroup,A=1,M=y.title,S=(M&&M.text?M.text:"").trim(),E=!1,C=M&&M.font?M.font:{},I=C.family,L=C.size,P=C.color,z=C.weight,D=C.style,O=C.variant,R=C.textcase,F=C.lineposition,B=C.shadow,j=!!d.subtitlePropName,N=d.subtitlePlaceholder,U=(y.title||{}).subtitle||{text:"",font:{}},V=(U.text||"").trim(),q=!1,H=1,G=U.font,W=G.family,Z=G.size,Y=G.color,X=G.weight,$=G.style,K=G.variant,J=G.textcase,Q=G.lineposition,ee=G.shadow;"title.text"===v?m="titleText":-1!==v.indexOf("axis")?m="axisTitleText":-1!==v.indexOf("colorbar")&&(m="colorbarTitleText");var te=e._context.edits[m];function re(e,t){return void 0!==e&&void 0!==t&&e.replace(p," % ")===t.replace(p," % ")}""===S?A=0:re(S,x)&&(te||(S=""),A=.2,E=!0),j&&(""===V?H=0:re(V,N)&&(te||(V=""),H=.2,q=!0)),d._meta?S=o.templateString(S,d._meta):g._meta&&(S=o.templateString(S,g._meta));var ne,ie=S||V||te;k||(k=o.ensureSingle(g._infolayer,"g","g-"+t),ne=g._hColorbarMoveTitle);var ae=k.selectAll("text."+t).data(ie?[0]:[]);ae.enter().append("text"),ae.text(S).attr("class",t),ae.exit().remove();var oe=null,se=t+"-subtitle",le=V||te;if(j&&((oe=k.selectAll("text."+se).data(le?[0]:[])).enter().append("text"),oe.text(V).attr("class",se),oe.exit().remove()),!ie)return k;function ce(e,t){o.syncOrAsync([ue,he],{title:e,subtitle:t})}function ue(n){var a,h=n.title,f=n.subtitle;if(!T&&ne&&(T={}),T?(a="",T.rotate&&(a+="rotate("+[T.rotate,w.x,w.y]+")"),(T.offset||ne)&&(a+=s(0,(T.offset||0)-(ne||0)))):a=null,h.attr("transform",a),h.style("opacity",A*c.opacity(P)).call(l.font,{color:c.rgb(P),size:r.round(L,2),family:I,weight:z,style:D,variant:O,textcase:R,shadow:B,lineposition:F}).attr(w).call(u.convertToTspans,e,(function(e){if(e){var t=r.select(e.node().parentNode).select("."+se);if(!t.empty()){var n=e.node().getBBox();if(n.height){var i=n.y+n.height+1.6*Z;t.attr("y",i)}}}})),f&&!f.empty()){var p=k.select("."+t+"-math-group"),d=h.node().getBBox(),m=p.node()?p.node().getBBox():void 0,g=m?m.y+m.height+1.6*Z:d.y+d.height+1.6*Z,y=o.extendFlat({},w,{y:g});f.attr("transform",a),f.style("opacity",H*c.opacity(Y)).call(l.font,{color:c.rgb(Y),size:r.round(Z,2),family:W,weight:X,style:$,variant:K,textcase:J,shadow:ee,lineposition:Q}).attr(y).call(u.convertToTspans,e)}return i.previousPromises(e)}function he(t){var i=t.title,a=r.select(i.node().parentNode);if(b&&b.selection&&b.side&&S){a.attr("transform",null);var c=f[b.side],u="left"===b.side||"top"===b.side?-1:1,h=n(b.pad)?b.pad:2,p=l.bBox(a.node()),d={t:0,b:0,l:0,r:0},m=e._fullLayout._reservedMargin;for(var v in m)for(var x in m[v]){var _=m[v][x];d[x]=Math.max(d[x],_)}var w={left:d.l,top:d.t,right:g.width-d.r,bottom:g.height-d.b},T=b.maxShift||u*(w[b.side]-p[b.side]),k=0;if(T<0)k=T;else{var A=b.offsetLeft||0,M=b.offsetTop||0;p.left-=A,p.right-=A,p.top-=M,p.bottom-=M,b.selection.each((function(){var e=l.bBox(this);o.bBoxIntersect(p,e,h)&&(k=Math.max(k,u*(e[b.side]-p[c])+h))})),k=Math.min(T,k),y._titleScoot=Math.abs(k)}if(k>0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[b.side];a.attr("transform",s(E[0],E[1]))}}}function fe(e,t){e.text(t).on("mouseover.opacity",(function(){r.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){r.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))}if(ae.call(ce,oe),te&&(S?ae.on(".opacity",null):(fe(ae,x),E=!0),ae.call(u.makeEditable,{gd:e}).on("edit",(function(t){void 0!==_?a.call("_guiRestyle",e,v,t,_):a.call("_guiRelayout",e,v,t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,w.x,w.y)})),j)){if(j&&!S){var pe=ae.node().getBBox(),de=pe.y+pe.height+1.6*Z;oe.attr("y",de)}V?oe.on(".opacity",null):(fe(oe,N),q=!0),oe.call(u.makeEditable,{gd:e}).on("edit",(function(t){a.call("_guiRelayout",e,"title.subtitle.text",t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,oe.attr("x"),oe.attr("y"))}))}return ae.classed("js-placeholder",E),oe&&!oe.empty()&&oe.classed("js-placeholder",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}}}),rr=m({"src/plots/cartesian/set_convert.js"(e,t){var r=b(),n=T().utcFormat,i=ct(),a=i.numberFormat,o=M(),s=i.cleanNumber,l=i.ms2DateTime,c=i.dateTime2ms,u=i.ensureNumber,h=i.isArrayOrTypedArray,f=S(),p=f.FP_SAFE,d=f.BADNUM,m=f.LOG_CLIP,g=f.ONEWEEK,y=f.ONEDAY,v=f.ONEHOUR,x=f.ONEMIN,_=f.ONESEC,w=_t(),k=xt(),A=k.HOUR_PATTERN,E=k.WEEKDAY_PATTERN;function C(e){return Math.pow(10,e)}function I(e){return null!=e}t.exports=function(e,t){t=t||{};var f=e._id||"x",b=f.charAt(0);function T(t,r){if(t>0)return Math.log(t)/Math.LN10;if(t<=0&&r&&e.range&&2===e.range.length){var n=e.range[0],i=e.range[1];return.5*(n+i-2*m*Math.abs(n-i))}return d}function M(t,r,n,a){if((a||{}).msUTC&&o(t))return+t;var s=c(t,n||e.calendar);if(s===d){if(!o(t))return d;t=+t;var l=Math.floor(10*i.mod(t+.05,1)),u=Math.round(t-l/10);s=c(new Date(u))+l/10}return s}function S(t,r,n){return l(t,r,n||e.calendar)}function L(t){return e._categories[Math.round(t)]}function P(t){if(I(t)){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push("number"==typeof t?String(t):t);var r=e._categories.length-1;return e._categoriesMap[t]=r,r}return d}function z(t){if(e._categoriesMap)return e._categoriesMap[t]}function D(e){var t=z(e);return void 0!==t?t:o(e)?+e:void 0}function O(e){return o(e)?+e:z(e)}function R(e,t,n){return r.round(n+t*e,2)}function F(e,t,r){return(e-r)/t}var B=function(t){return o(t)?R(t,e._m,e._b):d},j=function(t){return F(t,e._m,e._b)};if(e.rangebreaks){var N="y"===b;B=function(t){if(!o(t))return d;var r=e._rangebreaks.length;if(!r)return R(t,e._m,e._b);var n=N;e.range[0]>e.range[1]&&(n=!n);for(var i=n?-1:1,a=i*t,s=0,l=0;lu)){s=a<(c+u)/2?l:l+1;break}s=l+1}var h=e._B[s]||0;return isFinite(h)?R(t,e._m2,h):0},j=function(t){var r=e._rangebreaks.length;if(!r)return F(t,e._m,e._b);for(var n=0,i=0;ie._rangebreaks[i].pmax&&(n=i+1);return F(t,e._m2,e._B[n])}}e.c2l="log"===e.type?T:u,e.l2c="log"===e.type?C:u,e.l2p=B,e.p2l=j,e.c2p="log"===e.type?function(e,t){return B(T(e,t))}:B,e.p2c="log"===e.type?function(e){return C(j(e))}:j,-1!==["linear","-"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=s,e.c2d=e.c2r=e.l2d=e.l2r=u,e.d2p=e.r2p=function(t){return e.l2p(s(t))},e.p2d=e.p2r=j,e.cleanPos=u):"log"===e.type?(e.d2r=e.d2l=function(e,t){return T(s(e),t)},e.r2d=e.r2c=function(e){return C(s(e))},e.d2c=e.r2l=s,e.c2d=e.l2r=u,e.c2r=T,e.l2d=C,e.d2p=function(t,r){return e.l2p(e.d2r(t,r))},e.p2d=function(e){return C(j(e))},e.r2p=function(t){return e.l2p(s(t))},e.p2r=j,e.cleanPos=u):"date"===e.type?(e.d2r=e.r2d=i.identity,e.d2c=e.r2c=e.d2l=e.r2l=M,e.c2d=e.c2r=e.l2d=e.l2r=S,e.d2p=e.r2p=function(t,r,n){return e.l2p(M(t,0,n))},e.p2d=e.p2r=function(e,t,r){return S(j(e),t,r)},e.cleanPos=function(t){return i.cleanDate(t,d,e.calendar)}):"category"===e.type?(e.d2c=e.d2l=P,e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=O(t);return void 0!==r?r:e.fraction2r(.5)},e.l2r=e.c2r=u,e.r2l=O,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(j(e))},e.r2p=e.d2p,e.p2r=j,e.cleanPos=function(e){return"string"==typeof e&&""!==e?e:u(e)}):"multicategory"===e.type&&(e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=D(t);return void 0!==r?r:e.fraction2r(.5)},e.r2c_just_indices=z,e.l2r=e.c2r=u,e.r2l=D,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(j(e))},e.r2p=e.d2p,e.p2r=j,e.cleanPos=function(e){return Array.isArray(e)||"string"==typeof e&&""!==e?e:u(e)},e.setupMultiCategory=function(r){var n,a,o=e._traceIndices,s=e._matchGroup;if(s&&0===e._categories.length)for(var l in s)if(l!==f){var c=t[w.id2name(l)];o=o.concat(c._traceIndices)}var u=[[0,{}],[0,{}]],p=[];for(n=0;nl[1]&&(a[s?0:1]=n,o[1]=l[1]),o[0]>=o[1])if(void 0!==r){var c=l[0]+1;void 0!==n&&(c=Math.min(c,l[1])),a[s?0:1]=e.l2r(c)}else void 0!==n&&(a[s?1:0]=e.l2r(l[1]-1))}},e.cleanRange=function(t,r){e._cleanRange(t,r),e.limitRange(t)},e._cleanRange=function(t,r){r||(r={}),t||(t="range");var n,a,s=i.nestedProperty(e,t).get();if(a=(a="date"===e.type?i.dfltRange(e.calendar):"y"===b?k.DFLTRANGEY:"realaxis"===e._name?[0,1]:r.dfltRange||k.DFLTRANGEX).slice(),("tozero"===e.rangemode||"nonnegative"===e.rangemode)&&(a[0]=0),s&&2===s.length){var l=null===s[0],c=null===s[1];for("date"===e.type&&!e.autorange&&(s[0]=i.cleanDate(s[0],d,e.calendar),s[1]=i.cleanDate(s[1],d,e.calendar)),n=0;n<2;n++)if("date"===e.type){if(!i.isDateTime(s[n],e.calendar)){e[t]=a;break}if(e.r2l(s[0])===e.r2l(s[1])){var u=i.constrain(e.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=e.l2r(u-1e3),s[1]=e.l2r(u+1e3);break}}else{if(!o(s[n])){if(l||c||!o(s[1-n])){e[t]=a;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-p?s[n]=-p:s[n]>p&&(s[n]=p),s[0]===s[1]){var h=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=h,s[1]+=h}}}else i.nestedProperty(e,t).set(a)},e.setScale=function(r){var n=t._size;if(e.overlaying){var i=w.getFromId({_fullLayout:t},e.overlaying);e.domain=i.domain}var a=r&&e._r?"_r":"range",o=e.calendar;e.cleanRange(a);var s,l,c=e.r2l(e[a][0],o),u=e.r2l(e[a][1],o),h="y"===b;if(h?(e._offset=n.t+(1-e.domain[1])*n.h,e._length=n.h*(e.domain[1]-e.domain[0]),e._m=e._length/(c-u),e._b=-e._m*u):(e._offset=n.l+e.domain[0]*n.w,e._length=n.w*(e.domain[1]-e.domain[0]),e._m=e._length/(u-c),e._b=-e._m*c),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(c,u),Math.max(c,u)),e._rangebreaks.length)){for(s=0;su&&(f=!f),f&&e._rangebreaks.reverse();var p=f?-1:1;for(e._m2=p*e._length/(Math.abs(u-c)-e._lBreaks),e._B.push(-e._m2*(h?u:c)),s=0;sa&&(a+=7,oa&&(a+=24,o=n&&o=n&&t=s.min&&(es.max&&(s.max=n),a=!1)}a&&c.push({min:e,max:n})}};for(n=0;n2*s}(f,t))return"date";var y="strict"!==n.autotypenumbers;return function(e,t){for(var r=e.length,n=u(r),a=0,o=0,c={},h=0;h2*a}(f,y)?"category":function(e,t){for(var r=e.length,n=0;n0&&((A=I-s(_)-l(b))>L?M/A>P&&(w=_,k=b,P=M/A):M/I>P&&(w={val:_.val,nopad:1},k={val:b.val,nopad:1},P=M/I));if(m===g){var z=m-1,D=m+1;if(E)if(0===m)a=[0,1];else{var O=(m>0?h:u).reduce((function(e,t){return Math.max(e,l(t))}),0),R=m/(1-Math.min(.5,O/I));a=m>0?[0,R]:[R,0]}else a=C?[Math.max(0,z),Math.max(1,D)]:[z,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:1,nopad:1})),P=(k.val-w.val-f(t,_.val,b.val))/(I-s(w)-l(k)),a=[w.val-P*s(w),k.val+P*l(k)];return a=T(a,t),t.limitRange&&t.limitRange(),v&&a.reverse(),i.simpleMap(a,t.l2r||Number)}function f(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a=r&&(c.extrapad||!o)){s=!1;break}i(t,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(e.splice(l,1),l--)}if(s){var u=a&&0===t;e.push({val:t,pad:u?0:r,extrapad:!u&&o})}}function v(e){return n(e)&&Math.abs(e)=t}function w(e,t,r){return void 0===t||void 0===r||(t=e.d2l(t))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.minallowed&&w(t,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&w(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}(r,t),n=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.maxallowed&&w(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&w(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}(n,t),[r,n]}t.exports={applyAutorangeOptions:T,getAutoRange:h,makePadFn:p,doAutoRange:function(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():h(e,t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l);var n=t._input,a={};a[t._attr+".range"]=t.range,a[t._attr+".autorange"]=t.autorange,o.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,a),n.range=t.range.slice(),n.autorange=t.autorange}var s=t._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[t._name];l&&"auto"===l.rangemode&&(l.range=h(e,t)),s._input.rangeslider[t._name]=i.extendFlat({},l)}},findExtremes:function(e,t,r){r||(r={}),e._m||e.setScale();var i,o,s,l,c,u,h,f,p,d=[],y=[],x=t.length,_=r.padded||!1,b=r.tozero&&("linear"===e.type||"-"===e.type),w="log"===e.type,T=!1,k=r.vpadLinearized||!1;function A(e){if(Array.isArray(e))return T=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var M=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(f=1/0,p=-1/0,w)for(i=0;i0&&(f=o),o>p&&o-a&&(f=o),o>p&&o=P;i--)L(i);return{min:d,max:y,opts:r}},concatExtremes:d}}}),ar=m({"src/plots/cartesian/axes.js"(e,t){var r=b(),n=M(),i=At(),a=He(),o=ct(),s=o.strTranslate,l=Et(),c=tr(),u=W(),h=er(),f=Lt(),p=Rt(),d=(xt(),S()),m=d.ONEMAXYEAR,g=d.ONEAVGYEAR,y=d.ONEMINYEAR,v=d.ONEMAXQUARTER,x=d.ONEAVGQUARTER,_=d.ONEMINQUARTER,w=d.ONEMAXMONTH,T=d.ONEAVGMONTH,k=d.ONEMINMONTH,A=d.ONEWEEK,E=d.ONEDAY,C=E/2,I=d.ONEHOUR,L=d.ONEMIN,P=d.ONESEC,z=d.ONEMILLI,D=d.ONEMICROSEC,O=d.MINUS_SIGN,R=d.BADNUM,F={K:"zeroline"},B={K:"gridline",L:"path"},j={K:"minor-gridline",L:"path"},N={K:"tick",L:"path"},U={K:"tick",L:"text"},V={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},q=St(),H=q.MID_SHIFT,G=q.CAP_SHIFT,Z=q.LINE_SPACING,Y=q.OPPOSITE_SIDE,X=t.exports={};X.setConvert=rr();var $=nr(),K=_t(),J=K.idSort,Q=K.isLinked;X.id2name=K.id2name,X.name2id=K.name2id,X.cleanId=K.cleanId,X.list=K.list,X.listIds=K.listIds,X.getFromId=K.getFromId,X.getFromTrace=K.getFromTrace;var ee=ir();function te(e){var t=1e-4*(e[1]-e[0]);return[e[0]-t,e[1]+t]}X.getAutoRange=ee.getAutoRange,X.findExtremes=ee.findExtremes,X.coerceRef=function(e,t,r,n,i,a){var s=n.charAt(n.length-1),l=r._fullLayout._subplots[s+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(e){return e+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},o.coerce(e,t,u,c)},X.coerceRefArray=function(e,t,r,n,i,a,s){let l=n.charAt(n.length-1);var c=r._fullLayout._subplots[l+"axis"];let u=n+"ref";var h=e[u];i||(i=c[0]||("string"==typeof a?a:a[0])),c=(c=c.concat(c.map((e=>e+" domain")))).concat(a||[]),h.length>s?(o.warn("Array attribute "+u+" has more entries than expected, truncating to "+s),h=h.slice(0,s)):h.lengthn&&f2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},X.saveRangeInitial=function(e,t){for(var r=X.list(e,"",!0),n=!1,i=0;i.3*f||u(i)||u(a))){var p=r.dtick/2;e+=e+p.8){var s=Number(r.slice(1));a.exactYears>.8&&s%12==0?e=X.tickIncrement(e,"M6","reverse")+1.5*E:a.exactMonths>.8?e=X.tickIncrement(e,"M1","reverse")+15.5*E:e-=C;var l=X.tickIncrement(e,r);if(l<=n)return l}return e}(v,e,y,c,a)),g=v;g<=u;)g=X.tickIncrement(g,y,!1,a);return{start:t.c2r(v,0,a),end:t.c2r(g,0,a),size:y,_dataSpan:u-c}},X.prepMinorTicks=function(e,t,r){var i,a;if(null==(i=t.minor)||!i.dtick){delete e.dtick;var s,l=t.dtick&&n(t._tmin);if(l){var c=X.tickIncrement(t._tmin,t.dtick,!0);s=[t._tmin,.99*c+.01*t._tmin]}else{var u=o.simpleMap(t.range,t.r2l);s=[u[0],.8*u[0]+.2*u[1]]}if(e.range=o.simpleMap(s,t.l2r),e._isMinor=!0,X.prepTicks(e,r),l){var h=n(t.dtick),f=n(e.dtick),p=h?t.dtick:+t.dtick.substring(1),d=f?e.dtick:+e.dtick.substring(1);h&&f?ae(p,d)?p===2*A&&d===2*E&&(e.dtick=A):p===2*A&&d===3*E?e.dtick=A:p!==A||(t._input.minor||{}).nticks?oe(p/d,2.5)?e.dtick=p/2:e.dtick=p:e.dtick=E:"M"===String(t.dtick).charAt(0)?f?e.dtick="M1":ae(p,d)?p>=12&&2===d&&(e.dtick="M3"):e.dtick=t.dtick:"L"===String(e.dtick).charAt(0)?"L"===String(t.dtick).charAt(0)?ae(p,d)||(e.dtick=oe(p/d,2.5)?t.dtick/2:t.dtick):e.dtick="D1":"D2"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}void 0===(null==(a=t.minor)?void 0:a._tick0Init)&&(e.tick0=t.tick0)},X.prepTicks=function(e,t){var r=o.simpleMap(e.range,e.r2l,void 0,void 0,t);if("auto"===e.tickmode||!e.dtick){var i,a=e.nticks;a||("category"===e.type||"multicategory"===e.type?(i=e.tickfont?o.bigFont(e.tickfont.size||12):15,a=e._length/i):(i="y"===e._id.charAt(0)?40:80,a=o.constrain(e._length/i,4,9)+1),"radialaxis"===e._name&&(a*=2)),e.minor&&"array"!==e.minor.tickmode||"array"===e.tickmode&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,X.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}"period"===e.ticklabelmode&&function(e){var t;function r(){return!(n(e.dtick)||"M"!==e.dtick.charAt(0))}var i=r(),a=X.getTickFormat(e);if(a){var o=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(t=I,o&&!i&&e.dticke.range[1],c=!e.ticklabelindex||o.isArrayOrTypedArray(e.ticklabelindex)?e.ticklabelindex:[e.ticklabelindex],u=o.simpleMap(e.range,e.r2l,void 0,void 0,t),h=u[1]=(j?0:1);N--){var U=!N;N?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):j&&(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var V=N?e:o.extendFlat({},e,j?e.minor:{minor:{}});if(U?X.prepMinorTicks(V,e,t):X.prepTicks(V,t),"array"!==V.tickmode)if("sync"!==V.tickmode){var q=te(u),H=q[0],G=q[1],W=n(V.dtick),Z="log"===r&&!(W||"L"===V.dtick.charAt(0)),Y=X.tickFirst(V,t);if(N){if(e._tmin=Y,Y=G:Q<=G;Q=X.tickIncrement(Q,ee,h,i)){if(N&&$++,V.rangebreaks&&!h){if(Q=p)break}if(S.length>d||Q===J)break;J=Q;var re={value:Q};N?(Z&&Q!==(0|Q)&&(re.simpleLabel=!0),a>1&&$%a&&(re.skipLabel=!0),S.push(re)):(re.minor=!0,O.push(re))}}else S=[],b=ce(e);else N?(S=[],b=ue(e,!U)):(O=[],M=ue(e,!U))}var ne;if(!O||O.length<3?c=!1:function(e,t){return/%f/.test(t)?e>=D:/%L/.test(t)?e>=z:/%[SX]/.test(t)?e>=P:/%M/.test(t)?e>=L:/%[HI]/.test(t)?e>=I:/%p/.test(t)?e>=C:/%[Aadejuwx]/.test(t)?e>=E:/%[UVW]/.test(t)?e>=A:/%[Bbm]/.test(t)?e>=k:/%[q]/.test(t)?e>=_:!/%[Yy]/.test(t)||e>=y}((O[2].value-O[1].value)*(l?-1:1),e.tickformat)||(c=!1,O=O.slice(1)),c){var ie=S.concat(O);s&&S.length&&(ie=ie.slice(1)),(ie=ie.sort((function(e,t){return e.value-t.value})).filter((function(e,t,r){return 0===t||e.value!==r[t-1].value}))).map((function(e,t){return void 0!==e.minor||e.skipLabel?null:t})).filter((function(e){return null!==e})).forEach((function(e){c.map((function(t){var r=e+t;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=e[a].value,c=e[o].value,u=Math.abs(c-l),h=r||u,f=0;h>=y?f=u>=y&&u<=m?u:g:r===x&&h>=_?f=u>=_&&u<=v?u:x:h>=k?f=u>=k&&u<=w?u:T:r===A&&h>=A?f=A:h>=E?f=E:r===C&&h>=C?f=C:r===I&&h>=I&&(f=I),f>=u&&(f=u,s=!0);var p=i+f;if(t.rangebreaks&&f>0){for(var d=0,b=0;b<84;b++){var M=(b+.5)/84;t.maskBreaks(i*(1-M)+M*p)!==R&&d++}(f*=d/84)||(e[n].drop=!0),s&&u>A&&(f=u)}(f>0||0===n)&&(e[n].periodX=i+f/2)}}(F,e,e._definedDelta),e.rangebreaks){var de="y"===e._id.charAt(0),me=1;"auto"===e.tickmode&&(me=e.tickfont?e.tickfont.size:12);var ge=NaN;for(ne=S.length-1;ne>-1;ne--)if(S[ne].drop)S.splice(ne,1);else{S[ne].value=Ue(S[ne].value,e);var ye=e.c2p(S[ne].value);(de?ge>ye-me:gep||np&&(r.periodX=p),n10||"01-01"!==i.slice(5)?e._tickround="d":e._tickround=+t.slice(1)%12==0?"y":"m";else if(t>=E&&a<=10||t>=15*E)e._tickround="d";else if(t>=L&&a<=16||t>=I)e._tickround="M";else if(t>=P&&a<=19||t>=L)e._tickround="S";else{var o=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(a,o)-20,e._tickround<0&&(e._tickround=4)}}else if(n(t)||"L"===t.charAt(0)){var s=e.range.map(e.r2d||Number);n(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===e.minexponent?3:e.minexponent;Math.abs(c)>u&&(Te(e.exponentformat)&&"SI extended"!==e.exponentformat&&!ke(c)||Te(e.exponentformat)&&"SI extended"===e.exponentformat&&!Ae(c)?e._tickexponent=3*Math.round((c-1)/3):e._tickexponent=c)}else e._tickround=null}function _e(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}X.autoTicks=function(e,t,r){var i;function a(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if("date"===e.type){e.tick0=o.dateTick0(e.calendar,0);var s=2*t;if(s>g)t/=g,i=a(10),e.dtick="M"+12*ve(t,i,he);else if(s>T)t/=T,e.dtick="M"+ve(t,1,fe);else if(s>E){if(e.dtick=ve(t,E,e._hasDayOfWeekBreaks?[1,2,7,14]:de),!r){var l=X.getTickFormat(e),c="period"===e.ticklabelmode;c&&(e._rawTick0=e.tick0),/%[uVW]/.test(l)?e.tick0=o.dateTick0(e.calendar,2):e.tick0=o.dateTick0(e.calendar,1),c&&(e._dowTick0=e.tick0)}}else s>I?e.dtick=ve(t,I,fe):s>L?e.dtick=ve(t,L,pe):s>P?e.dtick=ve(t,P,pe):(i=a(10),e.dtick=ve(t,i,he))}else if("log"===e.type){e.tick0=0;var u=o.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/t);t=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,i=a(10),e.dtick="L"+ve(t,i,he)}else e.dtick=t>.3?"D2":"D1"}else"category"===e.type||"multicategory"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):Ne(e)?(e.tick0=0,i=1,e.dtick=ve(t,i,ye)):(e.tick0=0,i=a(10),e.dtick=ve(t,i,he));if(0===e.dtick&&(e.dtick=1),!n(e.dtick)&&"string"!=typeof e.dtick){var f=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(f)}},X.tickIncrement=function(e,t,i,a){var s=i?-1:1;if(n(t))return o.increment(e,s*t);var l=t.charAt(0),c=s*Number(t.slice(1));if("M"===l)return o.incrementMonth(e,c,a);if("L"===l)return Math.log(Math.pow(10,e)+c)/Math.LN10;if("D"===l){var u="D2"===t?ge:me,h=e+.01*s,f=o.roundUp(o.mod(h,1),u,i);return Math.floor(h)+Math.log(r.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(t)},X.tickFirst=function(e,t){var i=e.r2l||Number,a=o.simpleMap(e.range,i,void 0,void 0,t),s=a[1]=0&&r<=e._length?t:null};if(l&&o.isArrayOrTypedArray(e.ticktext)){var p=o.simpleMap(e.range,e.r2l),d=(Math.abs(p[1]-p[0])-(e._lBreaks||0))/1e4;for(a=0;a ")}else e._prevDateHead=l,c+="
"+l;t.text=c}(e,s,r,c):"log"===u?function(e,t,r,i,a){var s=e.dtick,l=t.x,c=e.tickformat,u="string"==typeof s&&s.charAt(0);if("never"===a&&(a=""),i&&"L"!==u&&(s="L3",u="L"),c||"L"===u)t.text=Me(Math.pow(10,l),e,a,i);else if(n(s)||"D"===u&&("complete"===e.minorloglabels||o.mod(l+.01,1)<.1)){"complete"===e.minorloglabels&&!(o.mod(l+.01,1)<.1)&&(t.fontSize*=.75);var h=Math.pow(10,l).toExponential(0).split("e"),f=+h[1],p=Math.abs(f),d=e.exponentformat;"power"===d||Te(d)&&"SI extended"!==d&&ke(f)||Te(d)&&"SI extended"===d&&Ae(f)?(t.text=h[0],p>0&&(t.text+="x10"),"1x10"===t.text&&(t.text="10"),0!==f&&1!==f&&(t.text+=""+(f>0?"":O)+p+""),t.fontSize*=1.25):("e"===d||"E"===d)&&p>2?t.text=h[0]+d+(f>0?"+":O)+p:(t.text=Me(Math.pow(10,l),e,"","fakehover"),"D1"===s&&"y"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(s);t.text="none"===e.minorloglabels?"":String(Math.round(Math.pow(10,o.mod(l,1)))),t.fontSize*=.75}if("D1"===e.dtick){var m=String(t.text).charAt(0);("0"===m||"1"===m)&&("y"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(l<0?.5:.25)))}}(e,s,0,c,g):"category"===u?function(e,t){var r=e._categories[Math.round(t.x)];void 0===r&&(r=""),t.text=String(r)}(e,s):"multicategory"===u?function(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}(e,s,r):Ne(e)?function(e,t,r,n,i){if("radians"!==e.thetaunit||r)t.text=Me(t.x,e,i,n);else{var a=t.x/180;if(0===a)t.text="0";else{var s=function(e){function t(e,t){return Math.abs(e-t)<=1e-6}var r=function(e){for(var r=1;!t(Math.round(e*r)/r,e);)r*=10;return r}(e),n=e*r,i=Math.abs(function e(r,n){return t(n,0)?r:e(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(s[1]>=100)t.text=Me(o.deg2rad(t.x),e,i,n);else{var l=t.x<0;1===s[1]?1===s[0]?t.text="π":t.text=s[0]+"π":t.text=["",s[0],"","⁄","",s[1],"","π"].join(""),l&&(t.text=O+t.text)}}}}(e,s,r,c,g):function(e,t,r,n,i){"never"===i?i="":"all"===e.showexponent&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=Me(t.x,e,i,n)}(e,s,0,c,g),i||(e.tickprefix&&!m(e.showtickprefix)&&(s.text=e.tickprefix+s.text),e.ticksuffix&&!m(e.showticksuffix)&&(s.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(s.text)){var y=e.labelalias[s.text];"string"==typeof y&&(s.text=y)}return("boundaries"===e.tickson||e.showdividers)&&(s.xbnd=[f(s.x-.5),f(s.x+e.dtick-.5)]),s},X.hoverLabelText=function(e,t,r){r&&(e=o.extendFlat({},e,{hoverformat:r}));var n=o.isArrayOrTypedArray(t)?t[0]:t,i=o.isArrayOrTypedArray(t)?t[1]:void 0;if(void 0!==i&&i!==n)return X.hoverLabelText(e,n,r)+" - "+X.hoverLabelText(e,i,r);var a="log"===e.type&&n<=0,s=X.tickText(e,e.c2l(a?-n:n),"hover").text;return a?0===n?"0":O+s:s};var be=["f","p","n","μ","m","","k","M","G","T"],we=["q","r","y","z","a",...be,"P","E","Z","Y","R","Q"],Te=e=>["SI","SI extended","B"].includes(e);function ke(e){return e>14||e<-15}function Ae(e){return e>32||e<-30}function Me(e,t,r,i){var a=e<0,s=t._tickround,l=r||t.exponentformat||"B",c=t._tickexponent,u=X.getTickFormat(t),h=t.separatethousands;if(i){var f={exponentformat:l,minexponent:t.minexponent,dtick:"none"===t.showexponent?t.dtick:n(e)&&Math.abs(e)||1,range:"none"===t.showexponent?t.range.map(t.r2d):[0,e||1]};xe(f),s=(Number(f._tickround)||0)+4,c=f._tickexponent,t.hoverformat&&(u=t.hoverformat)}if(u)return t._numFormat(u)(e).replace(/-/g,O);var p,d=Math.pow(10,-s)/2;if("none"===l&&(c=0),(e=Math.abs(e))"+p+"":"B"===l&&9===c?e+="B":Te(l)&&(e+="SI extended"===l?we[c/3+10]:be[c/3+5])),a?O+e:e}function Se(e,t){if(e){var r=Object.keys(V).reduce((function(e,r){return-1!==t.indexOf(r)&&V[r].forEach((function(t){e[t]=1})),e}),{});Object.keys(e).forEach((function(t){r[t]||(1===t.length?e[t]=0:delete e[t])}))}}function Ee(e,t){for(var r=[],n={},i=0;i1&&r=i.min&&e=0,a=u(e,t[1])<=0;return(r||i)&&(n||a)}if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":for(t=0;t=o(i)))){r=n;break}break;case"log":for(t=0;t=0&&i.unshift(i.splice(n,1).shift())}}));var s={false:{left:0,right:0}};return o.syncOrAsync(i.map((function(t){return function(){if(t){var n=X.getFromId(e,t);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=a;var i=X.drawOne(e,n,r);return n._shiftPusher&&Ge(n,n._fullDepth||0,s,!0),n._r=n.range.slice(),n._rl=o.simpleMap(n._r,n.r2l),i}}})))},X.drawOne=function(e,t,r){var n,s,f,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];t.setScale();var m=e._fullLayout,g=t._id,y=g.charAt(0),v=X.counterLetter(g),x=m._plots[t._mainSubplot],_="above traces"===t.zerolinelayer;if(x){if(t._shiftPusher=t.autoshift||-1!==d.indexOf(t._id)||-1!==d.indexOf(t.overlaying),t._shiftPusher&"free"===t.anchor){var b=t.linewidth/2||0;"inside"===t.ticks&&(b+=t.ticklen),Ge(t,b,p,!0),Ge(t,t.shift||0,p,!1)}(!0!==r.skipTitle||void 0===t._shift)&&(t._shift=function(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}(t,p));var w=x[y+"axislayer"],T=t._mainLinePosition,k=T+=t._shift,A=t._mainMirrorPosition,M=t._vals=X.calcTicks(t),S=[t.mirror,k,A].join("_");for(n=0;n0?r.bottom-u:0,h))));var f=0,p=0;if(t._shiftPusher&&(f=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),t.title.text!==m._dfltTitle[y]&&(p=(t._titleStandoff||0)+(t._titleScoot||0),"l"===l&&(p+=Le(t))),t._fullDepth=Math.max(f,p)),t.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof t._shift?t._shift:0;if("x"===y){if("b"===l?n[l]=t._depth:(n[l]=t._depth=Math.max(r.width>0?u-r.top:0,h),d.reverse()),r.width>0){var x=r.right-(t._offset+t._length);x>0&&(n.xr=1,n.r=x);var _=t._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if("l"===l?(t._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=t._depth-g):(t._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=t._depth+g,d.reverse()),r.height>0){var b=r.bottom-(t._offset+t._length);b>0&&(n.yb=0,n.b=b);var w=t._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]="free"===t.anchor?t.position:t._anchorAxis.domain[d[0]],t.title.text!==m._dfltTitle[y]&&(n[l]+=Le(t)+(t.title.standoff||0)),t.mirror&&"free"!==t.anchor&&((o={x:0,y:0,r:0,l:0,t:0,b:0})[c]=t.linewidth,t.mirror&&!0!==t.mirror&&(o[c]+=h),!0===t.mirror||"ticks"===t.mirror?o[v]=t._anchorAxis.domain[d[1]]:("all"===t.mirror||"allticks"===t.mirror)&&(o[v]=[t._counterDomainMin,t._counterDomainMax][d[1]]))}fe&&(s=a.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),"string"==typeof t.automargin&&(Se(n,t.automargin),Se(o,t.automargin)),i.autoMargin(e,De(t),n),i.autoMargin(e,Oe(t),o),i.autoMargin(e,Re(t),s)})),o.syncOrAsync(ue)}}function pe(e){var r=g+(e||"tick");return E[r]||(E[r]=function(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each((function(){var e=ze(this);if("none"!==e.node().style.display){var t=h.bBox(e.node().parentNode);n=Math.min(n,t.top),i=Math.max(i,t.bottom),a=Math.min(a,t.left),o=Math.max(o,t.right)}}));else{var s=X.makeLabelFns(e,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(t,r,k)),E[r]}},X.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:"top",y:"right"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(t?(e.minor||{}).ticks:e.ticks)==("x"===r)&&(a=a.map((function(e){return-e}))),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a},X.makeTransTickFn=function(e){return"x"===e._id.charAt(0)?function(t){return s(e._offset+e.l2p(t.x),0)}:function(t){return s(0,e._offset+e.l2p(t.x))}},X.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(e){return-1!==t.indexOf(e)},i=n("top"),a=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),c="boundaries"!==r&&(s||a||i||o);if(!c&&!l)return[0,0];var u=e.side,h=c?(e.tickwidth||0)/2:0,f=3,p=e.tickfont?e.tickfont.size:12;return(s||i)&&(h+=p*G,f+=(e.linewidth||0)/2),(a||o)&&(h+=(e.linewidth||0)/2,f+=3),l&&"top"===u&&(f-=p*(1-G)),(a||i)&&(h=-h),("bottom"===u||"right"===u)&&(f=-f),[c?h:0,l?f:0]}(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],l=e.ticklabelposition&&-1!==e.ticklabelposition.indexOf("inside"),c=!l;if(r&&(r*=o?-1:1),n){var u=e.side;n*=l&&("top"===u||"left"===u)||c&&("bottom"===u||"right"===u)?1:-1}return"x"===e._id.charAt(0)?function(t){return s(i+e._offset+e.l2p(Ce(t))+r,a+n)}:function(t){return s(a+n,i+e._offset+e.l2p(Ce(t))+r)}},X.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=void 0!==n.len?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return"x"===o?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r},X.makeLabelFns=function(e,t,r){var i=e.ticklabelposition||"",a=e.tickson||"",s=function(e){return-1!==i.indexOf(e)},l=s("top"),c=s("left"),u=s("right"),h=s("bottom"),f="boundaries"!==a&&(h||c||l||u),p=s("inside"),d="inside"===i&&"inside"===e.ticks||!p&&"outside"===e.ticks&&"boundaries"!==a,m=0,g=0,y=d?e.ticklen:0;if(p?y*=-1:f&&(y=0),d&&(m+=y,r)){var v=o.deg2rad(r);m=y*Math.cos(v)+1,g=y*Math.sin(v)}e.showticklabels&&(d||e.showline)&&(m+=.2*e.tickfont.size);var x,_,b,w,T,k={labelStandoff:m+=(e.linewidth||1)/2*(p?-1:1),labelShift:g},A=0,M=e.side,S=e._id.charAt(0),E=e.tickangle;if("x"===S)w=(T=!p&&"bottom"===M||p&&"top"===M)?1:-1,p&&(w*=-1),x=g*w,_=t+m*w,b=T?1:-.2,90===Math.abs(E)&&(p?b+=H:b=-90===E&&"bottom"===M?G:90===E&&"top"===M?H:.5,A=H/2*(E/90)),k.xFn=function(e){return e.dx+x+A*e.fontSize},k.yFn=function(e){return e.dy+_+e.fontSize*b},k.anchorFn=function(e,t){if(f){if(c)return"end";if(u)return"start"}return n(t)&&0!==t&&180!==t?t*w<0!==p?"end":"start":"middle"},k.heightFn=function(t,r,n){return r<-60||r>60?-.5*n:"top"===e.side!==p?-n:0};else if("y"===S){if(w=(T=!p&&"left"===M||p&&"right"===M)?1:-1,p&&(w*=-1),x=m,_=g*w,b=0,!p&&90===Math.abs(E)&&(b=-90===E&&"left"===M||90===E&&"right"===M?G:.5),p){var C=n(E)?+E:0;if(0!==C){var I=o.deg2rad(C);A=Math.abs(Math.sin(I))*G*w,b=0}}k.xFn=function(e){return e.dx+t-(x+e.fontSize*b)*w+A*e.fontSize},k.yFn=function(e){return e.dy+_+e.fontSize*H},k.anchorFn=function(e,t){return n(t)&&90===Math.abs(t)?"middle":T?"end":"start"},k.heightFn=function(t,r,n){return"right"===e.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return k},X.drawTicks=function(e,t,n){n=n||{};var i=t._id+"tick",a=[].concat(t.minor&&t.minor.ticks?n.vals.filter((function(e){return e.minor&&!e.noTick})):[]).concat(t.ticks?n.vals.filter((function(e){return!e.minor&&!e.noTick})):[]),o=n.layer.selectAll("path."+i).data(a,Ie);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==n.crisp).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.tickcolor:t.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(e,r.minor?t.minor.tickwidth:t.tickwidth,1)+"px"})).attr("d",n.path).style("display",null),qe(t,[N]),o.attr("transform",n.transFn)},X.drawGrid=function(e,t,n){if(n=n||{},"sync"!==t.tickmode){var i=t._id+"grid",a=t.minor&&t.minor.showgrid,o=a?n.vals.filter((function(e){return e.minor})):[],s=t.showgrid?n.vals.filter((function(e){return!e.minor})):[],l=n.counterAxis;if(l&&X.shouldShowZeroLine(e,t,l))for(var c="array"===t.tickmode,f=0;f=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,Ie);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==n.crisp),x.attr("transform",n.transFn).attr("d",n.path).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.gridcolor:t.gridcolor||"#ddd")})).style("stroke-dasharray",(function(e){return h.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)})).style("stroke-width",(function(e){return(e.minor?d:t._gw)+"px"})).style("display",null),"function"==typeof n.path&&x.attr("d",n.path)}}qe(t,[B,j])}},X.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=X.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",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(e,t){return J(e.id,t.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,t.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),qe(t,[F])},X.drawLabels=function(e,t,i){i=i||{};var a=e._fullLayout,c=t._id,u="above traces"===t.zerolinelayer,f=i.cls||c+"tick",p=i.vals.filter((function(e){return e.text})),d=i.labelFns,m=i.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[f],y=i.layer.selectAll("g."+f).data(t.showticklabels?p:[],Ie),v=[];function x(e,a){e.each((function(e){var o=r.select(this),c=o.select(".text-math-group"),u=d.anchorFn(e,a),f=i.transFn.call(o.node(),e)+(n(a)&&0!=+a?" rotate("+a+","+d.xFn(e)+","+(d.yFn(e)-e.fontSize/2)+")":""),p=l.lineCount(o),m=Z*e.fontSize,g=d.heightFn(e,n(a)?+a:0,(p-1)*m);if(g&&(f+=s(0,g)),c.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":u}),y.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var v=h.bBox(c.node()).width*{end:-.5,start:.5}[u];c.attr("transform",f+s(v,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(t){var n=r.select(this),i=e._promises.length;n.call(l.positionText,d.xFn(t),d.yFn(t)).call(h.font,{family:t.font,size:t.fontSize,color:t.fontColor,weight:t.fontWeight,style:t.fontStyle,variant:t.fontVariant,textcase:t.fontTextcase,lineposition:t.fontLineposition,shadow:t.fontShadow}).text(t.text).call(l.convertToTspans,e),e._promises[i]?v.push(e._promises.pop().then((function(){x(n,m)}))):x(n,m)})),qe(t,[U]),y.exit().remove(),i.repositionOnUpdate&&y.each((function(e){r.select(this).select("text").call(l.positionText,d.xFn(e),d.yFn(e))})),t._adjustTickLabelsOverflow=function(){var n=t.ticklabeloverflow;if(n&&"allow"!==n){var i=-1!==n.indexOf("hide"),s="x"===t._id.charAt(0),l=0,c=s?e._fullLayout.width:e._fullLayout.height;if(-1!==n.indexOf("domain")){var u=o.simpleMap(t.range,t.r2l);l=t.l2p(u[0])+t._offset,c=t.l2p(u[1])+t._offset}var f=Math.min(l,c),p=Math.max(l,c),d=t.side,m=1/0,g=-1/0;for(var v in y.each((function(e){var n=r.select(this);if(n.select(".text-math-group").empty()){var a=h.bBox(n.node()),o=0;s?(a.right>p||a.leftp||a.top+(t.tickangle?0:e.fontSize/4)t["_visibleLabelMin_"+n._id]?l.style("display","none"):"tick"===e.K&&!i&&"none"!==l.node().style.display&&l.style("display",null)}))}))}))}))},x(y,g+1?g:m);var _=null;t._selections&&(t._selections[f]=y);var b=[function(){return v.length&&Promise.all(v)}];t.automargin&&a._redrawFromAutoMarginCount&&90===g?(_=g,b.push((function(){x(y,g)}))):b.push((function(){if(x(y,m),p.length&&t.autotickangles&&("log"!==t.type||"D"!==String(t.dtick).charAt(0))){_=t.autotickangles[0];var e,r=0,n=[],a=1;y.each((function(e){r=Math.max(r,e.fontSize);var i=t.l2p(e.x),o=ze(this),s=h.bBox(o.node());a=Math.max(a,l.lineCount(o)),n.push({top:0,bottom:10,height:10,left:i-s.width/2,right:i+s.width/2+2,width:s.width+2})}));var s=("boundaries"===t.tickson||t.showdividers)&&!i.secondary,c=p.length,u=Math.abs((p[c-1].x-p[0].x)*t._m)/(c-1),f=s?u/2:u,d=s?t.ticklen:1.25*r*a,g=f/Math.sqrt(Math.pow(f,2)+Math.pow(d,2)),v=t.autotickangles.map((function(e){return e*Math.PI/180})),b=v.find((function(e){return Math.abs(Math.cos(e))<=g}));void 0===b&&(b=v.reduce((function(e,t){return Math.abs(Math.cos(e))R*O&&(P=O,C[E]=I[E]=z[E])}var V=Math.abs(P-L);V-A>0?A*=1+A/(V-=A):A=0,"y"!==t._id.charAt(0)&&(A=-A),C[S]=T.p2r(T.r2p(I[S])+M*A),"min"===T.autorange||"max reversed"===T.autorange?(C[0]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0):("max"===T.autorange||"min reversed"===T.autorange)&&(C[1]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[T._name+".range"]=C}var q=o.syncOrAsync(b);return q&&q.then&&e._promises.push(q),q},X.getPxPosition=function(e,t){var r,n=e._fullLayout._size,i=t._id.charAt(0),a=t.side;return"free"!==t.anchor?r=t._anchorAxis:"x"===i?r={_offset:n.t+(1-(t.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(t.position||0)*n.w+t._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},X.shouldShowZeroLine=function(e,t,r){var n=o.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&("linear"===t.type||"-"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===R)&&(Pe(t,0)||!function(e,t,r,n){var i=r._mainAxis;if(i){var a=e._fullLayout,o=t._id.charAt(0),s=X.counterLetter(t._id),l=t._offset+(Math.abs(n[0])1)for(n=1;n4/3-s?o:s}}}),hr=m({"src/components/dragelement/cursor.js"(e,t){var r=ct(),n=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(e,t,i,a){return e="left"===i?0:"center"===i?1:"right"===i?2:r.constrain(Math.floor(3*e),0,2),t="bottom"===a?0:"middle"===a?1:"top"===a?2:r.constrain(Math.floor(3*t),0,2),n[t][e]}}}),fr=m({"src/components/dragelement/unhover.js"(e,t){var r=dt(),n=Qe(),i=Pe().getGraphDiv,a=N(),o=t.exports={};o.wrapped=function(e,t,r){(e=i(e))._fullLayout&&n.clear(e._fullLayout._uid+a.HOVERID),o.raw(e,t,r)},o.raw=function(e,t){var n=e._fullLayout,i=e._hoverdata;t||(t={}),(!t.target||e._dragged||!1!==r.triggerHandler(e,"plotly_beforehover",t))&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),e._hoverdata=void 0,t.target&&i&&e.emit("plotly_unhover",{event:t,points:i}))}}}),pr=m({"src/components/dragelement/index.js"(e,t){var r=lr(),n=ft(),i=cr(),a=ct().removeElement,o=xt(),s=t.exports={};s.align=ur(),s.getCursor=hr();var l=fr();function c(){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}function u(e){return r(e.changedTouches?e.changedTouches[0]:e,document.body)}s.unhover=l.wrapped,s.unhoverRaw=l.raw,s.init=function(e){var t,r,l,h,f,p,d,m,g=e.gd,y=1,v=g._context.doubleClickDelay,x=e.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=b,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=b,x.addEventListener("touchstart",b,{passive:!1})):x.ontouchstart=b;var _=e.clampFn||function(e,t,r){return Math.abs(e)"u"&&typeof i.clientY>"u"&&(i.clientX=t,i.clientY=r),(l=(new Date).getTime())-g._mouseDownTimev&&(y=Math.max(y-1,1)),g._dragged?e.doneFn&&e.doneFn():(p.target===d?r=p:(r={target:d,srcElement:d,toElement:d},Object.keys(p).concat(Object.keys(p.__proto__)).forEach((e=>{var t=p[e];!r[e]&&"function"!=typeof t&&(r[e]=t)}))),e.clickFn&&e.clickFn(y,r),m||d.dispatchEvent(new MouseEvent("click",t))),g._dragging=!1,g._dragged=!1):g._dragged=!1}},s.coverSlip=c}}),dr=m({"src/lib/setcursor.js"(e,t){t.exports=function(e,t){(e.attr("class")||"").split(" ").forEach((function(t){0===t.indexOf("cursor-")&&e.classed(t,!1)})),t&&e.classed("cursor-"+t,!0)}}}),mr=m({"src/lib/override_cursor.js"(e,t){var r=dr(),n="data-savedcursor";t.exports=function(e,t){var i=e.attr(n);if(t){if(!i){for(var a=(e.attr("class")||"").split(" "),o=0;ot.legend.length)for(var n=t.legend.length;n("legend"===e?1:0));if(!1===S&&(c[e]=void 0),(!1!==S||f.uirevision)&&(d("uirevision",c.uirevision),!1!==S)){d("borderwidth");var E,C,I,L="h"===d("orientation"),P="paper"===d("yref"),z="paper"===d("xref"),D="left";if(L?(E=0,r.getComponentMethod("rangeslider","isVisible")(t.xaxis)?P?(C=1.1,I="bottom"):(C=1,I="top"):P?(C=-.1,I="top"):(C=0,I="bottom")):(C=1,I="auto",z?E=1.02:(E=1,D="right")),n.coerce(f,p,{x:{valType:"number",editType:"legend",min:z?-2:0,max:z?3:1,dflt:E}},"x"),n.coerce(f,p,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:C}},"y"),d("traceorder",w),l.isGrouped(c[e])&&d("tracegroupgap"),d("entrywidth"),d("entrywidthmode"),d("indentation"),d("itemsizing"),d("itemwidth"),d("itemclick"),d("itemdoubleclick"),d("groupclick"),d("xanchor",D),d("yanchor",I),d("maxheight"),d("valign"),n.noneOrAll(f,p,["x","y"]),d("title.text")){d("title.side",L?"left":"top");var O=n.extendFlat({},m,{size:n.bigFont(m.size)});n.coerceFont(d,"title.font",O);let e=h>1;d("titleclick",!!e&&"toggle"),d("titledoubleclick",!!e&&"toggleothers")}}}function R(e){return r.traceIs(e,"pie-like")&&null!=e._length&&(Array.isArray(e.legend)||Array.isArray(e.showlegend))}}t.exports=function(e,t,r){var i,a=r.slice(),o=t.shapes;if(o)for(i=0;ie.showlegend||e.legendgroup));var m=p.concat(d),g=c.trace;g._isShape&&(g=g._fullInput);var y,v,x,_,b,w=g.legendgroup,T={},k=[],A=[],M=[],S=(l.shapes||[]).map((function(e){return e._input})),E=!1;function C(e,t){if(!c.groupTitle||h){var r=e._fullInput||e,n=r._isShape,i=r.index;void 0===i&&(i=r._index);var a=!1!==r.visible&&t;n?function(e,t){S[e].visible=t,E=!0}(i,a):function(e,t){var r=k.indexOf(e),n=T.visible;n||(n=T.visible=[]),-1===k.indexOf(e)&&(k.push(e),r=k.length-1),n[r]=t}(i,a)}}var I=g.legend,L=g._fullInput;if(L&&L._isShape||!t.traceIs(g,"pie-like")){var P,z=w&&w.length,D=[];if(z)for(y=0;ye.showlegend||e.legendgroup)),c=o.concat(l);function u(e){return(e.legend||"legend")===s}var h,f;"toggle"===n?(h=!c.some((function(e){return u(e)&&!0===e.visible})),f=!1):(h=!0,f=!c.some((function(e){return!u(e)&&!0===e.visible&&!1!==e.showlegend})));let p={visible:[]},d=[],m=(a.shapes||[]).map((function(e){return e._input}));for(var g=!1,y=0;yL&&(C=L)}S[o][0]._groupMinRank=C,S[o][0]._preGroupSort=o}var P=function(e,t){return(r(e.trace.legendrank)?e.trace.legendrank[e.i]:e.trace.legendrank)-(r(t.trace.legendrank)?t.trace.legendrank[t.i]:t.trace.legendrank)||e._preSort-t._preSort};for(S.forEach((function(e,t){e[0]._preGroupSort=t})),S.sort((function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort})),o=0;or?r:e}t.exports=function(e,t,g){var y=t._fullLayout;g||(g=y.legend);var v="constant"===g.itemsizing,x=g.itemwidth,_=(x+2*f.itemGap)/2,b=a(_,0),w=function(e,t,r,n){var i;if(e+1)i=e;else{if(!(t&&t.width>0))return 0;i=t.width}return v?n:Math.min(i,r)};function T(e,i,a){var c=e[0].trace,u=c.marker||{},h=u.line||{},f=u.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",p=a?c.visible&&c.type===a:n.traceIs(c,"bar"),d=r.select(i).select("g.legendpoints").selectAll("path.legend"+a).data(p?[e]:[]);d.enter().append("path").classed("legend"+a,!0).attr("d",f).attr("transform",b),d.exit().remove(),d.each((function(e){var n=r.select(this),i=e[0],a=w(i.mlw,u.line,5,2);n.style("stroke-width",a+"px");var f=i.mcc;if(!g._inHover&&"mc"in i){var p=l(u),d=p.mid;void 0===d&&(d=(p.max+p.min)/2),f=o.tryColorscale(u,"")(d)}var y=f||i.mc||u.color,v=u.pattern,x=o.getPatternAttr,_=v&&(x(v.shape,0,"")||x(v.path,0,""));if(_){var b=x(v.bgcolor,0,null),T=x(v.fgcolor,0,null),k=v.fgopacity,A=m(v.size,8,10),M=m(v.solidity,.5,1),S="legend-"+c.uid;n.call(o.pattern,"legend",t,S,_,A,M,f,v.fillmode,b,T,k)}else n.call(s.fill,y);a&&s.stroke(n,i.mlc||h.color)}))}function k(e,a,o){var s=e[0],l=s.trace,c=o?l.visible&&l.type===o:n.traceIs(l,o),f=r.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(c?[e]:[]);if(f.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),f.exit().remove(),f.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),m="pieLike",g=i.minExtend(l,{marker:{line:{width:d}}},m),y=i.minExtend(s,{trace:g},m);u(f,y,g,t)}}e.each((function(e){var t=r.select(this),n=i.ensureSingle(t,"g","layers");n.style("opacity",e[0].trace.opacity);var o=g.indentation,s=g.valign,l=e[0].lineHeight,c=e[0].height;if("middle"===s&&0===o||!l||!c)n.attr("transform",null);else{var u={top:1,bottom:-1}[s]*(.5*(l-c+3))||0,h=g.indentation;n.attr("transform",a(h,u))}n.selectAll("g.legendfill").data([e]).enter().append("g").classed("legendfill",!0),n.selectAll("g.legendlines").data([e]).enter().append("g").classed("legendlines",!0);var f=n.selectAll("g.legendsymbols").data([e]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([e]).enter().append("g").classed("legendpoints",!0)})).each((function(e){var n,a=e[0].trace,c=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":c=[["M-15,-2V4H15V-2Z"]],n=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":c=[["M-6,-6V6H6V-6Z"]],n=!0;break;case"densitymapbox":case"densitymap":c=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],n="radial";break;case"cone":c=[["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"]],n=!1;break;case"streamtube":c=[["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"]],n=!1;break;case"surface":c=[["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"]],n=!0;break;case"mesh3d":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!1;break;case"volume":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!0;break;case"isosurface":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],n=!1}var u=r.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(c);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(e,c){var u,h=r.select(this),f=l(a),d=f.colorscale,m=f.reversescale;if(d){if(!n){var g=d.length;u=0===c?d[m?g-1:0][1]:1===c?d[m?0:g-1][1]:d[Math.floor((g-1)/2)][1]}}else{var y=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(y)?y[c]||y[0]:y}h.attr("d",e[0]),u?h.call(s.fill,u):h.call((function(e){if(e.size()){var r="legendfill-"+a.uid;o.gradient(e,t,r,p(m,"radial"===n),d,"fill")}}))}))})).each((function(e){var t=e[0].trace,n="waterfall"===t.type;if(e[0]._distinct&&n){var i=e[0].trace[e[0].dir].marker;return e[0].mc=i.color,e[0].mlw=i.line.width,e[0].mlc=i.line.color,T(e,this,"waterfall")}var a=[];t.visible&&n&&(a=e[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 o=r.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(e){var n=r.select(this),i=t[e[0]].marker,a=w(void 0,i.line,5,2);n.attr("d",e[1]).style("stroke-width",a+"px").call(s.fill,i.color),a&&n.call(s.stroke,i.line.color)}))})).each((function(e){T(e,this,"funnel")})).each((function(e){T(e,this)})).each((function(e){var a=e[0].trace,l=r.select(this).select("g.legendpoints").selectAll("path.legendbox").data(a.visible&&n.traceIs(a,"box-violin")?[e]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),l.exit().remove(),l.each((function(){var e=r.select(this);if("all"!==a.boxpoints&&"all"!==a.points||0!==s.opacity(a.fillcolor)||0!==s.opacity((a.line||{}).color)){var n=w(void 0,a.line,5,2);e.style("stroke-width",n+"px").call(s.fill,a.fillcolor),n&&s.stroke(e,a.line.color)}else{var c=i.minExtend(a,{marker:{size:v?12:i.constrain(a.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,t)}}))})).each((function(e){k(e,this,"funnelarea")})).each((function(e){k(e,this,"pie")})).each((function(e){var n,a,s=d(e),u=s.showFill,h=s.showLine,f=s.showGradientLine,m=s.showGradientFill,g=s.anyFill,y=s.anyLine,v=e[0],_=v.trace,b=l(_),T=b.colorscale,k=b.reversescale,A=c.hasMarkers(_)||!g?"M5,0":y?"M5,-2":"M5,-3",M=r.select(this),S=M.select(".legendfill").selectAll("path").data(u||m?[e]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(e){if(e.size())if(u)o.fillGroupStyle(e,t,!0);else{var r="legendfill-"+_.uid;o.gradient(e,t,r,p(k),T,"fill")}})),h||f){var E=w(void 0,_.line,10,5);a=i.minExtend(_,{line:{width:E}}),n=[i.minExtend(v,{trace:a})]}var C=M.select(".legendlines").selectAll("path").data(h||f?[n]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(f?"l"+x+",0.0001":"h"+x)).call(h?o.lineGroupStyle:function(e){if(e.size()){var r="legendline-"+_.uid;o.lineGroupStyle(e),o.gradient(e,t,r,p(k),T,"stroke")}})})).each((function(e){var n,a,s=d(e),l=s.anyFill,u=s.anyLine,h=s.showLine,f=s.showMarker,p=e[0],m=p.trace,g=!f&&!u&&!l&&c.hasText(m);function y(e,t,r,n){var a=i.nestedProperty(m,e).get(),o=i.isArrayOrTypedArray(a)&&t?t(a):a;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(e){return p._distinct&&p.index&&e[p.index]?e[p.index]:e[0]}if(f||g||h){var _={},w={};if(f){_.mc=y("marker.color",x),_.mx=y("marker.symbol",x),_.mo=y("marker.opacity",i.mean,[.2,1]),_.mlc=y("marker.line.color",x),_.mlw=y("marker.line.width",i.mean,[0,5],2),_.mld=m._isShape?"solid":y("marker.line.dash",x),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",i.mean,[2,16],12);_.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(_.tx="Aa",_.tp=y("textposition",x),_.ts=10,_.tc=y("textfont.color",x),_.tf=y("textfont.family",x),_.tw=y("textfont.weight",x),_.ty=y("textfont.style",x),_.tv=y("textfont.variant",x),_.tC=y("textfont.textcase",x),_.tE=y("textfont.lineposition",x),_.tS=y("textfont.shadow",x)),n=[i.minExtend(p,_)],(a=i.minExtend(m,w)).selectedpoints=null,a.texttemplate=null}var k=r.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(f?n:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),A.exit().remove(),A.call(o.pointStyle,a,t),f&&(n[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?n:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),M.exit().remove(),M.selectAll("text").call(o.textPointStyle,a,t)})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(t.visible&&"candlestick"===t.type?[e,e]:[]);n.enter().append("path").classed("legendcandle",!0).attr("d",(function(e,t){return t?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(s.fill,a.fillcolor),o&&s.stroke(i,a.line.color)}))})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(t.visible&&"ohlc"===t.type?[e,e]:[]);n.enter().append("path").classed("legendohlc",!0).attr("d",(function(e,t){return t?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],l=w(void 0,a.line,5,2);i.style("fill","none").call(o.dashLine,a.line.dash,l),l&&s.stroke(i,a.line.color)}))}))}}}),Mr=m({"src/components/legend/draw.js"(e,t){var r=b(),n=ct(),i=At(),a=He(),o=dt(),s=pr(),l=er(),c=W(),u=Et(),h=xr().handleItemClick,f=xr().handleTitleClick,p=_r(),d=St(),m=d.LINE_SPACING,g=d.FROM_TL,y=d.FROM_BR,v=br(),x=Ar(),_=yr(),w=/^legend[0-9]*$/;function T(e,t){var h,d,b=t||{},w=e._fullLayout,T=_.getId(b),S=b._inHover;if(S?(d=b.layer,h="hover"):(d=w._infolayer,h=T),d){var P;if(h+=w._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0),S){if(!b.entries)return;P=v(b.entries,b)}else{for(var z=(e.calcdata||[]).slice(),D=w.shapes,O=0;O1)}var B=w.hiddenlabels||[];if(!(S||w.showlegend&&P.length))return d.selectAll("."+T).remove(),w._topdefs.select("#"+h).remove(),i.autoMargin(e,T);var j=n.ensureSingle(d,"g",T,(function(e){S||e.attr("pointer-events","all")})),N=n.ensureSingleById(w._topdefs,"clipPath",h,(function(e){e.append("rect")})),U=n.ensureSingle(j,"rect","bg",(function(e){e.attr("shape-rendering","crispEdges")}));U.call(c.stroke,b.bordercolor).call(c.fill,b.bgcolor).style("stroke-width",b.borderwidth+"px");var V,q=n.ensureSingle(j,"g","scrollbox"),H=b.title;b._titleWidth=0,b._titleHeight=0,H.text?((V=n.ensureSingle(q,"text",T+"titletext")).attr("text-anchor","start").call(l.font,H.font).text(H.text),C(V,q,e,b,1),!S&&(b.titleclick||b.titledoubleclick)&&function(e,t,i,s){if(t._fullData.some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(s):t===s)&&a.traceIs(e,"pie-like")})))return;let l=t._context.doubleClickDelay;var u,h=1;let p=n.ensureSingle(e,"rect",s+"titletoggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(p.on("mousedown",(function(){(u=(new Date).getTime())-t._legendMouseDownTimel&&(h=Math.max(h-1,1));let e={event:r.event,legendId:s,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(1===h&&i.titleclick){if(!1===o.triggerHandler(t,"plotly_legendtitleclick",e))return;i._titleClickTimeout=setTimeout((function(){t._fullLayout&&f(t,i,i.titleclick)}),l)}else 2===h&&(i._titleClickTimeout&&clearTimeout(i._titleClickTimeout),t._legendMouseDownTime=0,!1!==o.triggerHandler(t,"plotly_legendtitledoubleclick",e)&&i.titledoubleclick&&f(t,i,i.titledoubleclick))})))}(q,e,b,T)):(q.selectAll("."+T+"titletext").remove(),q.selectAll("."+T+"titletoggle").remove());var G=n.ensureSingle(j,"rect","scrollbar",(function(e){e.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(P);W.enter().append("g").attr("class","groups"),W.exit().remove();var Z=W.selectAll("g.traces").data(n.identity);Z.enter().append("g").attr("class","traces"),Z.exit().remove(),Z.style("opacity",(function(t){let r=t[0],n=r.trace;if(r.groupTitle){let t=n.legendgroup,r=(w.shapes||[]).filter((function(e){return e.showlegend}));return e._fullData.concat(r).some((function(e){return e.legendgroup===t&&(e.legend||"legend")===T&&!0===e.visible}))?1:.5}return a.traceIs(n,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===n.visible?.5:1})).each((function(){r.select(this).call(M,e,b)})).call(x,e,b).each((function(t){S||t[0].groupTitle&&"toggleitem"===b.groupclick||r.select(this).call(E,e,T)})),n.syncOrAsync([i.previousPromises,function(){return function(e,t,n,i,a){var o=e._fullLayout,s=_.getId(i);i||(i=o[s]);var c=o._size,h=_.isVertical(i),f=_.isGrouped(i),d="fraction"===i.entrywidthmode,g=i.borderwidth,y=2*g,v=p.itemGap,x=i.indentation+i.itemwidth+2*v,b=2*(g+v),w=L(i),T=i.y<0||0===i.y&&"top"===w,A=i.y>1||1===i.y&&"bottom"===w,M=i.tracegroupgap,S={};let{orientation:E,yref:C}=i,{maxheight:P}=i,z=T||A||"v"!==E||"paper"!==C;P||(P=z?.5:1);let D=z?o.height:c.h;i._maxHeight=Math.max(P>1?P:P*D,30);var O=0;i._width=0,i._height=0;var R=function(e){var t=0,r=0,n=e.title.side;return n&&(-1!==n.indexOf("left")&&(t=e._titleWidth),-1!==n.indexOf("top")&&(r=e._titleHeight)),[t,r]}(i);if(h)n.each((function(e){var t=e[0].height;l.setTranslate(this,g+R[0],g+R[1]+i._height+t/2+v),i._height+=t,i._width=Math.max(i._width,e[0].width)})),O=x+i._width,i._width+=v+x+y,i._height+=b,f&&(t.each((function(e,t){l.setTranslate(this,0,t*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var F=I(i),B=i.x<0||0===i.x&&"right"===F,j=i.x>1||1===i.x&&"left"===F,N=A||T,U=o.width/2;i._maxWidth=Math.max(B?N&&"left"===F?c.l+c.w:U:j?N&&"right"===F?c.r+c.w:U:c.w,2*x);var V=0,q=0;n.each((function(e){var t=k(e,i,x);V=Math.max(V,t),q+=t})),O=null;var H=0;if(f){var G=0,W=0,Z=0;t.each((function(){var e=0,t=0;r.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,x),a=r[0].height;l.setTranslate(this,R[0],R[1]+g+v+a/2+t),t+=a,e=Math.max(e,n),S[r[0].trace.legendgroup]=e}));var n=e+v;W>0&&n+g+W>i._maxWidth?(H=Math.max(H,W),W=0,Z+=G+M,G=t):G=Math.max(G,t),l.setTranslate(this,W,Z),W+=n})),i._width=Math.max(H,W)+g,i._height=Z+G+b}else{var Y=n.size(),X=q+y+(Y-1)*v=i._maxWidth&&(H=Math.max(H,Q),K=0,J+=$,i._height+=$,$=0),l.setTranslate(this,R[0]+g+K,R[1]+g+J+t/2+v),Q=K+r+v,K+=n,$=Math.max($,t)})),X?(i._width=K+y,i._height=$+b):(i._width=Math.max(H,Q)+y,i._height+=$+b)}}i._width=Math.ceil(Math.max(i._width+R[0],i._titleWidth+2*(g+p.titlePad))),i._height=Math.ceil(Math.max(i._height+R[1],i._titleHeight+2*(g+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var ee=e._context.edits,te=ee.legendText||ee.legendPosition;n.each((function(e){var t=r.select(this).select("."+s+"toggle"),n=e[0].height,a=e[0].trace.legendgroup,o=k(e,i,x);f&&""!==a&&(o=S[a]);var c=te?x:O||o;!h&&!d&&(c+=v/2),l.setRect(t,0,-n/2,c,n)}));var re=a.select("."+s+"titletext");re.node()&&function(e,t,r){if("top center"===t.title.side||"top right"===t.title.side){var n=t.title.font.size*m,i=0,a=e.node(),o=l.bBox(a).width;"top center"===t.title.side?i=.5*(t._width-2*r-2*p.titlePad-o):"top right"===t.title.side&&(i=t._width-2*r-2*p.titlePad-o),u.positionText(e,r+p.titlePad+i,r+n)}}(re,i,g);var ne=a.select("."+s+"titletoggle");if(ne.size()&&re.node()){var ie=re.attr("x")||0,ae=p.titlePad;l.setRect(ne,ie-ae,g,i._titleWidth+2*ae,i._titleHeight+2*ae)}}(e,W,Z,b,q)},function(){var t,o,c,u,f=w._size,m=b.borderwidth,v="paper"===b.xref,x="paper"===b.yref;if(H.text){let t=(w.shapes||[]).filter((function(e){return e.showlegend})),r=e._fullData.concat(t).some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(T):t===T)&&!0===e.visible}));V.style("opacity",r?1:.5)}if(!S){var _,k;_=v?f.l+f.w*b.x-g[I(b)]*b._width:w.width*b.x-g[I(b)]*b._width,k=x?f.t+f.h*(1-b.y)-g[L(b)]*b._effHeight:w.height*(1-b.y)-g[L(b)]*b._effHeight;var M=function(e,t,r,n){var a=e._fullLayout,o=a[t],s=I(o),l=L(o),c="paper"===o.xref,u="paper"===o.yref;e._fullLayout._reservedMargin[t]={};var h=o.y<.5?"b":"t",f=o.x<.5?"l":"r",p={r:a.width-r,l:r+o._width,b:a.height-n,t:n+o._effHeight};if(c&&u)return i.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?e._fullLayout._reservedMargin[t][h]=p[h]:u||"v"===o.orientation?e._fullLayout._reservedMargin[t][f]=p[f]:e._fullLayout._reservedMargin[t][h]=p[h]}(e,T,_,k);if(M)return;if(w.margin.autoexpand){var E=_,C=k;_=v?n.constrain(_,0,w.width-b._width):E,k=x?n.constrain(k,0,w.height-b._effHeight):C,_!==E&&n.log("Constrain "+T+".x to make legend fit inside graph"),k!==C&&n.log("Constrain "+T+".y to make legend fit inside graph")}l.setTranslate(j,_,k)}if(G.on(".drag",null),j.on("wheel",null),S||b._height<=b._maxHeight||e._context.staticPlot){var P=b._effHeight;S&&(P=b._height),U.attr({width:b._width-m,height:P-m,x:m/2,y:m/2}),l.setTranslate(q,0,0),N.select("rect").attr({width:b._width-2*m,height:P-2*m,x:m,y:m}),l.setClipUrl(q,h,e),l.setRect(G,0,0,0,0),delete b._scrollY}else{var z=Math.max(p.scrollBarMinHeight,b._effHeight*b._effHeight/b._height),D=b._effHeight-z-2*p.scrollBarMargin,O=b._height-b._effHeight,R=D/O,F=Math.min(b._scrollY||0,O);U.attr({width:b._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:b._effHeight-m,x:m/2,y:m/2}),N.select("rect").attr({width:b._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:b._effHeight-2*m,x:m,y:m+F}),l.setClipUrl(q,h,e),$(F,z,R),j.on("wheel",(function(){$(F=n.constrain(b._scrollY+r.event.deltaY/O*D,0,O),z,R),0!==F&&F!==O&&r.event.preventDefault()}));var B,W,Z,Y=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;B="touchstart"===e.type?e.changedTouches[0].clientY:e.clientY,Z=F})).on("drag",(function(){var e=r.event.sourceEvent;2===e.buttons||e.ctrlKey||(W="touchmove"===e.type?e.changedTouches[0].clientY:e.clientY,F=function(e,t,r){var i=(r-t)/R+e;return n.constrain(i,0,O)}(Z,B,W),$(F,z,R))}));G.call(Y);var X=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;"touchstart"===e.type&&(B=e.changedTouches[0].clientY,Z=F)})).on("drag",(function(){var e=r.event.sourceEvent;"touchmove"===e.type&&(W=e.changedTouches[0].clientY,F=function(e,t,r){var i=(t-r)/R+e;return n.constrain(i,0,O)}(Z,B,W),$(F,z,R))}));q.call(X)}function $(t,r,n){b._scrollY=e._fullLayout[T]._scrollY=t,l.setTranslate(q,0,-t),l.setRect(G,b._width,p.scrollBarMargin+t*n,p.scrollBarWidth,r),N.select("rect").attr("y",m+t)}e._context.edits.legendPosition&&(j.classed("cursor-move",!0),s.init({element:j.node(),gd:e,prepFn:function(e){if(e.target!==G.node()){var t=l.getTranslate(j);c=t.x,u=t.y}},moveFn:function(e,r){if(void 0!==c&&void 0!==u){var n=c+e,i=u+r;l.setTranslate(j,n,i),t=s.align(n,b._width,f.l,f.l+f.w,b.xanchor),o=s.align(i+b._height,-b._height,f.t+f.h,f.t,b.yanchor)}},doneFn:function(){if(void 0!==t&&void 0!==o){var r={};r[T+".x"]=t,r[T+".y"]=o,a.call("_guiRelayout",e,r)}},clickFn:function(t,r){var n=d.selectAll("g.traces").filter((function(){var e=this.getBoundingClientRect();return r.clientX>=e.left&&r.clientX<=e.right&&r.clientY>=e.top&&r.clientY<=e.bottom}));n.size()>0&&A(e,b,n,t,r)}}))}],e)}}function k(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return"fraction"===a?t._maxWidth*o:r+(o||i)}function A(e,t,r,n,i){var s=e._fullLayout,l=r.data()[0][0].trace,c=t.itemclick,u=t.itemdoubleclick,f={event:i,node:r.node(),curveNumber:l.index,expandedIndex:l.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:s};l._group&&(f.group=l._group),a.traceIs(l,"pie-like")&&(f.label=r.datum()[0].label);var p=o.triggerHandler(e,"plotly_legendclick",f);if(1===n){if(!1===p)return;t._clickTimeout=setTimeout((function(){e._fullLayout&&c&&h(r,e,t,c)}),e._context.doubleClickDelay)}else 2===n&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==o.triggerHandler(e,"plotly_legenddoubleclick",f)&&!1!==p&&u&&h(r,e,t,u))}function M(e,t,r){var i,o,s=_.getId(r),c=e.data()[0][0],h=c.trace,f=a.traceIs(h,"pie-like"),d=!r._inHover&&t._context.edits.legendText&&!f,m=r._maxNameLength;c.groupTitle?(i=c.groupTitle.text,o=c.groupTitle.font):(o=r.font,r.entries?i=c.text:(i=f?c.label:h.name,h._meta&&(i=n.templateString(i,h._meta))));var g=n.ensureSingle(e,"text",s+"text");g.attr("text-anchor","start").call(l.font,o).text(d?S(i,m):i);var y=r.indentation+r.itemwidth+2*p.itemGap;u.positionText(g,y,0),d?g.call(u.makeEditable,{gd:t,text:i}).call(C,e,t,r).on("edit",(function(n){this.text(S(n,m)).call(C,e,t,r);var i=c.trace._fullInput||{},o={};return o.name=n,i._isShape?a.call("_guiRelayout",t,"shapes["+h.index+"].name",o.name):a.call("_guiRestyle",t,o,h.index)})):C(g,e,t,r)}function S(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;for(var n=r-(e=e||"").length;n>0;n--)e+=" ";return e}function E(e,t,i){var a,o=t._context.doubleClickDelay,s=1,l=n.ensureSingle(e,"rect",i+"toggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-t._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(t,n,e,s,r.event)}})))}function C(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),u.convertToTspans(e,r,(function(){!function(e,t,r,n){var i=e.data()[0][0],a=i&&i.trace.showlegend;if(Array.isArray(a)&&(a=!1!==a[i.i]),r._inHover||!i||a){var o=e.select("g[class*=math-group]"),s=o.node(),c=_.getId(r);r||(r=t._fullLayout[c]);var h,f,d=r.borderwidth,g=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(s){var y=l.bBox(s);h=y.height,f=y.width,1===n?l.setTranslate(o,d,d+.75*h):l.setTranslate(o,0,.25*h)}else{var v="."+c+(1===n?"title":"")+"text",x=e.select(v),b=u.lineCount(x),w=x.node();if(h=g*b,f=w?l.bBox(w).width:0,1===n)"left"===r.title.side&&(f+=2*p.itemGap),u.positionText(x,d+p.titlePad,d+g);else{var T=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(T=p.itemGap,f-=r.indentation+r.itemwidth),u.positionText(x,T,-g*((b-1)/2-.3))}}1===n?(r._titleWidth=f,r._titleHeight=h):(i.lineHeight=g,i.height=Math.max(h,16)+3,i.width=f)}else e.remove()}(t,r,n,i)}))}function I(e){return n.isRightAnchor(e)?"right":n.isCenterAnchor(e)?"center":"left"}function L(e){return n.isBottomAnchor(e)?"bottom":n.isMiddleAnchor(e)?"middle":"top"}t.exports=function(e,t){if(t)T(e,t);else{var n=e._fullLayout,i=n._legends;n._infolayer.selectAll('[class^="legend"]').each((function(){var e=r.select(this),t=e.attr("class").split(" ")[0];t.match(w)&&-1===i.indexOf(t)&&e.remove()}));for(var a=0;a$[0]._length||be<0||be>K[0]._length)return p.unhoverRaw(e,n)}else _e="xpx"in n?n.xpx:$[0]._length/2,be="ypx"in n?n.ypx:K[0]._length/2;if(n.pointerX=_e+$[0]._offset,n.pointerY=be+K[0]._offset,ne="xval"in n?y.flat(_,n.xval):y.p2c($,_e),ie="yval"in n?y.flat(_,n.yval):y.p2c(K,be),!r(ne[0])||!r(ie[0]))return i.warn("Fx.hover failed",n,e),p.unhoverRaw(e,n)}b.clickanywhere&&(e._hoverXVals=ne,e._hoverYVals=ie,e._hoverXAxes=$,e._hoverYAxes=K);var Ae=1/0;function Me(t,a){for(oe=0;oeme&&(ge.splice(0,me),Ae=ge[0].distance),M&&0!==re&&0===ge.length){de.distance=re,de.index=!1;var u=le._module.hoverPoints(de,fe,pe,"closest",{hoverLayer:b._hoverlayer});if(u&&(u=u.filter((function(e){return e.spikeDistance<=re}))),u&&u.length){var h,p=u.filter((function(e){return e.xa.showspikes&&"hovered data"!==e.xa.spikesnap}));if(p.length){var d=p[0];r(d.x0)&&r(d.y0)&&(h=Ee(d),(!ve.vLinePoint||ve.vLinePoint.spikeDistance>h.spikeDistance)&&(ve.vLinePoint=h))}var m=u.filter((function(e){return e.ya.showspikes&&"hovered data"!==e.ya.spikesnap}));if(m.length){var g=m[0];r(g.x0)&&r(g.y0)&&(h=Ee(g),(!ve.hLinePoint||ve.hLinePoint.spikeDistance>h.spikeDistance)&&(ve.hLinePoint=h))}}}}}function Se(e,t,r){for(var n,i=null,a=1/0,o=0;oe.trace.index===je.trace.index)):[je]).length;Me(G("x",je,b),G("y",je,b));var Ue,Ve=[],qe={},He=0,Ge=function(e){var t=I[e.trace.type]?z(e):e.trace.index;if(qe[t]){var r=qe[t]-1,n=Ve[r];r>0&&Math.abs(e.distance)Ne-1;Ue--)Ge(ge[Ue]);ge=Ve,Pe()}var We=e._hoverdata,Ze=[],Ye=Z(e),Xe=Y(e);for(let e of ge){var $e=y.makeEventData(e,e.trace,e.cd);if(!1!==e.hovertemplate){var Ke=!1;e.cd[e.index]&&e.cd[e.index].ht&&(Ke=e.cd[e.index].ht),e.hovertemplate=Ke||e.trace.hovertemplate||!1}if(e.xa&&e.ya){var Je=e.x0+e.xa._offset,Qe=e.x1+e.xa._offset,et=e.y0+e.ya._offset,tt=e.y1+e.ya._offset,rt=Math.min(Je,Qe),nt=Math.max(Je,Qe),it=Math.min(et,tt),at=Math.max(et,tt);$e.bbox={x0:rt+Xe,x1:nt+Xe,y0:it+Ye,y1:at+Ye},$e.xPixel=(Je+Qe)/2,$e.yPixel=(et+tt)/2}e.eventData=[$e],Ze.push($e)}e._hoverdata=Ze;var ot="y"===S&&(ye.length>1||ge.length>1)||"closest"===S&&xe&&ge.length>1,st=f.combine(b.plot_bgcolor||f.background,b.paper_bgcolor),lt=O(ge,{gd:e,hovermode:S,rotateLabels:ot,bgColor:st,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),ct=lt.hoverLabels;if(y.isUnifiedHover(S)||(function(e,t,r,n){var i,a,o,s,l,c,u,h=t?"xa":"ya",f=t?"ya":"xa",p=0,d=1,m=e.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(e){return e*r._invScaleX},T=function(e){return e*r._invScaleY};function A(e){var t=e[0],r=e[e.length-1];if(a=t.pmin-t.pos-t.dp+t.size,o=r.pos+r.dp+r.size-t.pmax,a>.01){for(l=e.length-1;l>=0;l--)e[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=e.length-1;l>=0;l--)e[l].dp-=o;i=!1}if(i){var n=0;for(s=0;st.pmax&&n++;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos>t.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)e[l].dp-=o;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos+c.dp+c.size>t.pmax&&(c.del=!0,n--)}}}for(e.each((function(e){var n=e[h],i=e[f],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,p=B(e,t),m=e.anchor,A="end"===m?-1:1;if("middle"===m)u=(c=e.crossPos+(a?T(p.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(a?T(e.by):w(e.bx));else if(a)u=(c=e.crossPos+T(E+p.y)-T(e.by/2-E))+T(e.by);else{var M=w(A*E+p.x),S=M+w(A*e.bx);c=e.crossPos+Math.min(M,S),u=e.crossPos+Math.max(M,S)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(e,t){return e[0].posref-t[0].posref||d*(t[0].traceIndex-e[0].traceIndex)}));!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),u=0,l=M.length-1;l>=0;l--)u+=M[l].dp;for(o=u/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var L=g[s];for(l=L.length-1;l>=0;l--){var P=L[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ct,ot,b,lt.commonLabelBoundingBox),j(ct,ot,b._invScaleX,b._invScaleY)),c&&c.tagName){var ut=g.getComponentMethod("annotations","hasClickToShow")(e,Ze);u(t.select(c),ut?"pointer":"")}var ht=function(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)||i.binNumber!==a.binNumber)return!0}return!1}(e,0,We);function ft(t){e.emit("plotly_hover",{event:n,points:t,xaxes:$,yaxes:K,xvals:ne,yvals:ie})}c&&!s&&(ht||b.hoveranywhere)&&(We&&ht&&e.emit("plotly_unhover",{event:n,points:We}),ft(e._hoverdata))}(e,n,o,s,c)}))},e.loneHover=function(e,r){var n=!0;Array.isArray(e)||(n=!1,e=[e]);var i=r.gd,a=Z(i),o=Y(i),s=!1,l=O(e.map((function(e){var t=e._x0||e.x0||e.x||0,n=e._x1||e.x1||e.x||0,s=e._y0||e.y0||e.y||0,l=e._y1||e.y1||e.y||0,c=e.eventData;if(c){var u=Math.min(t,n),h=Math.max(t,n),p=Math.min(s,l),d=Math.max(s,l),m=e.trace;if(g.traceIs(m,"gl3d")){var y=i._fullLayout[m.scene]._scene.container,v=y.offsetLeft,x=y.offsetTop;u+=v,h+=v,p+=x,d+=x}c.bbox={x0:u+o,x1:h+o,y0:p+a,y1:d+a},c.xPixel=(t+n)/2,c.yPixel=(s+l)/2,r.inOut_bbox&&r.inOut_bbox.push(c.bbox)}else c=!1;return{color:e.color||f.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontVariant:e.fontVariant,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:"closest",rotateLabels:s,bgColor:r.bgColor||f.background,container:t.select(r.container),outerContainer:r.outerContainer||r.container}).hoverLabels,c=0,u=0;return l.sort((function(e,t){return e.y0-t.y0})).each((function(e,t){var n=e.y0-e.by/2;e.offset=n-5([\s\S]*)<\/extra>/;function O(e,r){var n=r.gd,a=n._fullLayout,l=r.hovermode,u=r.rotateLabels,p=r.bgColor,d=r.container,m=r.outerContainer,b=r.commonLabelOpts||{};if(0===e.length)return[[]];var T=r.fontFamily||v.HOVERFONT,k=r.fontSize||v.HOVERFONTSIZE,A=r.fontWeight||a.font.weight,M=r.fontStyle||a.font.style,S=r.fontVariant||a.font.variant,I=r.fontTextcase||a.font.textcase,L=r.fontLineposition||a.font.lineposition,P=r.fontShadow||a.font.shadow,D=e[0],O=D.xa,F=D.ya,B=l.charAt(0),j=B+"Label",N=D[j];if(void 0===N&&"multicategory"===O.type)for(var U=0;Ua.width-w&&(z=a.width-w),r.attr("d","M"+(y-z)+",0L"+(y-z+E)+","+_+E+"H"+w+"v"+_+(2*C+x.height)+"H"+-w+"V"+_+E+"H"+(y-z-E)+"Z"),y=z,Q.minX=y-w,Q.maxX=y+w,"top"===O.side?(Q.minY=v-(2*C+x.height),Q.maxY=v-C):(Q.minY=v+C,Q.maxY=v+(2*C+x.height))}else{var R,B,j;"right"===F.side?(R="start",B=1,j="",y=O._offset+O._length):(R="end",B=-1,j="-",y=O._offset),v=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",R),r.attr("d","M0,0L"+j+E+","+E+"V"+(C+x.height/2)+"h"+j+(2*C+x.width)+"V-"+(C+x.height/2)+"H"+j+E+"V-"+E+"Z"),Q.minY=v-(C+x.height/2),Q.maxY=v+(C+x.height/2),"right"===F.side?(Q.minX=y+E,Q.maxX=y+E+(2*C+x.width)):(Q.minX=y-E-(2*C+x.width),Q.maxX=y-E);var U,V=x.height/2,H=q-x.top-V,G="clip"+a._uid+"commonlabel"+F._id;if(y"none"!==e.hoverinfo));if(0===t.length)return[];var ee=a.hoverlabel,te=ee.font,re=t[0],ne=(("x unified"===l?re.xa:re.ya).unifiedhovertitle||{}).text,ie={showlegend:!0,legend:{title:{text:ne?i.hovertemplateString({data:"x unified"===l?[{xa:re.xa,x:re.xVal}]:[{ya:re.ya,y:re.yVal}],fallback:re.trace.hovertemplatefallback,locale:a._d3locale,template:ne}):N,font:te},font:te,bgcolor:ee.bgcolor,bordercolor:ee.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:a.legend?a.legend.traceorder:void 0,orientation:"v"}},ae={font:te};x(ie,ae,n._fullData);var oe=ae.legend;oe.entries=[];for(var se=0;se=0?me:ge+xe=0?ge:Se+xe=0?pe:de+_e=0?de:Ee+_e=0,"top"!==e.idealAlign&&K||!J?K?(j+=V/2,e.anchor="start"):e.anchor="middle":(j-=V/2,e.anchor="end"),e.crossPos=j;else{if(e.pos=j,K=B+U/2+Q<=H,J=B-U/2-Q>=0,"left"!==e.idealAlign&&K||!J)if(K)B+=U/2,e.anchor="start";else{e.anchor="middle";var ee=Q/2,te=B+ee-H,re=B-ee;te>0&&(B-=te),re<0&&(B+=-re)}else B-=U/2,e.anchor="end";e.crossPos=B}b.attr("text-anchor",e.anchor),D&&z.attr("text-anchor",e.anchor),r.attr("transform",o(B,j)+(u?s(w):""))})),{hoverLabels:Ce,commonLabelBoundingBox:Q}}function R(e,t,r,n,a,o){var s,l,c="",u="";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=i.templateString(e.name,e.trace._meta)),c=H(e.name,e.nameLength));var h=r.charAt(0),f="x"===h?"y":"x";void 0!==e.zLabel?(void 0!==e.xLabel&&(u+="x: "+e.xLabel+"
"),void 0!==e.yLabel&&(u+="y: "+e.yLabel+"
"),"choropleth"!==e.trace.type&&"choroplethmapbox"!==e.trace.type&&"choroplethmap"!==e.trace.type&&(u+=(u?"z: ":"")+e.zLabel)):t&&e[h+"Label"]===a?u=e[f+"Label"]||"":void 0===e.xLabel?void 0!==e.yLabel&&"scattercarpet"!==e.trace.type&&(u=e.yLabel):u=void 0===e.yLabel?e.xLabel:"("+e.xLabel+", "+e.yLabel+")",(e.text||0===e.text)&&!Array.isArray(e.text)&&(u+=(u?"
":"")+e.text),void 0!==e.extraText&&(u+=(u?"
":"")+e.extraText),o&&""===u&&!e.hovertemplate&&(""===c&&o.remove(),u=c),null!=(l=null==(s=e.trace)?void 0:s.hoverlabel)&&l.split&&(e.hovertemplate="");let{hovertemplate:p=!1}=e;if(p){let t=e.hovertemplateLabels||e;e[h+"Label"]!==a&&(t[h+"other"]=t[h+"Val"],t[h+"otherLabel"]=t[h+"Label"]),u=(u=i.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:t,locale:n._d3locale,template:p})).replace(D,((t,r)=>(c=H(r,e.nameLength),"")))}return[u,c]}function B(e,t){var r=0,n=e.offset;return t&&(n*=-S,r=e.offset*A),{x:r,y:n}}function j(e,r,n,i){var a=function(e){return e*n},o=function(e){return e*i};e.each((function(e){var n=t.select(this);if(e.del)return n.remove();var i,s=n.select("text.nums"),l=e.anchor,u="end"===l?-1:1,f=function(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(E+C),n=r+t*(e.txwidth+C);return"middle"===e.anchor&&(r-=e.tx2width/2,n+=e.txwidth/2+C),{alignShift:t,textShiftX:r,text2ShiftX:n}}(e),p=B(e,r),d=p.x,m=p.y,g="middle"===l,y=!("hoverlabel"in e.trace)||e.trace.hoverlabel.showarrow;i=g?"M-"+a(e.bx/2+e.tx2width/2)+","+o(m-e.by/2)+"h"+a(e.bx)+"v"+o(e.by)+"h-"+a(e.bx)+"Z":y?"M0,0L"+a(u*E+d)+","+o(E+m)+"v"+o(e.by/2-E)+"h"+a(u*e.bx)+"v-"+o(e.by)+"H"+a(u*E+d)+"V"+o(m-E)+"Z":"M"+a(u*E+d)+","+o(m-e.by/2)+"h"+a(u*e.bx)+"v"+o(e.by)+"h"+a(-u*e.bx)+"Z",n.select("path").attr("d",i);var v=d+f.textShiftX,x=m+e.ty0-e.by/2+C,_=e.textAlign||"auto";"auto"!==_&&("left"===_&&"start"!==l?(s.attr("text-anchor","start"),v=g?-e.bx/2-e.tx2width/2+C:-e.bx-C):"right"===_&&"end"!==l&&(s.attr("text-anchor","end"),v=g?e.bx/2-e.tx2width/2-C:e.bx+C)),s.call(c.positionText,a(v),o(x)),e.tx2width&&(n.select("text.name").call(c.positionText,a(f.text2ShiftX+f.alignShift*C+d),o(m+e.ty0-e.by/2+C)),n.select("rect").call(h.setRect,a(f.text2ShiftX+(f.alignShift-1)*e.tx2width/2+d),o(m-e.by/2-1),a(e.tx2width),o(e.by+2)))}))}function U(e,t){var n=e.index,a=e.trace||{},o=e.cd[0],s=e.cd[n]||{};function l(e){return e||r(e)&&0===e}var c=Array.isArray(n)?function(e,t){var r=i.castOption(o,n,e);return l(r)?r:i.extractOption({},a,"",t)}:function(e,t){return i.extractOption(s,a,e,t)};function u(t,r,n){var i=c(r,n);l(i)&&(e[t]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("fontWeight","htw","hoverlabel.font.weight"),u("fontStyle","hty","hoverlabel.font.style"),u("fontVariant","htv","hoverlabel.font.variant"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),e.posref="y"===t||"closest"===t&&"h"===a.orientation?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=i.constrain(e.x0,0,e.xa._length),e.x1=i.constrain(e.x1,0,e.xa._length),e.y0=i.constrain(e.y0,0,e.ya._length),e.y1=i.constrain(e.y1,0,e.ya._length),void 0!==e.xLabelVal&&(e.xLabel="xLabel"in e?e.xLabel:d.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),void 0!==e.yLabelVal&&(e.yLabel="yLabel"in e?e.yLabel:d.hoverLabelText(e.ya,e.yLabelVal,a.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),void 0!==e.zLabelVal&&void 0===e.zLabel&&(e.zLabel=String(e.zLabelVal)),!(isNaN(e.xerr)||"log"===e.xa.type&&e.xerr<=0)){var h=d.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;void 0!==e.xerrneg?e.xLabel+=" +"+h+" / -"+d.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" ± "+h,"x"===t&&(e.distance+=1)}if(!(isNaN(e.yerr)||"log"===e.ya.type&&e.yerr<=0)){var f=d.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;void 0!==e.yerrneg?e.yLabel+=" +"+f+" / -"+d.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" ± "+f,"y"===t&&(e.distance+=1)}var p=e.hoverinfo||e.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(e.xLabel=void 0),-1===p.indexOf("y")&&(e.yLabel=void 0),-1===p.indexOf("z")&&(e.zLabel=void 0),-1===p.indexOf("text")&&(e.text=void 0),-1===p.indexOf("name")&&(e.name=void 0)),e}function V(e,t,r){var i,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!t.hLinePoint,p=!!t.vLinePoint;if(o.selectAll(".spikeline").remove(),p||u){var m=f.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var g,y,v=t.hLinePoint;i=v&&v.xa,"cursor"===(a=v&&v.ya).spikesnap?(g=c.pointerX,y=c.pointerY):(g=i._offset+v.x,y=a._offset+v.y);var x,_,b=n.readability(v.color,m)<1.5?f.contrast(m):v.color,w=a.spikemode,T=a.spikethickness,k=a.spikecolor||b,A=d.getPxPosition(e,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,_=g),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,_=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(a.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T+2,stroke:m}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(p){var E,C,I=t.vLinePoint;i=I&&I.xa,a=I&&I.ya,"cursor"===i.spikesnap?(E=c.pointerX,C=c.pointerY):(E=i._offset+I.x,C=a._offset+I.y);var L,P,z=n.readability(I.color,m)<1.5?f.contrast(m):I.color,D=i.spikemode,O=i.spikethickness,R=i.spikecolor||z,F=d.getPxPosition(e,i);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(L=F,P=C),-1!==D.indexOf("across")){var B=i._counterDomainMin,j=i._counterDomainMax;"free"===i.anchor&&(B=Math.min(B,i.position),j=Math.max(j,i.position)),L=l.t+(1-j)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:P,"stroke-width":O,stroke:R,"stroke-dasharray":h.dashStyle(i.spikedash,O)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:P,"stroke-width":O+2,stroke:m}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==i.side?O:-O),r:O,fill:R}).classed("spikeline",!0)}}}function q(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function H(e,t){return c.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function G(e,t,r){var n=t[e+"a"],i=t[e+"Val"],a=t.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=t.trace[e+"periodalignment"];if(o){var s=t.cd[t.index],l=s[e+"Start"];void 0===l&&(l=s[e]);var c=s[e+"End"];void 0===c&&(c=s[e]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"===r.boxmode||"group"===r.violinmode)&&(i+=a.t.dPos),i}var Z=e=>e.offsetTop+e.clientTop,Y=e=>e.offsetLeft+e.clientLeft;function X(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),a=n.left,o=n.top,s=a+n.width,l=o+n.height,c=i.apply3DTransform(r._invTransform)(a,o),u=i.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}}}),Er=m({"src/components/fx/hoverlabel_defaults.js"(e,t){var r=ct(),n=W(),i=Kt().isUnifiedHover;t.exports=function(e,t,a,o){o=o||{};var s=t.legend;function l(e){o.font[e]||(o.font[e]=s?t.legend.font[e]:t.font[e])}t&&i(t.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=n.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),a("hoverlabel.bgcolor",o.bgcolor),a("hoverlabel.bordercolor",o.bordercolor),a("hoverlabel.namelength",o.namelength),a("hoverlabel.showarrow",o.showarrow),r.coerceFont(a,"hoverlabel.font",o.font),a("hoverlabel.align",o.align)}}}),Cr=m({"src/components/fx/layout_global_defaults.js"(e,t){var r=ct(),n=Er(),i=U();t.exports=function(e,t){n(e,t,(function(n,a){return r.coerce(e,t,i,n,a)}))}}}),Ir=m({"src/components/fx/defaults.js"(e,t){var r=ct(),n=V(),i=Er();t.exports=function(e,t,a,o){var s=r.extendFlat({},o.hoverlabel);t.hovertemplate&&(s.namelength=-1),i(e,t,(function(i,a){return r.coerce(e,t,n,i,a)}),s)}}}),Lr=m({"src/components/fx/hovermode_defaults.js"(e,t){var r=ct(),n=U();t.exports=function(e,t){function i(i,a){return void 0!==t[i]?t[i]:r.coerce(e,t,n,i,a)}return i("clickmode"),i("hoversubplots"),i("hoveranywhere"),i("clickanywhere"),i("hovermode")}}}),Pr=m({"src/components/fx/layout_defaults.js"(e,t){var r=ct(),n=U(),i=Lr(),a=Er();t.exports=function(e,t){function o(i,a){return r.coerce(e,t,n,i,a)}var s=i(e,t);s&&(o("hoverdistance"),o("spikedistance"),-1!==s.indexOf("unified")&&o("hoversort")),"select"===o("dragmode")&&o("selectdirection");var l=t._has("mapbox"),c=t._has("map"),u=t._has("geo"),h=t._basePlotModules.length;"zoom"===t.dragmode&&((l||c||u)&&1===h||(l||c)&&u&&2===h)&&(t.dragmode="pan"),a(e,t,o),r.coerceFont(o,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),zr=m({"src/components/fx/calc.js"(e,t){var r=ct(),n=He();function i(e,t,n,i){i=i||r.identity,Array.isArray(e)&&(t[0][n]=i(e))}t.exports=function(e){var t=e.calcdata,a=e._fullLayout;function o(e){return function(t){return r.coerceHoverinfo({hoverinfo:t},{_module:e._module},a)}}for(var s=0;s"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),jr=m({"src/components/shapes/draw_newshape/constants.js"(e,t){t.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),Nr=m({"src/components/selections/helpers.js"(e,t){var r=ct().strTranslate;function n(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)}}t.exports={p2r:n,r2p:function(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)}},axValue:function(e){var t="y"===e._id.charAt(0)?1:0;return function(r){return n(e,r[t])}},getTransform:function(e){return r(e.xaxis._offset,e.yaxis._offset)}}}}),Ur=m({"src/components/shapes/draw_newshape/helpers.js"(e){var t=Jt(),r=jr(),n=r.CIRCLE_SIDES,i=r.SQRT2,a=Nr(),o=a.p2r,s=a.r2p,l=[0,3,4,5,6,1,2],c=[0,3,4,1,2];function u(e,t){return Math.abs(e-t)<=1e-6}function h(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}e.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&u{let r=t.charAt(0);return e+(void 0!==a[r].drawn?1:0)}),0)},e.getDataToPixel=function(t,r,n,a,o){var s,l=t._fullLayout._size;if(r)if("domain"===o)s=function(e){return r._length*(a?1-e:e)+r._offset};else{var c=e.shapePositionToRange(r);s=function(e){var t=i(r,n);return r._offset+r.r2p(c(e,!0))+t},"date"===r.type&&(s=e.decodeDate(s))}else s=a?function(e){return l.t+l.h*(1-e)}:function(e){return l.l+l.w*e};return s},e.getPixelToData=function(t,r,n,i){var a,o=t._fullLayout._size;if(r)if("domain"===i)a=function(e){var t=(e-r._offset)/r._length;return n?1-t:t};else{var s=e.rangeToShapePosition(r);a=function(e){return s(r.p2r(e-r._offset))}}else a=n?function(e){return 1-(e-o.t)/o.h}:function(e){return(e-o.l)/o.w};return a},e.roundPositionForSharpStrokeRendering=function(e,t){var r=1===Math.round(t%2),n=Math.round(e);return r?n+.5:n},e.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},e.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}},e.getPathString=function(a,o){let s=o.type,l=n.getRefType(o.xref),c=n.getRefType(o.yref),u=a._fullLayout._size;var h,f,p,d,m,g,y,v,x,_,b,w;function T(t,r,n,i){var a;if(t)if("domain"===r)a=i?function(e){return t._offset+t._length*(1-e)}:function(e){return t._offset+t._length*e};else{let r=e.shapePositionToRange(t);a=function(e){return t._offset+t.r2p(r(e,!0))},"path"===n&&"date"===t.type&&(a=e.decodeDate(a))}else a=i?function(e){return u.t+u.h*(1-e)}:function(e){return u.l+u.w*e};return a}if("array"===l?(y=[],h=o.xref.map((function(e){return n.getFromId(a,e)})),y=o.xref.map((function(e,t){return T(h[t],n.getRefType(e),s,!1)}))):y=T(h=n.getFromId(a,o.xref),l,s,!1),"array"===c?(v=[],f=o.yref.map((function(e){return n.getFromId(a,e)})),v=o.yref.map((function(e,t){return T(f[t],n.getRefType(e),s,!0)}))):v=T(f=n.getFromId(a,o.yref),c,s,!0),"path"===s)return function(e,n,i){let a=e.path,o=e.xsizemode,s=e.ysizemode,l=e.xanchor,c=e.yanchor,u=Array.isArray(e.xref),h=Array.isArray(e.yref);var f=0,p=0;return a.replace(t.segmentRE,(function(e){var a=0,d=e.charAt(0),m=t.paramIsX[d],g=t.paramIsY[d],y=t.numParams[d];let v=void 0!==m.drawn,x=void 0!==g.drawn,_=u?n[f]:n,b=h?i[p]:i;var w=e.slice(1).replace(t.paramRE,(function(e){return m[a]?e="pixel"===o?_(l)+Number(e):_(e):g[a]&&(e="pixel"===s?b(c)-Number(e):b(e)),++a>y&&(e="X"),e}));return a>y&&(w=w.replace(/[\s,]*X.*/,""),r.log("Ignoring extra params in segment "+e)),v&&f++,x&&p++,d+w}))}(o,y,v);if("array"===l)p=i(h[0],o.x0shift),d=i(h[1],o.x1shift),x=y[0](o.x0)+p,_=y[1](o.x1)+d;else if(p=i(h,o.x0shift),d=i(h,o.x1shift),"pixel"===o.xsizemode){let e=y(o.xanchor);x=e+o.x0+p,_=e+o.x1+d}else x=y(o.x0)+p,_=y(o.x1)+d;if("array"===c)m=i(f[0],o.y0shift),g=i(f[1],o.y1shift),b=v[0](o.y0)+m,w=v[1](o.y1)+g;else if(m=i(f,o.y0shift),g=i(f,o.y1shift),"pixel"===o.ysizemode){let e=v(o.yanchor);b=e-o.y0+m,w=e-o.y1+g}else b=v(o.y0)+m,w=v(o.y1)+g;if("line"===s)return"M"+x+","+b+"L"+_+","+w;if("rect"===s)return"M"+x+","+b+"H"+_+"V"+w+"H"+x+"Z";var k=(x+_)/2,A=(b+w)/2,M=Math.abs(k-x),S=Math.abs(A-b),E="A"+M+","+S,C=k+M+","+A;return"M"+C+E+" 0 1,1 "+k+","+(A-S)+E+" 0 0,1 "+C+"Z"},e.getPixelShift=i}}),Wr=m({"src/components/shapes/display_labels.js"(e,t){var r=ct(),n=ar(),i=Et(),a=er(),o=Ur().readPaths,s=Gr(),l=s.getPathString,c=Be(),u=St().FROM_TL;t.exports=function(e,t,h,f){if(f.selectAll(".shape-label").remove(),h.label.text||h.label.texttemplate){var p;if(h.label.texttemplate){var d={};if("path"!==h.type){var m=n.getFromId(e,h.xref),g=n.getFromId(e,h.yref);let t=Array.isArray(h.xref),r=Array.isArray(h.yref);for(var y in c){var v="function"==typeof c[y],x=!t||c.simpleXVariables.includes(y),_=!r||c.simpleYVariables.includes(y);if(v&&x&&_){var b=c[y](h,m,g);void 0!==b&&(d[y]=b)}}}p=r.texttemplateStringForShapes({data:[d],fallback:h.label.texttemplatefallback,locale:e._fullLayout._d3locale,template:h.label.texttemplate})}else p=h.label.text;var w,T,k,A,M={"data-index":t},S=h.label.font,E=f.append("g").attr(M).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(p);if(h.path){var C=l(e,h),I=o(C,e);w=1/0,k=1/0,T=-1/0,A=-1/0;for(var L=0;Ls.getDataToPixel(e,n,r,!1,i)(t),m=(t,r,n,i)=>s.getDataToPixel(e,n,r,!0,i)(t);if("pixel"===h.xsizemode){let e=d(h.xanchor,void 0,i,c),t=s.getPixelShift(i,h.x0shift),r=s.getPixelShift(i,h.x1shift);w=e+h.x0+t,T=e+h.x1+r}else w=d(h.x0,h.x0shift,i,c),T=d(h.x1,h.x1shift,a,u);if("pixel"===h.ysizemode){let e=m(h.yanchor,void 0,o,f),t=s.getPixelShift(o,h.y0shift),r=s.getPixelShift(o,h.y1shift);k=e-h.y0+t,A=e-h.y1+r}else k=m(h.y0,h.y0shift,o,f),A=m(h.y1,h.y1shift,l,p)}var F=h.label.textangle;"auto"===F&&(F="line"===h.type?function(e,t,r,n){var i,a;return a=Math.abs(r-e),i=r>=e?t-n:n-t,-180/Math.PI*Math.atan2(i,a)}(w,k,T,A):0),E.call((function(t){return t.call(a.font,S).attr({}),i.convertToTspans(t,e),t}));var B=function(e,t,r,n,i,a,o){var s,l,c,h,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if("line"===m){"start"===f?(s=e,l=t):"end"===f?(s=r,l=n):(s=(e+r)/2,l=(t+n)/2),"auto"===x&&(x="start"===f?"auto"===p?r>e?"left":re?"right":re?"right":re?"left":r1&&(2!==e.length||"Z"!==e[1][0])&&(0===I&&(e[0][0]="M"),t[C]=e,A(),M())}}()}}function V(e,r){(function(e,r){if(t.length)for(var n=0;nb?(M=d,I="y0",S=b,L="y1"):(M=b,I="y1",S=d,L="y0"),re(r),ae(c,o),function(e,t,r){var n=t.xref,i=t.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"!==n&&!o.autorange&&(l+=n),"paper"!==i&&!s.autorange&&(l+=i),h.setClipUrl(e,l?"clip"+r._fullLayout._uid+l:null,r)}(t,o,e),te.moveFn="move"===O?ne:ie,te.altKey=r.altKey)},doneFn:function(){_(e)||(m(t),oe(c),k(t,e,o),n.call("_guiRelayout",e,u.getUpdateObj()))},clickFn:function(){_(e)||oe(c)}};function re(r){if(_(e))O=null;else if(B)O="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=te.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!j&&i>10&&a>10&&!r.shiftKey?p.getCursor(o/i,1-s/a):"move";m(t,l),O=l.split("-")[0]}}function ne(r,n){if("path"===o.type){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),F?N("yanchor",o.yanchor=Q(T+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(D,a,u))}else R?N("xanchor",o.xanchor=J(w+r)):(N("x0",o.x0=J(f+r)),N("x1",o.x1=J(x+r))),F?N("yanchor",o.yanchor=Q(T+n)):(N("y0",o.y0=Q(d+n)),N("y1",o.y1=Q(b+n)));t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ie(r,n){if(j){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),F?N("yanchor",o.yanchor=Q(T+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(D,a,u))}else if(B){if("resize-over-start-point"===O){var h=f+r,p=F?d-n:d+n;N("x0",o.x0=R?h:J(h)),N("y0",o.y0=F?p:Q(p))}else if("resize-over-end-point"===O){var m=x+r,g=F?b-n:b+n;N("x1",o.x1=R?m:J(m)),N("y1",o.y1=F?g:Q(g))}}else{var _=function(e){return-1!==O.indexOf(e)},k=_("n"),q=_("s"),G=_("w"),W=_("e"),Z=k?M+n:M,Y=q?S+n:S,X=G?E+r:E,ee=W?C+r:C;F&&(k&&(Z=M-n),q&&(Y=S-n)),(!F&&Y-Z>10||F&&Z-Y>10)&&(N(I,o[I]=F?Z:Q(Z)),N(L,o[L]=F?Y:Q(Y))),ee-X>10&&(N(P,o[P]=R?X:J(X)),N(z,o[z]=R?ee:J(ee)))}t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ae(e,t){(R||F)&&function(){var r="path"!==t.type,n=e.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=$(R?t.xanchor:i.midRange(r?[t.x0,t.x1]:y.extractPathCoords(t.path,g.paramIsX))),o=K(F?t.yanchor:i.midRange(r?[t.y0,t.y1]:y.extractPathCoords(t.path,g.paramIsY)));if(a=y.roundPositionForSharpStrokeRendering(a,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&F){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function oe(e){e.selectAll(".visual-cue").remove()}p.init(te),ee.node().onmousemove=re}(e,B,b,t,c,R):!0===b.editable&&B.style("pointer-events",D||u.opacity(I)*C<=.5?"stroke":"all");B.node().addEventListener("click",(function(){return function(e,t){if(w(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeShapeIndex)return void M(e);e._fullLayout._activeShapeIndex=r,e._fullLayout._deactivateShape=M,x(e)}}}(e,B)})),function(e,t,r){if(!r?.id)return;let n=t.node();function i(e){var t;let n=r.mainplotinfo||r,i=null==(t=n?.draglayer)?void 0:t.select(".nsewdrag").node();return i?{clientX:e.clientX,clientY:e.clientY,target:i}:null}n.addEventListener("mousemove",(t=>{if(!e._dragging&&e._fullLayout.hoveranywhere){let n=i(t);n&&d.hover(e,n,r.id)}})),n.addEventListener("click",(t=>{if(!e._dragged&&e._fullLayout.clickanywhere){let n=i(t);n&&d.click(e,n,r.id)}}))}(e,B,T)}"above"===b.layer?E(e._fullLayout._shapeUpperLayer):b.xref.includes("paper")||b.yref.includes("paper")?E(e._fullLayout._shapeLowerLayer):"between"!==b.layer||S?T._hadPlotinfo?E((T.mainplotinfo||T).shapelayer):E(e._fullLayout._shapeLowerLayer):E(T.shapelayerBetween)}function k(e,t,r){let n=r.xref,o=r.yref;if(Array.isArray(n)||Array.isArray(o)){let s="clip"+t._fullLayout._uid+"shape"+r._index,l=function(e,t,r){let n=e._fullLayout._size;function i(t,r){let i=(Array.isArray(t)?t:[t]).map((t=>a.getFromId(e,t))).filter(Boolean);if(!i.length)return r?[n.t,n.t+n.h]:[n.l,n.l+n.w];let o=i.map((function(e){return e._offset})),s=i.map((function(e){return e._offset+e._length}));return[Math.min(...o),Math.max(...s)]}let o=i(t,!1),s=i(r,!0);return{x:o[0],y:s[0],width:o[1]-o[0],height:s[1]-s[0]}}(t,n,o);i.ensureSingleById(t._fullLayout._clips,"clipPath",s,(function(e){e.append("rect")})).select("rect").attr(l),h.setClipUrl(e,s,t)}else{let r=(n+o).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");h.setClipUrl(e,r?"clip"+t._fullLayout._uid+r:null,t)}}function A(e,t,r){return e.replace(g.segmentRE,(function(e){var n=0,i=e.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+e.slice(1).replace(g.paramRE,(function(e){return n>=s||(a[n]?e=t(e):o[n]&&(e=r(e)),n++),e}))}))}function M(e){w(e)&&e._fullLayout._activeShapeIndex>=0&&(c(e),delete e._fullLayout._activeShapeIndex,x(e))}t.exports={draw:x,drawOne:T,eraseActiveShape:function(e){if(w(e)){c(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t1?(P=["toggleHover"],z=["resetViews"]):y?(L=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],z=["resetGeo"]):g?(P=["hoverClosest3d"],z=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(L=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],z=["resetViewMapbox"]):w?(L=["zoomInMap","zoomOutMap"],P=["toggleHover"],z=["resetViewMap"]):v?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],z=["resetViewSankey"]):P=["toggleHover"],m&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(e){for(var t=0;tn?i.slice(n):a.slice(r))+o:i+a+e*t:o}function d(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;os*x)||T)for(i=0;iz&&FL&&(L=F);f/=(L-I)/(2*P),I=c.l2r(I),L=c.l2r(L),c.range=c._input.range=S=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function _(r){var a,o,c,p,d,m,g=r._fullLayout,y=g._size,_=y.p,b=h.list(r,"",!0);if(g._paperdiv.style({width:r._context.responsive&&g.autosize&&!r._context._hasZeroWidth&&!r.layout.width?"100%":g.width+"px",height:r._context.responsive&&g.autosize&&!r._context._hasZeroHeight&&!r.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(l.setSize,g.width,g.height),r._context.setBackground(r,g.paper_bgcolor),e.drawMainTitle(r),u.manage(r),!g._has("cartesian"))return n.previousPromises(r);function T(e,t,r){var n=e._lw/2;return"x"===e._id.charAt(0)?t?"top"===r?t._offset-_-n:t._offset+t._length+_+n:y.t+y.h*(1-(e.position||0))+n%1:t?"right"===r?t._offset+t._length+_+n:t._offset-_-n:y.l+y.w*(e.position||0)+n%1}for(a=0;a.5?"t":"b",o=e._fullLayout.margin[a],s=0;return"paper"===t.yref?s=r+t.pad.t+t.pad.b:"container"===t.yref&&(s=function(e,t,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===e?("top"===r&&(a+=i),a+=n-t*n):("bottom"===r&&(a+=i),a+=t*n),a}(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}(e,r,m);if(g>0){(function(e,t,r,a){var o="title.automargin",s=e._fullLayout.title,l=s.y>.5?"t":"b",c={x:s.x,y:s.y,t:0,b:0},u={};"paper"===s.yref&&function(e,t,r,n,a){var o="paper"===t.yref?e._fullLayout._size.h:e._fullLayout.height,s=i.isTopAnchor(t)?n:n-a,l="b"===r?o-s:s;return!(i.isTopAnchor(t)&&"t"===r||i.isBottomAnchor(t)&&"b"===r)&&l=0;k--){var A=i.append("path").attr(g).style("opacity",k?.1:y).call(a.stroke,x).call(a.fill,v).call(o.dashLine,k?"solid":b,k?4+_:_);if(p(A,e,f),w){var M=s(e.layout,"selections",f);A.style({cursor:"move"});var S={element:A.node(),plotinfo:m,gd:e,editHelpers:M,isActiveSelection:!0},E=r(l,e);n(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var C=T[0];T[1].node().addEventListener("click",(function(){return function(e,t){if(h(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeSelectionIndex)return void d(e);e._fullLayout._activeSelectionIndex=r,e._fullLayout._deactivateSelection=d,u(e)}}}(e,C)}))}(e._fullLayout._selectionLayer)}function p(e,t,r){var n=r.xref+r.yref;o.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function d(e){h(e)&&e._fullLayout._activeSelectionIndex>=0&&(i(e),delete e._fullLayout._activeSelectionIndex,u(e))}t.exports={draw:u,drawOne:f,activateLastSelection:function(e){if(h(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=d,u(e)}}}}}),sn=m({"node_modules/polybooljs/lib/build-log.js"(e,t){t.exports=function(){var e,t=0,r=!1;function n(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(e,t){return n("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return n("div_seg",{seg:e,pt:t}),n("chop",{seg:e,pt:t})},statusRemove:function(e){return n("pop_seg",{seg:e})},segmentUpdate:function(e){return n("seg_update",{seg:e})},segmentNew:function(e,t){return n("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return n("rem_seg",{seg:e})},tempStatus:function(e,t,r){return n("temp_status",{seg:e,above:t,below:r})},rewind:function(e){return n("rewind",{seg:e})},status:function(e,t,r){return n("status",{seg:e,above:t,below:r})},vert:function(t){return t===r?e:(r=t,n("vert",{x:t}))},log:function(e){return"string"!=typeof e&&(e=JSON.stringify(e,!1," ")),n("log",{txt:e})},reset:function(){return n("reset")},selected:function(e){return n("selected",{segs:e})},chainStart:function(e){return n("chain_start",{seg:e})},chainRemoveHead:function(e,t){return n("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return n("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return n("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return n("chain_match",{index:e})},chainClose:function(e){return n("chain_close",{index:e})},chainAddHead:function(e,t){return n("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return n("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return n("chain_con",{index1:e,index2:t})},chainReverse:function(e){return n("chain_rev",{index:e})},chainJoin:function(e,t){return n("chain_join",{index1:e,index2:t})},done:function(){return n("done")}}}}}),ln=m({"node_modules/polybooljs/lib/epsilon.js"(e,t){t.exports=function(e){"number"!=typeof e&&(e=1e-10);var t={epsilon:function(t){return"number"==typeof t&&(e=t),e},pointAboveOrOnLine:function(t,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=t[0];return(o-i)*(t[1]-a)-(s-a)*(l-i)>=-e},pointBetween:function(t,r,n){var i=t[1]-r[1],a=n[0]-r[0],o=t[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-e)},pointsSameX:function(t,r){return Math.abs(t[0]-r[0])e!=o-i>e&&(a-c)*(i-u)/(o-u)+c-n>e&&(s=!s),a=c,o=u}return s}};return t}}}),cn=m({"node_modules/polybooljs/lib/linked-list.js"(e,t){t.exports={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(null===t||t===e.root)},isEmpty:function(){return null===e.root.next},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;null!==i;){if(r(i))return t.prev=i.prev,t.next=i,i.prev.next=t,void(i.prev=t);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;null!==n&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(e){return e.prev=r,e.next=n,r.next=e,null!==n&&(n.prev=e),e}}}};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}}}}),un=m({"node_modules/polybooljs/lib/intersecter.js"(e,t){var r=cn();t.exports=function(e,t,n){function i(e,t){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:null,below:null},otherFill:null}}function a(e,t,r){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:r.myFill.above,below:r.myFill.below},otherFill:null}}var o=r.create();function s(e,r){o.insertBefore(e,(function(n){var i=function(e,r,n,i,a,o){var s=t.pointsCompare(r,a);return 0!==s?s:t.pointsSame(n,o)?0:e!==i?e?1:-1:t.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(e.isStart,e.pt,r,n.isStart,n.pt,n.other.pt);return i<0}))}function l(e,t){var n=function(e,t){var n=r.node({isStart:!0,pt:e.start,seg:e,primary:t,other:null,status:null});return s(n,e.end),n}(e,t);return function(e,t,n){var i=r.node({isStart:!1,pt:t.end,seg:t,primary:n,other:e,status:null});e.other=i,s(i,e.pt)}(n,e,t),n}function c(e,t){var r=a(t,e.seg.end,e.seg);return function(e,t){n&&n.segmentChop(e.seg,t),e.other.remove(),e.seg.end=t,e.other.pt=t,s(e.other,e.pt)}(e,t),l(r,e.primary)}function u(i,a){var s=r.create();function l(e){return s.findTransition((function(r){var n=function(e,r){var n=e.seg.start,i=e.seg.end,a=r.seg.start,o=r.seg.end;return t.pointsCollinear(n,a,o)?t.pointsCollinear(i,a,o)||t.pointAboveOrOnLine(i,a,o)?1:-1:t.pointAboveOrOnLine(n,a,o)?1:-1}(e,r.ev);return n>0}))}function u(e,r){var i=e.seg,a=r.seg,o=i.start,s=i.end,l=a.start,u=a.end;n&&n.checkIntersection(i,a);var h=t.linesIntersect(o,s,l,u);if(!1===h){if(!t.pointsCollinear(o,s,l)||t.pointsSame(o,u)||t.pointsSame(s,l))return!1;var f=t.pointsSame(o,l),p=t.pointsSame(s,u);if(f&&p)return r;var d=!f&&t.pointBetween(o,l,u),m=!p&&t.pointBetween(s,l,u);if(f)return m?c(r,s):c(e,u),r;d&&(p||(m?c(r,s):c(e,u)),c(r,o))}else 0===h.alongA&&(-1===h.alongB?c(e,l):0===h.alongB?c(e,h.pt):1===h.alongB&&c(e,u)),0===h.alongB&&(-1===h.alongA?c(r,o):0===h.alongA?c(r,h.pt):1===h.alongA&&c(r,s));return!1}for(var h=[];!o.isEmpty();){var f=o.getHead();if(n&&n.vert(f.pt[0]),f.isStart){let t=function(){if(d){var e=u(f,d);if(e)return e}return!!m&&u(f,m)};n&&n.segmentNew(f.seg,f.primary);var p=l(f),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;n&&n.tempStatus(f.seg,!!d&&d.seg,!!m&&m.seg);var g,y=t();if(y&&(e?(g=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=f.seg.myFill,n&&n.segmentUpdate(y.seg),f.other.remove(),f.remove()),o.getHead()!==f){n&&n.rewind(f.seg);continue}if(e)g=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=m?m.seg.myFill.above:i,f.seg.myFill.above=g?!f.seg.myFill.below:f.seg.myFill.below;else if(null===f.seg.otherFill){var v;v=m?f.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:f.primary?a:i,f.seg.otherFill={above:v,below:v}}n&&n.status(f.seg,!!d&&d.seg,!!m&&m.seg),f.other.status=p.insert(r.node({ev:f}))}else{var x=f.status;if(null===x)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(x.prev)&&s.exists(x.next)&&u(x.prev.ev,x.next.ev),n&&n.statusRemove(x.ev.seg),x.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}o.getHead().remove()}return n&&n.done(),h}return e?{addRegion:function(e){for(var r,n=e[e.length-1],a=0;aa!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}}}),gn=m({"src/lib/polygon.js"(e,t){var r=Le().dot,n=S().BADNUM,i=t.exports={};i.tester=function(e){var t,r=e.slice(),i=r[0][0],a=i,o=r[0][1],s=o;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),t=1;ta||c===n||cs||t&&l(e))}:function(e,t){var l=e[0],c=e[1];if(l===n||la||c===n||cs)return!1;var u,h,f,p,d,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(f,y)))if(cu||Math.abs(r(o,f))>i)return!0;return!1},i.filter=function(e,t){var r=[e[0]],n=0,a=0;function o(o){e.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(e.pop()),{addPt:o,raw:e,filtered:r}}}}),yn=m({"src/components/selections/constants.js"(e,t){t.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),vn=m({"src/components/selections/select.js"(e,t){var r=dn(),n=mn(),i=He(),a=er().dashStyle,o=W(),s=Or(),l=Kt().makeEventData,c=Rr(),u=c.freeMode,h=c.rectMode,f=c.drawMode,p=c.openMode,d=c.selectMode,m=Gr(),g=Hr(),y=Zr(),v=bt().clearOutline,x=Ur(),_=x.handleEllipse,b=x.readPaths,w=Vr().newShapes,T=qr(),k=on().activateLastSelection,A=ct(),M=A.sorterAsc,S=gn(),E=Qe(),C=_t().getFromId,I=Fr(),L=an().redrawReglTraces,P=yn(),z=P.MINSELECT,D=S.filter,O=S.tester,R=Nr(),F=R.p2r,B=R.axValue,j=R.getTransform;function N(e){return void 0!==e.subplot}function U(e,t,r,n,i,a,o){var s,l,c,u,h,f,d,m,g,v=t._hoverdata,x=t._fullLayout.clickmode.indexOf("event")>-1,_=[];if(function(e){return e&&Array.isArray(e)&&!0!==e[0].hoverOnBox}(v)){G(e,t,a);var b=function(e,t){var r,n,i=e[0],a=-1,o=[];for(n=0;n0?function(e,t){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===t.searchInfo&&(n=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(i=0;i1||(n+=t.selectedpoints.length)>1))return!1;return 1===n}(s)&&(f=K(b))){for(o&&o.remove(),g=0;g=0})(a)&&a._fullLayout._deactivateShape(a),function(e){return e._fullLayout._activeSelectionIndex>=0}(a)&&a._fullLayout._deactivateSelection(a);var o=a._fullLayout._zoomlayer,s=f(r),l=d(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&a._fullLayout._outlining&&(s&&(c=w(h,e)),c&&i.call("_guiRelayout",a,{shapes:c}),l&&!N(e)&&(u=T(h,e)),u&&(a._fullLayout._noEmitSelectedAtStart=!0,i.call("_guiRelayout",a,{selections:u}).then((function(){t&&k(a)}))),a._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Y(e){return e._id}function X(e,t,r,n){if(!e.calcdata)return[];var i,a,o,s=[],l=t.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!t.selectedpoints&&t.selectedpoints.indexOf(i)>-1}function J(e,t,r){var n,a;for(n=0;n-1&&t;if(!a&&t){var te=oe(e,!0);if(te.length){var ne=te[0].xref,pe=te[0].yref;if(ne&&pe){var de=ce(te);ue([C(e,ne,"x"),C(e,pe,"y")])(Q,de)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ee&&he(e,Q),p._reselect=!1}if(!a&&p._deselect){var me=p._deselect;(function(e,t,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=M.clickmode;E.done(Me).then((function(){if(E.clear(Me),2===e){for(_e.remove(),K=0;K-1&&U(t,k,n.xaxes,n.yaxes,n.subplot,n,_e),"event"===r&&he(k,void 0);s.click(k,t,L.id)})).catch(A.error)}},n.doneFn=function(){ke.remove(),E.done(Me).then((function(){E.clear(Me),!S&&$&&n.selectionDefs&&($.subtract=xe,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&Z(n,S),n.doneFnCompleted&&n.doneFnCompleted(Se),b&&he(k,ae)})).catch(A.error)}},clearOutline:v,clearSelectionsCache:Z,selectOnClick:U}}}),xn=m({"src/components/annotations/arrow_paths.js"(e,t){t.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}]}}),_n=m({"src/constants/axis_placeable_objects.js"(e,t){t.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(" ")}}}}),bn=m({"src/components/annotations/attributes.js"(e,t){var r=xn(),n=j(),i=xt(),a=vt().templatedArray;_n(),t.exports=a("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:n({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:r.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:r.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",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.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",i.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:n({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})}}),wn=m({"src/traces/scatter/constants.js"(e,t){t.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}}}),Tn=m({"src/traces/scatter/fillcolor_attribute.js"(e,t){t.exports=function(e){return{valType:"color",editType:"style",anim:!0}}}}),kn=m({"src/traces/scatter/attributes.js"(e,t){var r=It().axisHoverFormat,{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Fe(),o=zt(),s=j(),l=Oe().dash,c=Oe().pattern,u=er(),h=wn(),f=B().extendFlat,p=Tn();t.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:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},xhoverformat:r("x"),yhoverformat:r("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:i(),texttemplatefallback:a({editType:"calc"}),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:n({},{keys:h.eventDataKeys}),hovertemplatefallback:a(),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:f({},l,{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:p(!0),fillgradient:f({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:c,marker:f({symbol:{valType:"enumerated",values:u.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:f({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:f({},l,{arrayOk:!0}),editType:"calc"},o("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"},o("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:s({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}}}),An=m({"src/components/selections/attributes.js"(e,t){var r=bn(),n=kn().line,i=Oe().dash,a=B().extendFlat,o=De().overrideAll,s=vt().templatedArray;_n(),t.exports=o(s("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:a({},r.xref,{}),yref:a({},r.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:n.color,width:a({},n.width,{min:1,dflt:1}),dash:a({},i,{dflt:"dot"})}}),"arraydraw","from-root")}}),Mn=m({"src/components/selections/defaults.js"(e,t){var r=ct(),n=ar(),i=Nt(),a=An(),o=Gr();function s(e,t,i){function s(n,i){return r.coerce(e,t,a,n,i)}var l=s("path"),c="path"!==s("type",l?"path":"rect");c&&delete t.path,s("opacity"),s("line.color"),s("line.width"),s("line.dash");for(var u=["x","y"],h=0;h<2;h++){var f,p,d,m=u[h],g={_fullLayout:i},y=n.coerceRef(e,t,g,m);if((f=n.getFromId(g,y))._selectionIndices.push(t._index),d=o.rangeToShapePosition(f),p=o.shapePositionToRange(f),c){var v=m+"0",x=m+"1",_=e[v],b=e[x];e[v]=p(e[v],!0),e[x]=p(e[x],!0),n.coercePosition(t,g,s,y,v),n.coercePosition(t,g,s,y,x);var w=t[v],T=t[x];void 0!==w&&void 0!==T&&(t[v]=d(w),t[x]=d(T),e[v]=_,e[x]=b)}}c&&r.noneOrAll(e,t,["x0","x1","y0","y1"])}t.exports=function(e,t){i(e,t,{name:"selections",handleItemDefaults:s});for(var r=t.selections,n=0;n=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function N(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",l(r,n)).attr("d",i+"Z")}function U(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(t,r)).attr("d","M0,0Z")}function V(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"),q(e,t,i,a)}function q(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 H(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function G(e){P&&e.data&&e._context.showTips&&(n.notifier(n._(e,"Double-click to zoom back out"),"long",e),P=!1)}function Z(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,L)/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 Y(e,t,r,i,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)o._fullLayout._deactivateShape(o);else{var l=o._fullLayout.clickmode;if(H(o),2===n&&!ye&&function(){if(!e._transitioningWithDuration){var t=e._context.doubleClick,r=[];ie&&(r=r.concat(W)),ae&&(r=r.concat(K)),ne.xaxes&&(r=r.concat(ne.xaxes)),ne.yaxes&&(r=r.concat(ne.yaxes));var n,i,a={};if("reset+autosize"===t)for(t="autosize",i=0;i-1&&S(a,o,W,K,t.id,Le),l.indexOf("event")>-1&&f.click(o,a,t.id);else if(1===n&&ye){var u=g?z:P,h="s"===g||"w"===b?0:1,p=u._name+".range["+h+"]",d=function(e,t){var r,n=e.range[t],a=Math.abs(n-e.range[1-t]);return"date"===e.type?n:"log"===e.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,i("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,i("."+String(r)+"g")(n))}(u,h),m="left",y="middle";if(u.fixedrange)return;g?(y="n"===g?"top":"bottom","right"===u.side&&(m="right")):"e"===b&&(m="right"),o._context.showAxisRangeEntryBoxes&&r.select(_e).call(c.makeEditable,{gd:o,immediate:!0,background:o._fullLayout.paper_bgcolor,text:String(d),fill:u.tickfont?u.tickfont.color:"#444",horizontalAlign:m,verticalAlign:y}).on("edit",(function(e){var t=u.d2r(e);void 0!==t&&s.call("_guiRelayout",o,p,t)}))}}}function De(t,r){if(e._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(ee,pe*t+be)),i=Math.max(0,Math.min(te,de*r+we)),a=Math.abs(n-be),o=Math.abs(i-we);function s(){Se="",Te.r=Te.l,Te.t=Te.b,Ce.attr("d","M0,0Z")}if(Te.l=Math.min(be,n),Te.r=Math.max(be,n),Te.t=Math.min(we,i),Te.b=Math.max(we,i),re.isSubplotConstrained)a>L||o>L?(Se="xy",a/ee>o/te?(o=a*te/ee,we>i?Te.t=we-o:Te.b=we+o):(a=o*ee/te,be>n?Te.l=be-a:Te.r=be+a),Ce.attr("d",Z(Te))):s();else if(ne.isSubplotConstrained)if(a>L||o>L){Se="xy";var l=Math.min(Te.l/ee,(te-Te.b)/te),c=Math.max(Te.r/ee,(te-Te.t)/te);Te.l=l*ee,Te.r=c*ee,Te.b=(1-l)*te,Te.t=(1-c)*te,Ce.attr("d",Z(Te))}else s();else!ae||o0){var u;if(ne.isSubplotConstrained||!ie&&1===ae.length){for(u=0;u1&&(void 0!==a.maxallowed&&se===(a.range[0]1&&(void 0!==o.maxallowed&&le===(o.range[0]1&&n.warn("Full array edits are incompatible with other edits",h);var v=l[""][""];if(s(v))t.set(null);else{if(!Array.isArray(v))return n.warn("Unrecognized full array edit value",h,v),!0;t.set(v)}return!m&&(f(g,y),p(e),!0)}var x,_,b,w,T,k,A,M,S=Object.keys(l).map(Number).sort(i),E=t.get(),C=E||[],I=u(y,h).get(),L=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))n.warn("index out of range",h,b);else if(void 0!==k)T.length>1&&n.warn("Insertion & removal are incompatible with edits to the same index.",h,b),s(k)?L.push(b):A?("add"===k&&(k={}),C.splice(b,0,k),I&&I.splice(b,0,{})):n.warn("Unrecognized full object edit value",h,b,k),-1===P&&(P=b);else for(_=0;_=0;x--)C.splice(L[x],1),I&&I.splice(L[x],1);if(C.length?E||t.set(C):t.set(null),m)return!1;if(f(g,y),d!==r){var D;if(-1===P)D=S;else{for(z=Math.max(C.length,z),D=[],x=0;x=P);x++)D.push(b);for(x=P;x0&&n.log("Clearing previous rejected promises from queue."),e._promises=[]},e.cleanLayout=function(t){var r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(i.subplotsRegistry.cartesian||{}).attrRegex,l=((i.subplotsRegistry.polar||{}).attrRegex,(i.subplotsRegistry.ternary||{}).attrRegex,(i.subplotsRegistry.gl3d||{}).attrRegex,Object.keys(t));for(r=0;r3?(x.x=1.02,x.xanchor="left"):x.x<-2&&(x.x=-.02,x.xanchor="right"),x.y>3?(x.y=1.02,x.yanchor="bottom"):x.y<-2&&(x.y=-.02,x.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),o.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var a=0;a0)return e.slice(0,t)}e.hasParent=function(e,t){for(var r=y(t);r;){if(r in e)return!0;r=y(r)}return!1},e.clearAxisTypes=function(e,t,r){for(var i=0;i{let r=(...e)=>e.every((e=>n.isPlainObject(e)))||e.every((e=>Array.isArray(e)));if([e,t].every((e=>Array.isArray(e)))){if(e.length!==t.length)return!1;for(let n=0;nn.isPlainObject(e)))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let i=e[n],a=t[n];if(!(i===a||r(i,a)&&v(i,a)))return!1}return!0}return!1};e.collectionsAreEqual=v}}),On=m({"src/plot_api/plot_api.js"(e){var t=b(),r=M(),n=ft(),i=ct(),a=i.nestedProperty,o=dt(),s=mt(),l=He(),c=yt(),u=At(),h=ar(),f=sr(),p=Lt(),d=er(),m=W(),g=Ln().initInteractions,y=Mt(),v=Cn().clearOutline,x=$().dfltConfig,_=zn(),w=Dn(),T=an(),k=De(),A=xt().AX_NAME_PATTERN,S=0;function E(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit("plotly_afterplot")}function C(e,t){try{e._fullLayout._paper.style("background",t)}catch(e){i.error(e)}}function I(e,t){C(e,m.combine(t,"white"))}function L(e,r){if(!e._context){e._context=i.extendDeep({},x);var a=t.select("base");e._context._baseUrl=a.size()&&a.attr("href")?window.location.href.split("#")[0]:""}var o,s,l,c=e._context;if(r){for(s=Object.keys(r),o=0;o=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 D(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),z(e,t,"currentIndices"),typeof r<"u"&&!Array.isArray(r)&&(r=[r]),typeof r<"u"&&z(e,r,"newIndices"),typeof r<"u"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function O(e,t,n,o,s){!function(e,t,r,n){var a=i.isPlainObject(n);if(!Array.isArray(e.data))throw new Error("gd.data must be an array");if(!i.isPlainObject(t))throw new Error("update must be a key:value object");if(typeof r>"u")throw new Error("indices must be an integer or array of integers");for(var o in z(e,r,"indices"),t){if(!Array.isArray(t[o])||t[o].length!==r.length)throw new Error("attribute "+o+" must be an array of length equal to indices array length");if(a&&(!(o in n)||!Array.isArray(n[o])||n[o].length!==t[o].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 correspondence with the keys and number of traces in the update object")}}(e,t,n,o);for(var l=function(e,t,n,o){var s,l,c,u,h,f=i.isPlainObject(o),p=[];for(var d in Array.isArray(n)||(n=[n]),n=P(n,e.data.length-1),t)for(var m=0;m0&&"string"!=typeof z.parts[O];)O--;var R=z.parts[O],F=z.parts[O-1]+"."+R,N=z.parts.slice(0,O).join("."),U=a(e.layout,N).get(),V=a(u,N).get(),q=z.get();if(void 0!==D){M[P]=D,S[P]="reverse"===R?D:B(q);var H=c.getLayoutValObject(u,z.parts);if(H&&H.impliedEdits&&null!==D)for(var W in H.impliedEdits)E(i.relativeAttr(P,W),H.impliedEdits[W]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var X="height"===P?"width":"height";E(X,u[X])}else u[P]=e._initialAutoSize[P];else if("autosize"===P)E("width",D?null:u.width),E("height",D?null:u.height);else if(F.match(G))L(F),a(u,N+"._inputRange").set(null);else if(F.match(Z)){L(F),a(u,N+"._inputRange").set(null);var $=a(u,N).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(Y)&&a(u,N+"._inputDomain").set(null);if("type"===R){C=U;var J="linear"===V.type&&"log"===D,Q="log"===V.type&&"linear"===D;if(J||Q){if(C&&C.range)if(V.autorange)J&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var ee=C.range[0],te=C.range[1];J?(ee<=0&&te<=0&&E(N+".autorange",!0),ee<=0?ee=te/1e6:te<=0&&(te=ee/1e6),E(N+".range[0]",Math.log(ee)/Math.LN10),E(N+".range[1]",Math.log(te)/Math.LN10)):(E(N+".range[0]",Math.pow(10,ee)),E(N+".range[1]",Math.pow(10,te)))}else E(N+".autorange",!0);Array.isArray(u._subplots.polar)&&u._subplots.polar.length&&u[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete u[z.parts[0]]._subplot.viewInitial["radialaxis.range"],l.getComponentMethod("annotations","convertCoords")(e,V,D,E),l.getComponentMethod("images","convertCoords")(e,V,D,E)}else E(N+".autorange",!0),E(N+".range",null);a(u,N+"._inputRange").set(null)}else if(R.match(A)){var re=a(u,P).get(),ne=(D||{}).type;(!ne||"-"===ne)&&(ne="linear"),l.getComponentMethod("annotations","convertCoords")(e,re,ne,E),l.getComponentMethod("images","convertCoords")(e,re,ne,E)}var ie=_.containerArrayMatch(P);if(ie){r=ie.array,n=ie.index;var ae=ie.property,oe=H||{editType:"calc"};""!==n&&""===ae&&(_.isAddVal(D)?S[P]=null:_.isRemoveVal(D)?S[P]=(a(s,r).get()||[])[n]:i.warn("unrecognized full object value",t)),k.update(T,oe),y[r]||(y[r]={});var se=y[r][n];se||(se=y[r][n]={}),se[ae]=D,delete t[P]}else"reverse"===R?(U.range?U.range.reverse():(E(N+".autorange",!0),U.range=[1,0]),V.autorange?T.calc=!0:T.plot=!0):("dragmode"===P&&(!1===D&&!1!==q||!1!==D&&!1===q)||u._has("scatter-like")&&u._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==q&&"select"!==q?T.plot=!0:H?k.update(T,H):T.calc=!0,z.set(D))}}for(r in y)_.applyContainerArrayChanges(e,p(s,r),y[r],T,p)||(T.plot=!0);for(var le in I){var ce=(C=h.getFromId(e,le))&&C._constraintGroup;if(ce)for(var ue in T.calc=!0,ce)I[ue]||(h.getFromId(e,ue)._constraintShrinkable=!0)}(K(e)||t.height||t.width)&&(T.plot=!0);var he=u.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=a(t,n.join(".")+".uirevision").get()))return r;return t.uirevision}function ie(e,t){for(var r=0;r=a.length?a[0]:a[e]:a}function l(e){return Array.isArray(o)?e>=o.length?o[0]:o[e]:o}function c(e,t){var r=0;return function(){if(e&&++r===t)return e()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(o,h){var f=0;function p(e){return Array.isArray(a)?f>=a.length?e.transitionOpts=a[f]:e.transitionOpts=a[0]:e.transitionOpts=a,f++,e}var d,m,g=[],y=null==t,v=Array.isArray(t);if(y||v||!i.isPlainObject(t)){if(y||-1!==["string","number"].indexOf(typeof t))for(d=0;d0&&bb)&&T.push(m);g=T}}g.length>0?function(t){if(0!==t.length){for(var i=0;in._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var t=n._currentFrame=n._frameQueue.shift();if(t){var r=t.name?t.name.toString():null;e._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=t.frameOpts.duration,u.transition(e,t.frame.data,t.frame.layout,w.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then((function(){t.onComplete&&t.onComplete()})),e.emit("plotly_animatingframe",{name:r,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};t()}()}}(g):(e.emit("plotly_animated"),o())}))},e.addFrames=function(e,t,r){if(e=i.getGraphDiv(e),null==t)return Promise.resolve();if(!i.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,a,o,l,c=e._transitionData._frames,h=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var f=c.length+2*t.length,p=[],d={};for(n=t.length-1;n>=0;n--)if(i.isPlainObject(t[n])){var m=t[n].name,g=(h[m]||d[m]||{}).name,y=t[n].name,v=h[g]||d[g];g&&y&&"number"==typeof y&&v&&S<5&&(S++,i.warn('addFrames: overwriting frame "'+(h[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&i.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[m]={name:m},p.push({frame:u.supplyFrameDefaults(t[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(e,t){return e.index>t.index?-1:e.index=0;n--){if("number"==typeof(a=p[n].frame).name&&i.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;h[a.name="frame "+e._transitionData._counter++];);if(h[a.name]){for(o=0;o=0;r--)n=t[r],o.push({type:"delete",index:n}),l.unshift({type:"insert",index:n,value:a[n]});var c=u.modifyFrames,h=u.modifyFrames,f=[e,l],p=[e,o];return s&&s.add(e,c,f,h,p),u.modifyFrames(e,o)},e.addTraces=function t(r,n,a){r=i.getGraphDiv(r);var o,l,c=[],u=e.deleteTraces,h=t,f=[r,c],p=[r,n];for(function(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n"u")return l=e.redraw(r),s.add(r,u,f,h,p),l;Array.isArray(a)||(a=[a]);try{D(r,c,a)}catch(e){throw r.data.splice(r.data.length-n.length,n.length),e}return s.startSequence(r),s.add(r,u,f,h,p),l=e.moveTraces(r,c,a),s.stopSequence(r),l},e.deleteTraces=function t(r,n){r=i.getGraphDiv(r);var a,o,l=[],c=e.addTraces,u=t,h=[r,l,n],f=[r,n];if(typeof n>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),z(r,n,"indices"),(n=P(n,r.data.length-1)).sort(i.sorterDes),a=0;a=0&&r"u")for(a=[],o=0;o=0&&r[e,t._ev.listeners(e)]));h=e.newPlot(t,r,n,o).then((()=>{for(let[e,r]of i)r.forEach((r=>t.on(e,r)));return e.react(t,r,n,o)}))}else{t.data=r||[],w.cleanData(t.data),t.layout=n||{},w.cleanLayout(t.layout),function(e,t,r,n){var o,s,l,c,u,h,f,p,d,m,g=n._preGUI,y=[],v={},x={};for(o in g){if(u=re(o,ee)){if(d=u.head,m=u.tail,s=u.attr||d+".uirevision",(c=(l=a(n,s).get())&&ne(s,t))&&c===l){if(null===(h=g[o])&&(h=void 0),oe(p=(f=a(t,o)).get(),h)){void 0===p&&"autorange"===m&&y.push(d),f.set(B(a(n,o).get()));continue}if("autorange"===m||"range["===m.slice(0,6)){var _=g[d+".range[0]"],b=g[d+".range[1]"],w=g[d+".autorange"];if(w||null===w&&null===_&&null===b){if(!(d in v)){var T=a(t,d).get();v[d]=T&&(T.autorange||!1!==T.autorange&&(!T.range||2!==T.range.length))}if(v[d]){f.set(B(a(n,o).get()));continue}}}}}else i.warn("unrecognized GUI edit: "+o);delete g[o],u&&"range["===u.tail.slice(0,6)&&(x[u.head]=1)}for(var k=0;k(m||t.emit("plotly_react",{config:o,data:r,layout:n}),t)))},e.redraw=function(t){if(t=i.getGraphDiv(t),!i.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return w.cleanData(t.data),w.cleanLayout(t.layout),t.calcdata=void 0,e._doPlot(t).then((function(){return t.emit("plotly_redraw"),t}))},e.relayout=V,e.restyle=F,e.setPlotConfig=function(e){return i.extendFlat(x,e)},e.update=J,e._guiRelayout=Q(V),e._guiRestyle=Q(F),e._guiUpdate=Q(J),e._storeDirectGUIEdit=function(e,t,r){for(var n in r)N(n,a(e,n).get(),r[n],t)}}}),Rn=m({"src/snapshot/helpers.js"(e){var t=He();e.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0},e.getRedrawFunc=function(e){return function(){t.getComponentMethod("colorbar","draw")(e)}},e.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)},e.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var r=window.URL||window.webkitURL;e.createObjectURL=function(e){return r.createObjectURL(e)},e.revokeObjectURL=function(e){return r.revokeObjectURL(e)},e.createBlob=function(e,t){if("svg"===t)return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if("full-json"===t)return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i")?"":t.html(e).text()}));return t.remove(),n}(_),(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(s,"'")}}}),Bn=m({"src/snapshot/svgtoimg.js"(e,t){var r=ct(),n=pt().EventEmitter,i=Rn();t.exports=function(e){var t=e.emitter||new n,a=new Promise((function(n,a){var o,s,l=window.Image,c=e.svg,u=e.format||"png",h=e.canvas,f=e.scale||1,p=e.width||300,d=e.height||150,m=f*p,g=f*d,y=h.getContext("2d",{willReadFrequently:!0}),v=new l;"svg"===u||r.isSafari()?s=i.encodeSVG(c):(o=i.createBlob(c,"svg"),s=i.createObjectURL(o)),h.width=m,h.height=g,v.onload=function(){var r;switch(o=null,i.revokeObjectURL(s),"svg"!==u&&y.drawImage(v,0,0,m,g),u){case"jpeg":r=h.toDataURL("image/jpeg");break;case"png":r=h.toDataURL("image/png");break;case"webp":r=h.toDataURL("image/webp");break;case"svg":r=s;break;default:var l="Image format is not jpeg, png, svg or webp.";if(a(new Error(l)),!e.promise)return t.emit("error",l)}n(r),e.promise||t.emit("success",r)},v.onerror=function(r){if(o=null,i.revokeObjectURL(s),a(r),!e.promise)return t.emit("error",r)},v.src=s}));return e.promise?a:t}}}),jn=m({"src/plot_api/to_image.js"(e,t){var r=M(),n=On(),i=At(),a=ct(),o=Rn(),s=Fn(),l=Bn(),c=x().version,u={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}};t.exports=function(e,t){var h,f,p,d;function m(e){return!(e in t)||a.validate(t[e],u[e])}if(t=t||{},a.isPlainObject(e)?(h=e.data||[],f=e.layout||{},p=e.config||{},d={}):(e=a.getGraphDiv(e),h=a.extendDeep([],e.data),f=a.extendDeep({},e.layout),p=e._context,d=e._fullLayout||{}),!m("width")&&null!==t.width||!m("height")&&null!==t.height)throw new Error("Height and width should be pixel values.");if(!m("format"))throw new Error("Export format is not "+a.join2(u.format.values,", "," or ")+".");var g={};function y(e,r){return a.coerce(t,g,u,e,r)}var v=y("format"),x=y("width"),_=y("height"),b=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=a.extendFlat({},f);x?A.width=x:null===t.width&&r(d.width)&&(A.width=d.width),_?A.height=_:null===t.height&&r(d.height)&&(A.height=d.height);var M=a.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=o.getRedrawFunc(k);function E(){return new Promise((function(e){setTimeout(e,o.getDelay(k._fullLayout))}))}function C(){return new Promise((function(e,t){var r=s(k,v,b),u=k._fullLayout.width,h=k._fullLayout.height;function f(){n.purge(k),document.body.removeChild(k)}if("full-json"===v){var p=i.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),f(),e(T?p:o.encodeJSON(p))}if(f(),"svg"===v)return e(T?r:o.encodeSVG(r));var d=document.createElement("canvas");d.id=a.randstr(),l({format:v,width:u,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(e).catch(t)}))}return new Promise((function(e,t){n.newPlot(k,h,A,M).then(S).then(E).then(C).then((function(t){e(function(e){return T?e.replace(o.IMAGE_URL_PREFIX,""):e}(t))})).catch((function(e){t(e)}))}))}}}),Nn=m({"src/plot_api/validate.js"(e,t){var r=ct(),n=At(),i=yt(),a=$().dfltConfig,o=r.isPlainObject,s=Array.isArray,l=r.isArrayOrTypedArray;function c(e,t,n,i,a,u){u=u||[];for(var h=Object.keys(e),m=0;mx.length&&i.push(f("unused",a,y.concat(x.length)));var A,M,S,E,C,I=x.length,L=Array.isArray(k);if(L&&(I=Math.min(I,k.length)),2===_.dimensions)for(M=0;Mx[M].length&&i.push(f("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(L?Math.min(P,k[M].length):P);A++)S=L?k[M][A]:k,E=v[M][A],C=x[M][A],r.validate(E,S)?C!==E&&C!==+E&&i.push(f("dynamic",a,y.concat(M,A),E,C)):i.push(f("value",a,y.concat(M,A),E))}else i.push(f("array",a,y.concat(M),v[M]));else for(M=0;M1&&p.push(f("object","layout"))),n.supplyDefaults(d);for(var m=d._fullData,g=l.length,y=0;yT?h.push({code:"unused",traceType:v,templateCount:w,dataCount:T}):T>w&&h.push({code:"reused",traceType:v,templateCount:w,dataCount:T})}}else h.push({code:"data"});if(function e(t,n){for(var i in t)if("_"!==i.charAt(0)){var a=t[i],o=p(t,i,n);r(a)?(Array.isArray(t)&&!1===a._template&&a.templateitemname&&h.push({code:"missing",path:o,templateitemname:a.templateitemname}),e(a,o)):Array.isArray(a)&&d(a)&&e(a,o)}}({data:g,layout:f},""),h.length)return h.map(m)}}}),Hn=m({"src/plot_api/index.js"(e){var t=On();e._doPlot=t._doPlot,e.newPlot=t.newPlot,e.restyle=t.restyle,e.relayout=t.relayout,e.redraw=t.redraw,e.update=t.update,e._guiRestyle=t._guiRestyle,e._guiRelayout=t._guiRelayout,e._guiUpdate=t._guiUpdate,e._storeDirectGUIEdit=t._storeDirectGUIEdit,e.react=t.react,e.extendTraces=t.extendTraces,e.prependTraces=t.prependTraces,e.addTraces=t.addTraces,e.deleteTraces=t.deleteTraces,e.moveTraces=t.moveTraces,e.purge=t.purge,e.addFrames=t.addFrames,e.deleteFrames=t.deleteFrames,e.animate=t.animate,e.setPlotConfig=t.setPlotConfig;var r=Pe().getGraphDiv,n=Yr().eraseActiveShape;e.deleteActiveShape=function(e){return n(r(e))},e.toImage=jn(),e.validate=Nn(),e.downloadImage=Vn();var i=qn();e.makeTemplate=i.makeTemplate,e.validateTemplate=i.validateTemplate}}),Gn=m({"src/traces/scatter/xy_defaults.js"(e,t){var r=ct(),n=He();t.exports=function(e,t,i,a){var o,s=a("x"),l=a("y");if(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],i),s){var c=r.minRowLength(s);l?o=Math.min(c,r.minRowLength(l)):(o=c,a("y0"),a("dy"))}else{if(!l)return 0;o=r.minRowLength(l),a("x0"),a("dx")}return t._length=o,o}}}),Wn=m({"src/traces/scatter/period_defaults.js"(e,t){var r=ct().dateTick0,n=S().ONEWEEK;function i(e,t){return r(t,e%n==0?1:0)}t.exports=function(e,t,r,n,a){if(a||(a={x:!0,y:!0}),a.x){var o=n("xperiod");o&&(n("xperiod0",i(o,t.xcalendar)),n("xperiodalignment"))}if(a.y){var s=n("yperiod");s&&(n("yperiod0",i(s,t.ycalendar)),n("yperiodalignment"))}}}}),Zn=m({"src/traces/scatter/stack_defaults.js"(e,t){var r=["orientation","groupnorm","stackgaps"];t.exports=function(e,t,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=t.xaxis+t.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(t):(c=l[o]={traceIndices:[],traces:[t]},u=!0);for(var h={orientation:t.x&&!t.y?"h":"v"},f=0;f=0;f--){var p=e[f];if("scatter"===p.type&&p.xaxis===u.xaxis&&p.yaxis===u.yaxis){p.opacity=void 0;break}}}}}}}),ri=m({"src/traces/scatter/layout_defaults.js"(e,t){var r=ct(),n=wt();t.exports=function(e,t){var i,a="group"===t.barmode;"group"===t.scattermode&&(i=a?t.bargap:.2,r.coerce(e,t,n,"scattergap",i))}}}),ni=m({"src/plots/cartesian/align_period.js"(e,t){var r=M(),n=ct(),i=n.dateTime2ms,a=n.incrementMonth,o=S().ONEAVGMONTH;t.exports=function(e,t,n,s){if("date"!==t.type)return{vals:s};var l=e[n+"periodalignment"];if(!l)return{vals:s};var c,u=e[n+"period"];if(r(u)){if((u=+u)<=0)return{vals:s}}else if("string"==typeof u&&"M"===u.charAt(0)){var h=+u.substring(1);if(!(h>0&&Math.round(h)===h))return{vals:s};c=h}for(var f=t.calendar,p="start"===l,d="end"===l,m=e[n+"period0"],g=i(m,f)||0,y=[],v=[],x=[],_=s.length,b=0;b<_;b++){var w,T,k,A=s[b];if(c){for(w=Math.round((A-g)/(c*o)),k=a(g,c*w,f);k>A;)k=a(k,-c,f);for(;k<=A;)k=a(k,c,f);T=a(k,-c,f)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}y[b]=p?T:d?k:(T+k)/2,v[b]=T,x[b]=k}return{vals:y,starts:v,ends:x}}}}),ii=m({"src/traces/scatter/colorscale_calc.js"(e,t){var r=Ct().hasColorscale,n=Zt(),i=Xt();t.exports=function(e,t){i.hasLines(t)&&r(t,"line")&&n(e,t,{vals:t.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(t)&&(r(t,"marker")&&n(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),r(t,"marker.line")&&n(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),ai=m({"src/traces/scatter/arrays_to_calcdata.js"(e,t){var r=ct();t.exports=function(e,t){for(var n=0;nd&&I[y].gap;)y--;for(x=I[y].s,g=I.length-1;g>y;g--)I[g].s=x;for(;dh+c||!r(u))}for(var p=0;pi(e)))):i(e.text);let a=e.outsidetextfont.size*u*r+c;return{ppadplus:t.some((e=>e.s<0))?a:0,ppadminus:t.some((e=>e.s>=0))?a:0}}return{ppadplus:void 0,ppadminus:void 0}}function _(e){return e._id.charAt(0)}t.exports={crossTraceCalc:function(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,o=e._fullData,s=e.calcdata,l=[],c=[],u=0;uS[h]&&h0?o:s)/(I._m*z*(I._m>0?o:s)))),a*=1e3}if(l===i){if(P&&(l=I.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function Y(e,t,r,n){var i=r-e,a=n-t,o=.5-e,s=.5-t,l=i*i+a*a,c=i*o+a*s;if(c>0&&coe||e[1]le)return[u(e[0],ae,oe),u(e[1],se,le)]}function he(e,t){if(e[0]===t[0]&&(e[0]===ae||e[0]===oe)||e[1]===t[1]&&(e[1]===se||e[1]===le))return!0}function fe(e,t,r){return function(n,i){var a=ue(n),o=ue(i),s=[];if(a&&o&&he(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[e]+i[e])/2,t,r)-((a||n)[e]+(o||i)[e]);return c&&((a&&o?c>0==a[e]>o[e]?a:o:a||o)[e]+=c),s}}function pe(e){var t=e[0],r=e[1],n=t===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=t===G[W-2][0],o=r===G[W-2][1];n&&(t===ae||t===oe)&&a?o?W--:G[W-1]=e:i&&(r===se||r===le)&&o?a?W--:G[W-1]=e:G[W++]=e}else G[W++]=e}function de(e){G[W-1][0]!==e[0]&&G[W-1][1]!==e[1]&&pe([Q,ee]),pe(e),te=null,Q=ee=0}"linear"===j||"spline"===j?ne=function(e,t){for(var r=[],n=0,i=0;i<4;i++){var a=ce[i],o=c(e[0],e[1],t[0],t[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,e)<$(r[0],e)?r.unshift(o):r.push(o),n++)}return r}:"hv"===j||"vh"===j?ne=function(e,t){var r=[],n=ue(e),i=ue(t);return n&&i&&he(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===j?ne=fe(0,ae,oe):"vhv"===j&&(ne=fe(1,se,le));var me=l.isArrayOrTypedArray(R);function ge(t){if(t&&O&&(t.i=n,t.d=e,t.trace=E,t.marker=me?R[t.i]:R,t.backoff=O),M=t[0]/z,S=t[1]/D,K=t[0]oe?oe:0,J=t[1]le?le:0,K||J){if(W)if(te){var r=ne(te,t);r.length>1&&(de(r[0]),G[W++]=r[1])}else re=ne(G[W-1],t)[0],G[W++]=re;else G[W++]=[K||t[0],J||t[1]];var i=G[W-1];K&&J&&(i[0]!==K||i[1]!==J)?(te&&(Q!==K&&ee!==J?pe(Q&&ee?function(e,t){var r=t[0]-e[0],n=(t[1]-e[1])/r;return(e[1]*t[0]-t[1]*e[0])/r>0?[n>0?ae:oe,le]:[n>0?oe:ae,se]}(te,t):[Q||K,ee||J]):Q&&ee&&pe([Q,ee])),pe([K,J])):Q-K&&ee-J&&pe([K||Q,J||ee]),te=t,Q=K,ee=J}else te&&de(ne(te,t)[0]),G[W++]=t}for(n=0;nX(m,ye))break;f=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=e.length||!m)break;ge(m),a=m}}else ge(p)}te&&pe([Q||te[0],ee||te[1]]),V.push(G.slice(0,W))}var ve=j.slice(j.length-1);if(O&&"h"!==ve&&"v"!==ve){for(var xe=!1,_e=-1,be=[],we=0;we=0?l=p:(l=p=f,f++),l=u[0]&&e.x<=u[1]&&e.y>=h[0]&&e.y<=h[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(e,r){var n=e[0].trace;l.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(e){return v?e.transition():e}var _=u.xaxis,b=u.yaxis,w=f[0].trace,T=w.line,k=r.select(d),A=a(k,"g","errorbars"),M=a(k,"g","lines"),S=a(k,"g","points"),E=a(k,"g","text");if(n.getComponentMethod("errorbars","plot")(e,A,u,m),!0===w.visible){x(k).style("opacity",w.opacity);var C,I,L,P,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(L=1,P=b.c2p(0,!0)):"x"===z&&(L=0,P=_.c2p(0,!0)),f[0][u.isRangePlot?"nodeRangePlot3":"node3"]=k;var D="",O=[],R=w._prevtrace,F=null,B=null;R&&(D=R._prevRevpath||"",I=R._nextFill,O=R._ownPolygons,F=R._fillsegments,B=R._fillElement);var j,N,U,V,q,H,G,W,Z="",Y="",X=[];w._polygons=[];var $=[],K=[],J=i.noop;if(C=w._ownFill,l.hasLines(w)||"none"!==w.fill){I&&I.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=s.steps(T.shape),V=s.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?s.smoothclosed(e.slice(1),T.smoothing):s.smoothopen(e,T.smoothing)}:function(e){return"M"+e.join("L")},q=function(e){return V(e.reverse())},K=c(f,{xaxis:_,yaxis:b,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),$=new Array(K.length);var Q=0;for(g=0;g0,g=u(e,t,n);(h=i.selectAll("g.trace").data(g,(function(e){return e[0].trace.uid}))).enter().append("g").attr("class",(function(e){return"trace scatter trace"+e[0].trace.uid})).style("stroke-miterlimit",2),h.order(),function(e,t,n){t.each((function(t){var i=a(r.select(this),"g","fills");s.setClipUrl(i,n.layerClipId,e);var l=t[0].trace;l._ownFill=null,l._nextFill=null;var c=[];l._ownfill&&c.push("_ownFill"),l._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,o);u.enter().append("g"),u.exit().remove(),u.order().each((function(e){l[e]=a(r.select(this),"path","js-fill")}))}))}(e,h,t),m?(c&&(p=c()),r.transition().duration(l.duration).ease(l.easing).each("end",(function(){p&&p()})).each("interrupt",(function(){p&&p()})).each((function(){i.selectAll("g.trace").each((function(r,n){f(e,n,t,r,g,this,l)}))}))):h.each((function(r,n){f(e,n,t,r,g,this,l)})),d&&h.exit().remove(),i.selectAll("path:not([d])").remove()}}}),mi=m({"src/traces/scatter/marker_colorbar.js"(e,t){t.exports={container:"marker",min:"cmin",max:"cmax"}}}),gi=m({"src/traces/scatter/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a={_fullLayout:n},o=r.getFromTrace(a,t,"x"),s=r.getFromTrace(a,t,"y"),l=e.orig_x;void 0===l&&(l=e.x);var c=e.orig_y;return void 0===c&&(c=e.y),i.xLabel=r.tickText(o,o.c2l(l),!0).text,i.yLabel=r.tickText(s,s.c2l(c),!0).text,i}}}),yi=m({"src/traces/scatter/style.js"(e,t){var r=b(),n=er(),i=He();function a(e,t,r){n.pointStyle(e.selectAll("path.point"),t,r)}function o(e,t,r){n.textPointStyle(e.selectAll("text"),t,r)}t.exports={style:function(e){var t=r.select(e).selectAll("g.trace.scatter");t.style("opacity",(function(e){return e[0].trace.opacity})),t.selectAll("g.points").each((function(t){a(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.text").each((function(t){o(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.trace path.js-line").call(n.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(n.fillGroupStyle,e,!1),i.getComponentMethod("errorbars","style")(t)},stylePoints:a,styleText:o,styleOnSelect:function(e,t,r){var i=t[0].trace;i.selectedpoints?(n.selectedPointStyle(r.selectAll("path.point"),i),n.selectedTextStyle(r.selectAll("text"),i)):(a(r,i,e),o(r,i,e))}}}}),vi=m({"src/traces/scatter/get_trace_color.js"(e,t){var r=W(),n=Xt();t.exports=function(e,t){var i,a;if("lines"===e.mode)return(i=e.line.color)&&r.opacity(i)?i:e.fillcolor;if("none"===e.mode)return e.fill?e.fillcolor:"";var o=t.mcc||(e.marker||{}).color,s=t.mlcc||((e.marker||{}).line||{}).color;return(a=o&&r.opacity(o)?o:s&&r.opacity(s)&&(t.mlw||((e.marker||{}).line||{}).width)?s:"")?r.opacity(a)<.3?r.addOpacity(a,.3):a:(i=(e.line||{}).color)&&r.opacity(i)&&n.hasLines(e)&&e.line.width?i:e.fillcolor}}}),xi=m({"src/traces/scatter/hover.js"(e,t){var r=ct(),n=Or(),i=He(),a=vi(),o=W(),s=r.fillText;t.exports=function(e,t,l,c){var u=e.cd,h=u[0].trace,f=e.xa,p=e.ya,d=f.c2p(t),m=p.c2p(l),g=[d,m],y=h.hoveron||"",v=-1!==h.mode.indexOf("markers")?3:.5,x=!!h.xperiodalignment,_=!!h.yperiodalignment;if(-1!==y.indexOf("points")){var b=function(e){var t=Math.max(v,e.mrc||0),r=f.c2p(e.x)-d,n=p.c2p(e.y)-m;return Math.max(Math.sqrt(r*r+n*n)-t,1-v/t)},w=n.getDistanceFunction(c,(function(e){if(x){var t=f.c2p(e.xStart),r=f.c2p(e.xEnd);return d>=Math.min(t,r)&&d<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(f.c2p(e.x)-d);return a=Math.min(t,r)&&m<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(p.c2p(e.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=o.defaultLine;return o.opacity(h.fillcolor)?z=h.fillcolor:o.opacity((h.line||{}).color)&&(z=h.line.color),r.extendFlat(e,{distance:e.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete e.index,h.text&&!r.isArrayOrTypedArray(h.text)?e.text=String(h.text):e.text=h.name,[e]}}}}),_i=m({"src/traces/scatter/select.js"(e,t){var r=Xt();t.exports=function(e,t){var n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[],h=s[0].trace;if(!r.hasMarkers(h)&&!r.hasText(h))return[];if(!1===t)for(n=0;n0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(a(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(t,s,l);if(c){if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(e.type="linear");var u=l+"calendar",h=c[u],f={noMultiCategory:!r(c,"cartesian")||r(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(f.noMultiCategory=!0),f.autotypenumbers=e.autotypenumbers,a(c,l)){var p=i(c),d=[];for(o=0;o0||r(o);s&&(a="array");var l,c=n("categoryorder",a);"array"===c&&(l=n("categoryarray")),!s&&"array"===c&&(c=t.categoryorder="trace"),"trace"===c?t._initialCategories=[]:"array"===c?t._initialCategories=l.slice():(l=function(e,t){var r,n,i,a=t.dataAttr||e._id.charAt(0),o={};if(t.axData)r=t.axData;else for(r=[],n=0;n=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=_(o[l])){u=g;break}var h=a("pattern",u);if(h===g)for(l=0;l<2;l++)(c=_(o[l]))&&(t.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case g:if(!r(c))return void(t.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(t.enabled=!1);t.bounds[l]=o[l]=c;break;case y:if(!r(c))return void(t.enabled=!1);if((c=+c)<0||c>24)return void(t.enabled=!1);t.bounds[l]=o[l]=c}if(!1===n.autorange){var f=n.range;if(f[0]f[1])return void(t.enabled=!1)}else if(o[0]>f[0]&&o[1]_[1]-1/4096&&(t.domain=s),n.noneOrAll(e.domain,t.domain,s),"sync"===t.tickmode&&(t.tickmode="auto")}return i("layer"),t}}}),Si=m({"src/plots/cartesian/layout_defaults.js"(e,t){var r=ct(),n=W(),i=Kt().isUnifiedHover,a=Lr(),o=vt(),s=Ve(),l=Lt(),c=wi(),u=Ai(),h=nn(),f=Mi(),p=_t(),d=p.id2name,m=p.name2id,g=xt().AX_ID_PATTERN,y=He(),v=y.traceIs,x=y.getComponentMethod;function _(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}t.exports=function(e,t,y){var b,w,T=t.autotypenumbers,k={},A={},M={},S={},E={},C={},I={},L={},P={},z={};for(b=0;bs.duration?(function(){for(var r={},i=0;i rect").call(a.setTranslate,0,0).call(a.setScale,1,1),e.plot.call(a.setTranslate,t._offset,r._offset).call(a.setScale,1,1);var n=e.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,e)}function g(t,r){var n=t.plotinfo,s=n.xaxis,l=n.yaxis,c=s._length,u=l._length,h=!!t.xr1,f=!!t.yr1,p=[];if(h){var d=i.simpleMap(t.xr0,s.r2l),m=i.simpleMap(t.xr1,s.r2l),g=d[1]-d[0],y=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*y/g),s.range[0]=s.l2r(d[0]*(1-r)+r*m[0]),s.range[1]=s.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(f){var v=i.simpleMap(t.yr0,l.r2l),x=i.simpleMap(t.yr1,l.r2l),_=v[1]-v[0],b=x[1]-x[0];p[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,p[3]=u*(1-r+r*b/_),l.range[0]=s.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;o.drawOne(e,s,{skipTitle:!0}),o.drawOne(e,l,{skipTitle:!0}),o.redrawComponents(e,[s._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=s._offset-M,C=l._offset-S;n.clipRect.call(a.setTranslate,k,A).call(a.setScale,1/w,1/T),n.plot.call(a.setTranslate,E,C).call(a.setScale,w,T),a.setPointGroupScale(n.zoomScalePts,1/w,1/T),a.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}o.redrawComponents(e)}}}),Ci=m({"src/plots/cartesian/index.js"(e){var t=b(),r=He(),n=ct(),i=At(),a=er(),o=Tt().getModuleCalcData,s=_t(),l=xt(),c=Mt(),u=n.ensureSingle;function h(e,t,r){return n.ensureSingle(e,t,r,(function(e){e.datum(r)}))}var f=l.zindexSeparator;function p(e,n,i,s,c){for(var u,h,f,p=l.traceLayerClasses,d=e._fullLayout,m=d._zindices,g=d._modules,y=[],v=[],x=0;x1,m=t.mainplotinfo;if(!t.mainplot||d)if(p)t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.xaxislayer=u(n,"g","xaxislayer-above"),t.yaxislayer=u(n,"g","yaxislayer-above");else{if(!a){var g=u(n,"g","layer-subplot");t.shapelayer=u(g,"g","shapelayer"),t.imagelayer=u(g,"g","imagelayer"),m&&d?(t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer):(t.minorGridlayer=u(n,"g","minor-gridlayer"),t.gridlayer=u(n,"g","gridlayer"),t.zerolinelayer=u(n,"g","zerolinelayer"));var y=u(n,"g","layer-between");t.shapelayerBetween=u(y,"g","shapelayer"),t.imagelayerBetween=u(y,"g","imagelayer"),u(n,"path","xlines-below"),u(n,"path","ylines-below"),t.overlinesBelow=u(n,"g","overlines-below"),u(n,"g","xaxislayer-below"),u(n,"g","yaxislayer-below"),t.overaxesBelow=u(n,"g","overaxes-below")}t.overplot=u(n,"g","overplot"),t.plot=u(t.overplot,"g",i),t.zerolinelayerAbove=m&&d?m.zerolinelayerAbove:u(n,"g","zerolinelayer-above"),a||(t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.overlinesAbove=u(n,"g","overlines-above"),u(n,"g","xaxislayer-above"),u(n,"g","yaxislayer-above"),t.overaxesAbove=u(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+o),t.ylines=n.select(".ylines-"+c),t.xaxislayer=n.select(".xaxislayer-"+o),t.yaxislayer=n.select(".yaxislayer-"+c))}else{var v=m.plotgroup,x=i+"-x",_=i+"-y";t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer,t.zerolinelayerAbove=m.zerolinelayerAbove,u(m.overlinesBelow,"path",x),u(m.overlinesBelow,"path",_),u(m.overaxesBelow,"g",x),u(m.overaxesBelow,"g",_),t.plot=u(m.overplot,"g",i),u(m.overlinesAbove,"path",x),u(m.overlinesAbove,"path",_),u(m.overaxesAbove,"g",x),u(m.overaxesAbove,"g",_),t.xlines=v.select(".overlines-"+o).select("."+x),t.ylines=v.select(".overlines-"+c).select("."+_),t.xaxislayer=v.select(".overaxes-"+o).select("."+x),t.yaxislayer=v.select(".overaxes-"+c).select("."+_)}a||(p||(h(t.minorGridlayer,"g",t.xaxis._id),h(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort),h(t.gridlayer,"g",t.xaxis._id),h(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function m(e,r){if(e){var n={};for(var i in e.each((function(e){var i=e[0];t.select(this).remove(),g(i,r),n[i]=!0})),r._plots)for(var a=r._plots[i].overlays||[],o=0;o0){var g=m.id;if(-1!==g.indexOf(f))continue;g+=f+(u+1),m=n.extendFlat({},m,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,v=[],x=0;x1&&(w+=f+b),_.push(n+w),r=0;r=0,x=t.indexOf("end")>=0,_=d.backoff*g+a.standoff,b=m.backoff*y+a.startstandoff;if("line"===p.nodeName){c={x:+e.attr("x1"),y:+e.attr("y1")},u={x:+e.attr("x2"),y:+e.attr("y2")};var w=c.x-u.x,T=c.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T))return void D();if(_){if(_*_>w*w+T*T)return void D();var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,e.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T)return void D();var M=b*Math.cos(h),S=b*Math.sin(h);c.x-=M,c.y-=S,e.attr({x1:c.x,y1:c.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<_+b)return void D();var I=p.getPointAtLength(0),L=p.getPointAtLength(.1);h=Math.atan2(I.y-L.y,I.x-L.x),c=p.getPointAtLength(Math.min(b,E)),C="0px,"+b+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_)),C+=E-(C?b+_:_)+"px,"+E+"px",e.style("stroke-dasharray",C)}function D(){e.style("stroke-dasharray","0px,100px")}function O(t,i,c,u){t.path&&(t.noRotate&&(c=0),r.select(p.parentNode).append("path").attr({class:e.attr("class"),d:t.path,transform:l(i.x,i.y)+s(180*c/Math.PI)+o(u)}).style({fill:n.rgb(a.arrowcolor),"stroke-width":0}))}v&&O(m,c,h,y),x&&O(d,u,f,g)}}}),Pi=m({"src/components/annotations/draw.js"(e,t){var r=b(),n=He(),i=At(),a=ct(),o=a.strTranslate,s=ar(),l=W(),c=er(),u=Or(),h=Et(),f=dr(),p=pr(),d=vt().arrayEditor,m=Li();function g(e,t){var r=e._fullLayout.annotations[t]||{},n=s.getFromId(e,r.xref),i=s.getFromId(e,r.yref);n&&n.setScale(),i&&i.setScale(),v(e,r,t,!1,n,i)}function y(e,t,r,n,i){var a=i[r],o=i[r+"ref"],l=-1!==r.indexOf("y"),c="domain"===s.getRefType(o),u=l?n.h:n.w;return e?c?a+(l?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(l?-t:t)/u}function v(e,t,i,g,v,x){var _,b,w=e._fullLayout,T=e._fullLayout._size,k=e._context.edits;g?(_="annotation-"+g,b=g+".annotations"):(_="annotation",b="annotations");var A=d(e.layout,b,t),M=A.modifyBase,S=A.modifyItem,E=A.getUpdateObj;w._infolayer.selectAll("."+_+'[data-index="'+i+'"]').remove();var C="clip"+w._uid+"_ann"+i;if(t._input&&!1!==t.visible){var I={x:{},y:{}},L=+t.textangle||0,P=w._infolayer.append("g").classed(_,!0).attr("data-index",String(i)).style("opacity",t.opacity),z=P.append("g").classed("annotation-text-g",!0),D=k[t.showarrow?"annotationTail":"annotationPosition"],O=t.captureevents||k.annotationText||D,R=z.append("g").style("pointer-events",O?"all":null).call(f,"pointer").on("click",(function(){e._dragging=!1,e.emit("plotly_clickannotation",W(r.event))}));t.hovertext&&R.on("mouseover",(function(){var r=t.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=e.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:t.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontShadow:n.fontShadow,fontLineposition:n.fontLineposition,fontTextcase:n.fontTextcase},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:e})})).on("mouseout",(function(){u.loneUnhover(w._hoverlayer.node())}));var F=t.borderwidth,B=t.borderpad,j=F+B,N=R.append("rect").attr("class","bg").style("stroke-width",F+"px").call(l.stroke,t.bordercolor).call(l.fill,t.bgcolor),U=t.width||t.height,V=w._topclips.selectAll("#"+C).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",C).append("rect"),V.exit().remove();var q=t.font,H=w._meta?a.templateString(t.text,w._meta):t.text,G=R.append("text").classed("annotation-text",!0).text(H);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:e}).call(Z).on("edit",(function(r){t.text=r,this.call(Z),S("text",r),v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0),n.call("_guiRelayout",e,E())})):G.call(Z)}else r.selectAll("#"+C).remove();function W(e){var r={index:i,annotation:t._input,fullAnnotation:t,event:e};return g&&(r.subplotId=g),r}function Z(r){return r.call(c.font,q).attr({"text-anchor":{left:"start",right:"end"}[t.align]||"middle"}),h.convertToTspans(r,e,Y),r}function Y(){var r=G.selectAll("a");1===r.size()&&r.text()===G.text()&&R.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(N.node());var i=R.select(".annotation-text-math-group"),u=!i.empty(),d=c.bBox((u?i:G).node()),_=d.width,b=d.height,A=t.width||_,O=t.height||b,B=Math.round(A+2*j),q=Math.round(O+2*j);function H(e,t){return"auto"===t&&(t=e<1/3?"left":e>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[t]}for(var Z=!1,Y=["x","y"],X=0;X1)&&(ne===re?((pe=ie.r2fraction(t["a"+te]))<0||pe>1)&&(Z=!0):Z=!0),$=ie._offset+ie.r2p(t[te]),Q=.5}else{var de="domain"===fe;"x"===te?(J=t[te],$=de?ie._offset+ie._length*J:$=T.l+T.w*J):(J=1-t[te],$=de?ie._offset+ie._length*J:$=T.t+T.h*J),Q=t.showarrow?.5:J}if(t.showarrow){he.head=$;var me=t["a"+te];if(ee=oe*H(.5,t.xanchor)-se*H(.5,t.yanchor),ne===re){var ge=s.getRefType(ne);"domain"===ge?("y"===te&&(me=1-me),he.tail=ie._offset+ie._length*me):"paper"===ge?"y"===te?(me=1-me,he.tail=T.t+T.h*me):he.tail=T.l+T.w*me:he.tail=ie._offset+ie.r2p(me),K=ee}else he.tail=$+me,K=ee+me;he.text=he.tail+ee;var ye=w["x"===te?"width":"height"];if("paper"===re&&(he.head=a.constrain(he.head,1,ye-1)),"pixel"===ne){var ve=-Math.max(he.tail-3,he.text),xe=Math.min(he.tail+3,he.text)-ye;ve>0?(he.tail+=ve,he.text+=ve):xe>0&&(he.tail-=xe,he.text-=xe)}he.tail+=ue,he.head+=ue}else K=ee=le*H(Q,ce),he.text=$+ee;he.text+=ue,ee+=ue,K+=ue,t["_"+te+"padplus"]=le/2+K,t["_"+te+"padminus"]=le/2-K,t["_"+te+"size"]=le,t["_"+te+"shift"]=ee}if(Z)R.remove();else{var _e=0,be=0;if("left"!==t.align&&(_e=(A-_)*("center"===t.align?.5:1)),"top"!==t.valign&&(be=(O-b)*("middle"===t.valign?.5:1)),u)i.select("svg").attr({x:j+_e-1,y:j+be}).call(c.setClipUrl,U?C:null,e);else{var we=j+be-d.top,Te=j+_e-d.left;G.call(h.positionText,Te,we).call(c.setClipUrl,U?C:null,e)}V.select("rect").call(c.setRect,j,j,A,O),N.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(I.x.text-B/2),Math.round(I.y.text-q/2)),z.attr({transform:"rotate("+L+","+I.x.text+","+I.y.text+")"});var ke,Ae=function(r,i){P.selectAll(".annotation-arrow-g").remove();var s=I.x.head,u=I.y.head,h=I.x.tail+r,f=I.y.tail+i,d=I.x.text+r,_=I.y.text+i,b=a.rotationXYMatrix(L,d,_),w=a.apply2DTransform(b),A=a.apply2DTransform2(b),C=+N.attr("width"),D=+N.attr("height"),O=d-.5*C,F=O+C,B=_-.5*D,j=B+D,U=[[O,B,O,j],[O,j,F,j],[F,j,F,B],[F,B,O,B]].map(A);if(!U.reduce((function(e,t){return e^!!a.segmentsIntersect(s,u,s+1e6,u+1e6,t[0],t[1],t[2],t[3])}),!1)){U.forEach((function(e){var t=a.segmentsIntersect(h,f,s,u,e[0],e[1],e[2],e[3]);t&&(h=t.x,f=t.y)}));var V=t.arrowwidth,q=t.arrowcolor,H=t.arrowside,G=P.append("g").style({opacity:l.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+f+"L"+s+","+u).style("stroke-width",V+"px").call(l.stroke,l.rgb(q));if(m(W,H,t),k.annotationPosition&&W.node().parentNode&&!g){var Z=s,Y=u;if(t.standoff){var X=Math.sqrt(Math.pow(s-h,2)+Math.pow(u-f,2));Z+=t.standoff*(h-s)/X,Y+=t.standoff*(f-u)/X}var $,K,J=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Z)+","+(f-Y),transform:o(Z,Y)}).style("stroke-width",V+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:e,prepFn:function(){var e=c.getTranslate(R);$=e.x,K=e.y,v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(e,r){var n=w($,K),i=n[0]+e,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",y(v,e,"x",T,t)),S("y",y(x,r,"y",T,t)),t.axref===t.xref&&S("ax",y(v,e,"ax",T,t)),t.ayref===t.yref&&S("ay",y(x,r,"ay",T,t)),G.attr("transform",o(e,r)),z.attr({transform:"rotate("+L+","+i+","+a+")"})},doneFn:function(){n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&Ae(0,0),D&&p.init({element:R.node(),gd:e,prepFn:function(){ke=z.attr("transform")},moveFn:function(e,r){var n="pointer";if(t.showarrow)t.axref===t.xref?S("ax",y(v,e,"ax",T,t)):S("ax",t.ax+e),t.ayref===t.yref?S("ay",y(x,r,"ay",T.w,t)):S("ay",t.ay+r),Ae(e,r);else{if(g)return;var i,a;if(v)i=y(v,e,"x",T,t);else{var s=t._xsize/T.w,l=t.x+(t._xshift-t.xshift)/T.w-s/2;i=p.align(l+e/T.w,s,0,1,t.xanchor)}if(x)a=y(x,r,"y",T,t);else{var c=t._ysize/T.h,u=t.y-(t._yshift+t.yshift)/T.h-c/2;a=p.align(u-r/T.h,c,0,1,t.yanchor)}S("x",i),S("y",a),(!v||!x)&&(n=p.getCursor(v?.5:i,x?.5:a,t.xanchor,t.yanchor))}z.attr({transform:o(e,r)+ke}),f(R,n)},clickFn:function(r,n){t.captureevents&&e.emit("plotly_clickannotation",W(n))},doneFn:function(){f(R),n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}}t.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r0||r.explicitOff.length>0},onClick:function(e,t){var o,s,l=a(e,t),c=l.on,u=l.off.concat(l.explicitOff),h={},f=e._fullLayout.annotations;if(c.length||u.length){for(o=0;o1){c=!0;break}}c?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+s+'"]').remove():(l._pdata=n(e.glplot.cameraParams,[t.xaxis.r2l(l.x)*a[0],t.yaxis.r2l(l.y)*a[1],t.zaxis.r2l(l.z)*a[2]]),r(e.graphDiv,l,s,e.id,l._xa,l._ya))}}}}),Hi=m({"src/components/annotations3d/index.js"(e,t){var r=He(),n=ct();t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:ji()}}},layoutAttributes:ji(),handleDefaults:Ni(),includeBasePlot:function(e,t){var i=r.subplotsRegistry.gl3d;if(i)for(var a=i.attrRegex,o=Object.keys(e),s=0;s{var l,g,y,v,x=a+"anchor",_="x"===a?f:p,b={_fullLayout:i};let w=e[a+"ref"];if(Array.isArray(w)&&w.length>0){let r=o.countDefiningCoords(u,c,a);v=n.coerceRefArray(e,t,b,a,void 0,"paper",r),t["_"+a+"refArray"]=!0}else v=n.coerceRef(e,t,b,a,void 0,"paper");if(Array.isArray(v))v.forEach((function(e){"range"===n.getRefType(e)&&(l=n.getFromId(b,e))&&-1===l._shapeIndices.indexOf(t._index)&&l._shapeIndices.push(t._index)})),h&&[0,1].forEach((function(i){let c=v[i];"range"===n.getRefType(c)?(l=n.getFromId(b,c),g=o.shapePositionToRange(l),y=o.rangeToShapePosition(l),("category"===l.type||"multicategory"===l.type)&&s(a+i+"shift")):g=y=r.identity;let u=a+i,h=e[u];if(e[u]=g(e[u],!0),"pixel"===_?s(u,m[i]):n.coercePosition(t,b,s,c,u,d[i]),t[u]=y(t[u]),e[u]=h,0===i&&"pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,c,x,.25),t[x]=y(t[x]),e[x]=r}}));else{if("range"===n.getRefType(v)?((l=n.getFromId(b,v))._shapeIndices.push(t._index),y=o.rangeToShapePosition(l),g=o.shapePositionToRange(l),h&&("category"===l.type||"multicategory"===l.type)&&(s(a+"0shift"),s(a+"1shift"))):g=y=r.identity,h){let r=a+"0",i=a+"1",o=e[r],l=e[i];e[r]=g(e[r],!0),e[i]=g(e[i],!0),"pixel"===_?(s(r,m[0]),s(i,m[1])):(n.coercePosition(t,b,s,v,r,d[0]),n.coercePosition(t,b,s,v,i,d[1])),t[r]=y(t[r]),t[i]=y(t[i]),e[r]=o,e[i]=l}if("pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,v,x,.25),t[x]=y(t[x]),e[x]=r}}})),h&&r.noneOrAll(e,t,["x0","x1","y0","y1"]);var g,y,v="line"===u;if(h&&(g=s("label.texttemplate"),s("label.texttemplatefallback")),g||(y=s("label.text")),y||g){s("label.textangle");var x=s("label.textposition",v?"middle":"middle center");s("label.xanchor"),s("label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(v,x)),s("label.padding"),r.coerceFont(s,"label.font",i.font)}}t.exports=function(e,t){i(e,t,{name:"shapes",handleItemDefaults:s})}}}),Zi=m({"src/components/shapes/draw_newshape/defaults.js"(e,t){var r=W(),n=ct();t.exports=function(e,t,i){if(i("newshape.visible"),i("newshape.name"),i("newshape.showlegend"),i("newshape.legend"),i("newshape.legendwidth"),i("newshape.legendgroup"),i("newshape.legendgrouptitle.text"),n.coerceFont(i,"newshape.legendgrouptitle.font"),i("newshape.legendrank"),i("newshape.drawdirection"),i("newshape.layer"),i("newshape.fillcolor"),i("newshape.fillrule"),i("newshape.opacity"),i("newshape.line.width")){var a=(e||{}).plot_bgcolor||"#FFF";i("newshape.line.color",r.contrast(a)),i("newshape.line.dash")}var o="drawline"===e.dragmode,s=i("newshape.label.text"),l=i("newshape.label.texttemplate");if(i("newshape.label.texttemplatefallback"),s||l){i("newshape.label.textangle");var c=i("newshape.label.textposition",o?"middle":"middle center");i("newshape.label.xanchor"),i("newshape.label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(o,c)),i("newshape.label.padding"),n.coerceFont(i,"newshape.label.font",t.font)}i("activeshape.fillcolor"),i("activeshape.opacity")}}}),Yi=m({"src/components/shapes/calc_autorange.js"(e,t){var r=ct(),n=ar(),i=Hr(),a=Gr();function o(e,t,r){let o=t[r+"ref"],s="x"===r?i.paramIsX:i.paramIsY;function l(e,t){"paper"===e||"domain"===n.getRefType(e)||(c[e]||(c[e]=[]),c[e].push(t))}let c={};if("path"===t.type&&t.path){let e=t.path.match(i.segmentRE)||[];for(var u=0,h=0;hr&&(l(o[u],n[r]),u++)}}else l(o[0],t[r+"0"]),l(o[1],t[r+"1"]);let f={};for(let t in c){let r=n.getFromId(e,t);if(r){var p="category"===r.type||"multicategory"===r.type?r.r2c:r.d2c;"date"===r.type&&(p=a.decodeDate(p)),f[r._id]=c[t].map(p)}}return f}function s(e){return c(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function l(e){return c(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function c(e,t,n,o,s,l){var c=e/2,u=l;if("pixel"===t){var h=s?a.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[n,o],f=r.aggNums(Math.max,null,h),p=r.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,m=f>0?f+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(e,t,r){var n,o,s="x"===e._id.charAt(0)?"x":"y",l="category"===e.type||"multicategory"===e.type,c=0,u=0,h=l?e.r2c:e.d2c;if("scaled"===t[s+"sizemode"]?(n=t[s+"0"],o=t[s+"1"],l&&(c=t[s+"0shift"],u=t[s+"1shift"])):(n=t[s+"anchor"],o=t[s+"anchor"]),void 0!==n)return[h(n)+c,h(o)+u];if(t.path){var f,p,d,m,g=1/0,y=-1/0,v=t.path.match(i.segmentRE);for("date"===e.type&&(h=a.decodeDate(h)),f=0;fy&&(y=m));if(y>=g)return[g,y]}}t.exports=function(e){var t=e._fullLayout,a=r.filterVisible(t.shapes);if(a.length&&e._fullData.length)for(var c=0;c{f=n.getFromId(e,t),h._extremes[f._id]=n.findExtremes(f,r,s(h))}))}else"paper"!==h.xref&&"domain"!==d&&(p=u(f=n.getFromId(e,h.xref),h,i.paramIsX))&&(h._extremes[f._id]=n.findExtremes(f,p,s(h)));if("array"===m){let t=o(e,h,"y");Object.entries(t).forEach((([t,r])=>{f=n.getFromId(e,t),h._extremes[f._id]=n.findExtremes(f,r,l(h))}))}else"paper"!==h.yref&&"domain"!==m&&(p=u(f=n.getFromId(e,h.yref),h,i.paramIsY))&&(h._extremes[f._id]=n.findExtremes(f,p,l(h)))}}}}),Xi=m({"src/components/shapes/index.js"(e,t){var r=Yr();t.exports={moduleType:"component",name:"shapes",layoutAttributes:Gi(),supplyLayoutDefaults:Wi(),supplyDrawNewShapeDefaults:Zi(),includeBasePlot:En()("shapes"),calcAutorange:Yi(),draw:r.draw,drawOne:r.drawOne}}}),$i=m({"src/components/images/attributes.js"(e,t){var r=xt(),n=vt().templatedArray;_n(),t.exports=n("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",r.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",r.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),Ki=m({"src/components/images/defaults.js"(e,t){var r=ct(),n=ar(),i=Nt(),a=$i();function o(e,t,i){function o(n,i){return r.coerce(e,t,a,n,i)}var s=o("source");if(!o("visible",!!s))return t;o("layer"),o("xanchor"),o("yanchor"),o("sizex"),o("sizey"),o("sizing"),o("opacity");for(var l={_fullLayout:i},c=["x","y"],u=0;u<2;u++){var h=c[u],f=n.coerceRef(e,t,l,h,"paper",void 0);"paper"!==f&&n.getFromId(l,f)._imgIndices.push(t._index),n.coercePosition(t,l,o,f,h,0)}return t}t.exports=function(e,t){i(e,t,{name:"images",handleItemDefaults:o})}}}),Ji=m({"src/components/images/draw.js"(e,t){var r=b(),n=er(),i=ar(),a=_t(),o=Mt();t.exports=function(e){var t,s,l=e._fullLayout,c=[],u={},h=[];for(s=0;s0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),r.noneOrAll(e,t,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),r.coerceFont(o,"font",a.font),o("bgcolor",a.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function l(e,t){function n(n,i){return r.coerce(e,t,o,n,i)}n("visible","skip"===e.method||Array.isArray(e.args))&&(n("method"),n("args"),n("args2"),n("label"),n("execute"))}t.exports=function(e,t){n(e,t,{name:a,handleItemDefaults:s})}}}),ia=m({"src/components/updatemenus/scrollbox.js"(e,t){t.exports=o;var r=b(),n=W(),i=er(),a=ct();function o(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})}o.barWidth=2,o.barLength=20,o.barRadius=2,o.barPad=1,o.barColor="#808BA4",o.prototype.enable=function(e,t,a){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=e;var u,h,f,p,d=this.position.l,m=this.position.w,g=this.position.t,y=this.position.h,v=this.position.direction,x="down"===v,_="left"===v,b="up"===v,w=m,T=y;!x&&!_&&!("right"===v)&&!b&&(this.position.direction="down",x=!0),x||b?(h=(u=d)+w,x?(f=g,T=(p=Math.min(f+T,c))-f):T=(p=g+T)-(f=Math.max(p-T,0))):(p=(f=g)+T,_?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w,h:T};var k=m>w,A=o.barLength+2*o.barPad,M=o.barWidth+2*o.barPad,S=d,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(n.fill,o.barColor),k?(this.hbar=C.attr({rx:o.barRadius,ry:o.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var I=y>T,L=o.barWidth+2*o.barPad,P=o.barLength+2*o.barPad,z=d+m,D=g;z+L>l&&(z=l-L);var O=this.container.selectAll("rect.scrollbar-vertical").data(I?[0]:[]);O.exit().on(".drag",null).remove(),O.enter().append("rect").classed("scrollbar-vertical",!0).call(n.fill,o.barColor),I?(this.vbar=O.attr({rx:o.barRadius,ry:o.barRadius,x:z,y:D,width:L,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=I?h+L+.5:h+.5,j=f-.5,N=k?p+M+.5:p+.5,U=s._topdefs.selectAll("#"+R).data(k||I?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||I?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(j),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(N)-Math.floor(j)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),k||I){var V=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault(),r.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),I&&this.vbar.on(".drag",null).call(q)}this.setTranslate(t,a)},o.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.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)},o.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=r.event.dx),this.vbar&&(t-=r.event.dy),this.setTranslate(e,t)},o.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=r.event.deltaY),this.vbar&&(t+=r.event.deltaY),this.setTranslate(e,t)},o.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var n=e+this._hbarXMin,i=n+this._hbarTranslateMax;e=(a.constrain(r.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var o=t+this._vbarYMin,s=o+this._vbarTranslateMax;t=(a.constrain(r.event.y,o,s)-o)/(s-o)*(this.position.h-this._box.h)}this.setTranslate(e,t)},o.prototype.setTranslate=function(e,t){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(e=a.constrain(e||0,0,r),t=a.constrain(t||0,0,n),this.translateX=e,this.translateY=t,this.container.call(i.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var o=e/r;this.hbar.call(i.setTranslate,e+o*this._hbarTranslateMax,t)}if(this.vbar){var s=t/n;this.vbar.call(i.setTranslate,e,t+s*this._vbarTranslateMax)}}}}),aa=m({"src/components/updatemenus/draw.js"(e,t){var r=b(),n=At(),i=W(),a=er(),o=ct(),s=Et(),l=vt().arrayEditor,c=St().LINE_SPACING,u=ta(),h=ia();function f(e){return e._index}function p(e,t){return+e.attr(u.menuIndexAttrName)===t._index}function d(e,t,r,n,i,a,o,s){t.active=o,l(e.layout,u.name,t).applyUpdate("active",o),"buttons"===t.type?g(e,n,null,null,t):"dropdown"===t.type&&(i.attr(u.menuIndexAttrName,"-1"),m(e,n,i,a,t),s||g(e,n,i,a,t))}function m(e,t,r,n,i){var s=o.ensureSingle(t,"g",u.headerClassName,(function(e){e.style("pointer-events","all")})),l=i._dims,c=i.active,h=i.buttons[c]||u.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},d={width:l.headerWidth,height:l.headerHeight};s.call(y,i,h,e).call(M,i,f,d),o.ensureSingle(t,"text",u.headerArrowClassName,(function(e){e.attr("text-anchor","end").call(a.font,i.font).text(u.arrowSymbol[i.direction])})).attr({x:l.headerWidth-u.arrowOffsetX+i.pad.l,y:l.headerHeight/2+u.textOffsetY+i.pad.t}),s.on("click",(function(){r.call(S,String(p(r,i)?-1:i._index)),g(e,t,r,n,i)})),s.on("mouseover",(function(){s.call(w)})),s.on("mouseout",(function(){s.call(T,i)})),a.setTranslate(t,l.lx,l.ly)}function g(e,t,i,a,s){i||(i=t).attr("pointer-events","all");var l=function(e){return-1==+e.attr(u.menuIndexAttrName)}(i)&&"buttons"!==s.type?[]:s.buttons,c="dropdown"===s.type?u.dropdownButtonClassName:u.buttonClassName,h=i.selectAll("g."+c).data(o.filterVisible(l)),f=h.enter().append("g").classed(c,!0),p=h.exit();"dropdown"===s.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var m=0,g=0,v=s._dims,x=-1!==["up","down"].indexOf(s.direction);"dropdown"===s.type&&(x?g=v.headerHeight+u.gapButtonHeader:m=v.headerWidth+u.gapButtonHeader),"dropdown"===s.type&&"up"===s.direction&&(g=-u.gapButtonHeader+u.gapButton-v.openHeight),"dropdown"===s.type&&"left"===s.direction&&(m=-u.gapButtonHeader+u.gapButton-v.openWidth);var b={x:v.lx+m+s.pad.l,y:v.ly+g+s.pad.t,yPad:u.gapButton,xPad:u.gapButton,index:0},k={l:b.x+s.borderwidth,t:b.y+s.borderwidth};h.each((function(o,l){var c=r.select(this);c.call(y,s,o,e).call(M,s,b),c.on("click",(function(){r.event.defaultPrevented||(o.execute&&(o.args2&&s.active===l?(d(e,s,0,t,i,a,-1),n.executeAPICommand(e,o.method,o.args2)):(d(e,s,0,t,i,a,l),n.executeAPICommand(e,o.method,o.args))),e.emit("plotly_buttonclicked",{menu:s,button:o,active:s.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,s),h.call(_,s)}))})),h.call(_,s),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=s.direction,a&&(h.size()?function(e,t,r,n,i,a){var o,s,l,c=i.direction,h="up"===c||"down"===c,f=i._dims,p=i.active;if(h)for(s=0,l=0;l0?[0]:[]);if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor","pointer"),s.exit().each((function(){r.select(this).selectAll("g."+u.headerGroupClassName).each(a)})).remove(),0!==i.length){var l=s.selectAll("g."+u.headerGroupClassName).data(i,f);l.enter().append("g").classed(u.headerGroupClassName,!0);for(var c=o.ensureSingle(s,"g",u.dropdownButtonGroupClassName,(function(e){e.style("pointer-events","all")})),y=0;y0&&(l=l.transition().duration(t.transition.duration).ease(t.transition.easing)),l.attr("transform",s(o-.5*u.gripWidth,t._dims.currentValueTotalHeight))}}function E(e,t){var r=e._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,t))}function C(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function I(e,t,r){var n=r._dims,s=o.ensureSingle(e,"rect",u.railTouchRectClass,(function(n){n.call(A,t,e,r).style("pointer-events","all")}));s.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),a.setTranslate(s,0,n.currentValueTotalHeight)}function L(e,t){var r=t._dims,n=r.inputAreaLength-2*u.railInset,s=o.ensureSingle(e,"rect",u.railRectClass);s.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,t.bordercolor).call(i.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),a.setTranslate(s,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}t.exports=function(e){var t=e._context.staticPlot,i=e._fullLayout,o=function(e,t){for(var r=e[u.name],n=[],i=0;i0?[0]:[]);function l(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),n.autoMargin(e,m(t))}if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor",t?null:"ew-resize"),s.exit().each((function(){r.select(this).selectAll("g."+u.groupClassName).each(l)})).remove(),0!==o.length){var c=s.selectAll("g."+u.groupClassName).data(o,g);c.enter().append("g").classed(u.groupClassName,!0),c.exit().each(l).remove();for(var h=0;h0?e.touches[0].clientX:0}function g(e,t,r,n){var i=a.ensureSingle(e,"rect",d.bgClassName,(function(e){e.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),c=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=s.crispRound(t,n.borderwidth);i.attr({width:n._width+c,height:n._height+c,transform:o(u,u),"stroke-width":h}).call(l.stroke,n.bordercolor).call(l.fill,n.bgcolor)}function y(e,t,r,n){var i=t._fullLayout;a.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(e){e.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function v(e,t,n,o){var l,c=t.calcdata,f=e.selectAll("g."+d.rangePlotClassName).data(n._subplotsWith,a.identity);f.enter().append("g").attr("class",(function(e){return d.rangePlotClassName+" "+e})).call(s.setClipUrl,o._clipId,t),f.order(),f.exit().remove(),f.each((function(e,a){var s=r.select(this),f=0===a,p=h.getFromId(t,e,"y"),d=p._name,m=o[d],g={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:o.range.slice(),calendar:n.calendar},width:o._width,height:o._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};n.rangebreaks&&(g.layout.xaxis.rangebreaks=n.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==m.rangemode?m.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),i.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[d];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:e,plotgroup:s,xaxis:y,yaxis:v,isRangePlot:!0};f?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(t,x,function(e,t){for(var r=[],n=0;n=n.max)t=B[r+1];else if(e=n.pmax)t=B[r+1];else if(ei._length||v+b<0)return;u=y+b,f=v+b;break;case l:if(_="col-resize",y+b>i._length)return;u=y+b,f=v;break;case c:if(_="col-resize",v+b<0)return;u=y,f=v+b;break;default:_="ew-resize",u=g,f=g+b}if(f0)){var m=function(e,t,r){for(var n=r.filter((function(r){return t[r].anchor===e._id})),i=0,a=0;a1){f||p||d||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var x,_,b="top to bottom"===k("roworder"),w=f?.2:.1,T=f?.3:.1;m&&t._splomGridDflt&&(x=t._splomGridDflt.xside,_=t._splomGridDflt.yside),g._domains={x:c("x",k,w,x,v),y:c("y",k,T,_,y,b)}}else delete t.grid}function k(e,t){return r.coerce(n,g,s,e,t)}},contentDefaults:function(e,t){var r=t.grid;if(r&&r._domains){var n,i,a,o,s,c,h,f=e.grid||{},p=t._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,y="independent"===r.pattern,v=r._axisMap={};if(d){var x=f.subplots||[];c=r.subplots=new Array(m);var _=1;for(n=0;n0,h=e._context.staticPlot;t.each((function(t){var f,p=t[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(e){return e.id});var g=a.hasMarkers(p)&&p.marker.maxdisplayed>0;!m.visible&&!d.visible&&(t=[]);var y=r.select(this).selectAll("g.errorbar").data(t,f);if(y.exit().remove(),t.length){d.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(y,o.layerClipId,e),y.each((function(e){var t=r.select(this),i=function(e,t,r){var i={x:t.c2p(e.x),y:r.c2p(e.y)};return void 0!==e.yh&&(i.yh=r.c2p(e.yh),i.ys=r.c2p(e.ys),n(i.ys)||(i.noYS=!0,i.ys=r.c2p(e.ys,!0))),void 0!==e.xh&&(i.xh=t.c2p(e.xh),i.xs=t.c2p(e.xs),n(i.xs)||(i.noXS=!0,i.xs=t.c2p(e.xs,!0))),i}(e,l,c);if(!g||e.vis){var a,o=t.select("path.yerror");if(m.visible&&n(i.x)&&n(i.yh)&&n(i.ys)){var f=m.width;a="M"+(i.x-f)+","+i.yh+"h"+2*f+"m-"+f+",0V"+i.ys,i.noYS||(a+="m-"+f+",0h"+2*f),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=t.select("path.xerror");if(d.visible&&n(i.y)&&n(i.xh)&&n(i.xs)){var y=(d.copy_ystyle?m:d).width;a="M"+i.xh+","+(i.y-y)+"v"+2*y+"m0,-"+y+"H"+i.xs,i.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?u&&(p=p.transition().duration(s.duration).ease(s.easing)):p=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}}}),za=m({"src/components/errorbars/style.js"(e,t){var r=b(),n=W();t.exports=function(e){e.each((function(e){var t=e[0].trace,i=t.error_y||{},a=t.error_x||{},o=r.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(n.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(n.stroke,a.color)}))}}}),Da=m({"src/components/errorbars/index.js"(e,t){var r=ct(),n=De().overrideAll,i=Ea(),a={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i)};delete a.error_x.copy_zstyle,delete a.error_y.copy_zstyle,delete a.error_y.copy_ystyle;var o={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i),error_z:r.extendFlat({},i)};delete o.error_x.copy_ystyle,delete o.error_y.copy_ystyle,delete o.error_z.copy_ystyle,delete o.error_z.copy_zstyle,t.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:a,bar:a,histogram:a,scatter3d:n(o,"calc","nested"),scattergl:n(a,"calc","nested")}},supplyDefaults:Ca(),calc:La(),makeComputeError:Ia(),plot:Pa(),style:za(),hoverInfo:function(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))}}}}),Oa=m({"src/components/colorbar/constants.js"(e,t){t.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"}}}}),Ra=m({"src/components/colorbar/draw.js"(e,t){var r=b(),n=F(),i=At(),a=He(),o=ar(),s=pr(),l=ct(),c=l.strTranslate,u=B().extendFlat,h=dr(),f=er(),p=W(),d=tr(),m=Et(),g=Ct().flipScale,y=Ai(),v=Mi(),x=Lt(),_=St(),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,A=Oa().cn;t.exports={draw:function(e){var t=e._fullLayout._infolayer.selectAll("g."+A.colorbar).data(function(e){var t,r,n,i,a=e._fullLayout,o=e.calcdata,s=[];function l(e){return u(e,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof i.calc?i.calc(e,n,t):(t._fillgradient=r.reversescale?g(r.colorscale):r.colorscale,t._zrange=[r[i.min],r[i.max]])}for(var h=0;h0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pe=Math.pow(10,Math.floor(Math.log(fe)/Math.LN10));ue*=pe*l.roundUp(fe/pe,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(le.tick0=0)}le.dtick=ue}le.domain=s?[oe+P/B.h,oe+Q-P/B.h]:[oe+L/B.w,oe+Q-L/B.w],le.setScale(),e.attr("transform",c(Math.round(B.l),Math.round(B.t)));var de,me=e.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),ge=le.ticklabelposition,ye=le.title.font.size,ve=e.select("."+A.cbaxis),xe=0,_e=0;function be(r,n){var i={propContainer:le,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:F._dfltTitle.colorbar,containerGroup:e.select("."+A.cbtitle)},o="h"===r.charAt(0)?r.slice(1):"h"+r;e.selectAll("."+o+",."+o+"-math-group").remove(),d.draw(a,r,u(i,n||{}))}return l.syncOrAsync([i.previousPromises,function(){var e,t;(s&&ce||!s&&!ce)&&("top"===V&&(e=L+B.l+ee*z,t=P+B.t+te*(1-oe-Q)+3+.75*ye),"bottom"===V&&(e=L+B.l+ee*z,t=P+B.t+te*(1-oe)-3-.25*ye),"right"===V&&(t=P+B.t+te*D+3+.75*ye,e=L+B.l+ee*oe),be(le._id+"title",{attributes:{x:e,y:t,"text-anchor":s?"start":"middle"}}))},function(){if(!s&&!ce||s&&ce){var i,u=e.select("."+A.cbtitle),h=u.select("text"),p=[-M/2,M/2],d=u.select(".h"+le._id+"title-math-group").node(),g=15.6;if(h.node()&&(g=parseInt(h.node().style.fontSize,10)*w),d?(i=f.bBox(d),_e=i.width,(xe=i.height)>g&&(p[1]-=(xe-g)/2)):h.node()&&!h.classed(A.jsPlaceholder)&&(i=f.bBox(h.node()),_e=i.width,xe=i.height),s){if(xe){if(xe+=5,"top"===V)le.domain[1]-=xe/B.h,p[1]*=-1;else{le.domain[0]+=xe/B.h;var y=m.lineCount(h);p[1]+=(1-y)*g}u.attr("transform",c(p[0],p[1])),le.setScale()}}else _e&&("right"===V&&(le.domain[0]+=(_e+ye/2)/B.w),u.attr("transform",c(p[0],p[1])),le.setScale())}e.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",s?c(0,Math.round(B.h*(1-le.domain[1]))):c(Math.round(B.w*le.domain[0]),0)),ve.attr("transform",s?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var v=e.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);v.enter().append("rect").classed(A.cbfill,!0).attr("style",""),v.exit().remove();var x=q.map(le.c2p).map(Math.round).sort((function(e,t){return e-t}));v.each((function(e,i){var o=[0===i?q[0]:(Y[i]+Y[i-1])/2,i===Y.length-1?q[1]:(Y[i]+Y[i+1])/2].map(le.c2p).map(Math.round);s&&(o[1]=l.constrain(o[1]+(o[1]>o[0])?1:-1,x[0],x[1]));var c=r.select(this).attr(s?"x":"y",re).attr(s?"y":"x",r.min(o)).attr(s?"width":"height",Math.max($,2)).attr(s?"height":"width",Math.max(r.max(o)-r.min(o),2));if(t._fillgradient)f.gradient(c,a,t._id,s?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var u=G(e).replace("e-","");c.attr("fill",n(u).toHexString())}}));var _=e.select("."+A.cblines).selectAll("path."+A.cbline).data(N.color&&N.width?X:[]);_.enter().append("path").classed(A.cbline,!0),_.exit().remove(),_.each((function(e){var t=re,n=Math.round(le.c2p(e))+N.width/2%1;r.select(this).attr("d","M"+(s?t+","+n:n+","+t)+(s?"h":"v")+$).call(f.lineGroupStyle,N.width,H(e),N.dash)})),ve.selectAll("g."+le._id+"tick,path").remove();var b=re+$+(M||0)/2-("outside"===t.ticks?1:0),T=o.calcTicks(le),k=o.getTickSigns(le)[2];return o.drawTicks(a,le,{vals:"inside"===le.ticks?o.clipEnds(le,T):T,layer:ve,path:o.makeTickPath(le,b,k),transFn:o.makeTransTickFn(le)}),o.drawLabels(a,le,{vals:T,layer:ve,transFn:o.makeTransTickLabelFn(le),labelFns:o.makeLabelFns(le,b)})},function(){if(s&&!ce||!s&&ce){var e,n,i=le.position||0,o=le._offset+le._length/2;if("right"===V)n=o,e=B.l+ee*i+10+ye*(le.showticklabels?1:.5);else if(e=o,"bottom"===V&&(n=B.t+te*i+10+(-1===ge.indexOf("inside")?le.tickfont.size:0)+("inside"!==le.ticks&&t.ticklen||0)),"top"===V){var l=U.text.split("
").length;n=B.t+te*i+10-$-w*ye*l}be((s?"h":"v")+le._id+"title",{avoid:{selection:r.select(a).selectAll("g."+le._id+"tick"),side:V,offsetTop:s?0:B.t,offsetLeft:s?B.l:0,maxShift:s?F.width:F.height},attributes:{x:e,y:n,"text-anchor":"middle"},transform:{rotate:s?-90:0,offset:0}})}},i.previousPromises,function(){var r,o=$+M/2;-1===ge.indexOf("inside")&&(r=f.bBox(ve.node()),o+=s?r.width:r.height),de=me.select("text");var l=0,u=s&&"top"===V,d=!s&&"right"===V,m=0;if(de.node()&&!de.classed(A.jsPlaceholder)){var y,v=me.select(".h"+le._id+"title-math-group").node();v&&(s&&ce||!s&&!ce)?(l=(r=f.bBox(v)).width,y=r.height):(l=(r=f.bBox(me.node())).right-B.l-(s?re:se),y=r.bottom-B.t-(s?se:re),!s&&"top"===V&&(o+=r.height,m=r.height)),d&&(de.attr("transform",c(l/2+ye/2,0)),l*=2),o=Math.max(o,s?l:y)}var x=2*(s?L:P)+o+S+M/2,w=0;!s&&U.text&&"bottom"===I&&D<=0&&(x+=w=x/2,m+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=m;var j=S+M,N=(s?re:se)-j/2-(s?L:0),q=(s?se:re)-(s?J:P+m-w);e.select("."+A.cbbg).attr("x",N).attr("y",q).attr(s?"width":"height",Math.max(x-w,2)).attr(s?"height":"width",Math.max(J+j,2)).call(p.fill,E).call(p.stroke,t.bordercolor).style("stroke-width",S);var H=d?Math.max(l-10,0):0;e.selectAll("."+A.cboutline).attr("x",(s?re:se+L)+H).attr("y",(s?se+P-J:re)+(u?xe:0)).attr(s?"width":"height",Math.max($,2)).attr(s?"height":"width",Math.max(J-(s?2*P+xe:2*L+H),2)).call(p.stroke,t.outlinecolor).style({fill:"none","stroke-width":M});var G=s?ne*x:0,W=s?0:(1-ie)*x-m;if(G=R?B.l-G:-G,W=O?B.t-W:-W,e.attr("transform",c(G,W)),!s&&(S||n(E).getAlpha()&&!n.equals(F.paper_bgcolor,E))){var Z=ve.selectAll("text"),Y=Z[0].length,X=e.select("."+A.cbbg).node(),K=f.bBox(X),Q=f.getTranslate(e);Z.each((function(e,t){var r=Y-1;if(0===t||t===r){var n,i=f.bBox(this),a=f.getTranslate(this);if(t===r){var o=i.right+a.x;(n=K.right+Q.x+se-S-2+z-o)>0&&(n=0)}else if(0===t){var s=i.left+a.x;(n=K.left+Q.x+se+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var ee={},te=T[C],ae=k[C],oe=T[I],ue=k[I],he=x-$;s?("pixels"===g?(ee.y=D,ee.t=J*oe,ee.b=J*ue):(ee.t=ee.b=0,ee.yt=D+h*oe,ee.yb=D-h*ue),"pixels"===b?(ee.x=z,ee.l=x*te,ee.r=x*ae):(ee.l=he*te,ee.r=he*ae,ee.xl=z-_*te,ee.xr=z+_*ae)):("pixels"===g?(ee.x=z,ee.l=J*te,ee.r=J*ae):(ee.l=ee.r=0,ee.xl=z+h*te,ee.xr=z-h*ae),"pixels"===b?(ee.y=1-D,ee.t=x*oe,ee.b=x*ue):(ee.t=he*oe,ee.b=he*ue,ee.yt=D-_*oe,ee.yb=D+_*ue));var fe=t.y<.5?"b":"t",pe=t.x<.5?"l":"r";a._fullLayout._reservedMargin[t._id]={};var _e={r:F.width-N-G,l:N+ee.r,b:F.height-q-W,t:q+ee.b};R&&O?i.autoMargin(a,t._id,ee):R?a._fullLayout._reservedMargin[t._id][fe]=_e[fe]:O||s?a._fullLayout._reservedMargin[t._id][pe]=_e[pe]:a._fullLayout._reservedMargin[t._id][fe]=_e[fe]}],a)}(g,t,e);_&&_.then&&(e._promises||[]).push(_),e._context.edits.colorbarPosition&&function(e,t,r){var n,i,o,l="v"===t.orientation,u=r._fullLayout._size;s.init({element:e.node(),gd:r,prepFn:function(){n=e.attr("transform"),h(e)},moveFn:function(r,a){e.attr("transform",n+c(r,a)),i=s.align((l?t._uFrac:t._vFrac)+r/u.w,l?t._thickFrac:t._lenFrac,0,1,t.xanchor),o=s.align((l?t._vFrac:1-t._uFrac)-a/u.h,l?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=s.getCursor(i,o,t.xanchor,t.yanchor);h(e,f)},doneFn:function(){if(h(e),void 0!==i&&void 0!==o){var n={};n[t._propPrefix+"x"]=i,n[t._propPrefix+"y"]=o,void 0!==t._traceIndex?a.call("_guiRestyle",r,n,t._traceIndex):a.call("_guiRelayout",r,n)}}})}(g,t,e)})),t.exit().each((function(t){i.autoMargin(e,t._id)})).remove(),t.order()}}}}),Fa=m({"src/components/colorbar/index.js"(e,t){t.exports={moduleType:"component",name:"colorbar",attributes:Pt(),supplyDefaults:qt(),draw:Ra().draw,hasColorbar:Ot()}}}),Ba=m({"src/components/legend/index.js"(e,t){t.exports={moduleType:"component",name:"legend",layoutAttributes:gr(),supplyLayoutDefaults:vr(),draw:Mr(),style:Ar()}}}),ja=m({"src/locale-en.js"(e,t){t.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"}}}}),Na=m({"src/locale-en-us.js"(e,t){t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}}}),Ua=m({"src/snapshot/cloneplot.js"(e,t){var r=He(),n=ct(),i=n.extendFlat,a=n.extendDeep;function o(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}t.exports=function(e,t){var n,s,l=e.data,c=e.layout,u=a([],l),h=a({},c,o(t.tileClass)),f=e._context||{};if(t.width&&(h.width=t.width),t.height&&(h.height=t.height),"thumbnail"===t.tileClass||"themes__thumb"===t.tileClass){h.annotations=[];var p=Object.keys(h);for(n=0;n-1&&(h[p[n]].title={text:""});for(n=0;n=0)return e}else if("string"==typeof e&&"%"===(e=e.trim()).slice(-1)&&r(e.slice(0,-1))&&(e=+e.slice(0,-1))>=0)return e+"%"}function p(e,t,r,i,a,o){var s=!1!==(o=o||{}).moduleHasSelected,l=!1!==o.moduleHasUnselected,c=!1!==o.moduleHasConstrain,u=!1!==o.moduleHasCliponaxis,f=!1!==o.moduleHasTextangle,p=!1!==o.moduleHasInsideanchor,d=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=h(i,"textfont",r.font),x=n.extendFlat({},v),_=!(e.textfont&&e.textfont.color);if(_&&delete x.color,h(i,"insidetextfont",x),d){var b=n.extendFlat({},v);_&&delete b.color,h(i,"pathbar.textfont",b)}y&&h(i,"outsidetextfont",v),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),f&&i("textangle"),i("texttemplate"),i("texttemplatefallback")}g&&p&&i("insidetextanchor")}t.exports={supplyDefaults:function(e,t,r,c){function h(r,i){return n.coerce(e,t,u,r,i)}if(o(e,t,c,h)){s(e,t,c,h),h("xhoverformat"),h("yhoverformat"),h("zorder"),h("orientation",t.x&&!t.y?"h":"v"),h("base"),h("offset"),h("width"),h("text"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback");var f=h("textposition");p(e,0,c,h,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(e,t,h,r,c);var d=(t.marker.line||{}).color,m=a.getComponentMethod("errorbars","supplyDefaults");m(e,t,d||i.defaultLine,{axis:"y"}),m(e,t,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(t,h)}else t.visible=!1},crossTraceDefaults:function(e,t){var r,i;function a(e,t){return n.coerce(i._input,i,u,e,t)}for(var o=0;o0&&!f[y]&&(h=!0),f[y]=!0),g.visible&&"histogram"===g.type&&"category"!==n.getFromId({_fullLayout:t},g["v"===g.orientation?"xaxis":"yaxis"]).type&&(u=!0)}}if(c){"overlay"!==p&&l("barnorm"),l("bargap",u&&!h?0:.2),l("bargroupgap");var v=l("barcornerradius");t.barcornerradius=o(v)}else delete t.barmode}}}),Ka=m({"src/traces/bar/arrays_to_calcdata.js"(e,t){var r=ct();t.exports=function(e,t){for(var n=0;na))return r}return void 0!==n?n:e.dflt},e.coerceColor=function(e,t,n){return r(t).isValid()?t:void 0!==n?n:e.dflt},e.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t)?t:void 0!==r?r:e.dflt},e.getValue=function(e,t){var r;return n(e)?t1||0===i.bargap&&0===i.bargroupgap&&!e[0].trace.marker.line.width)&&r.select(this).attr("shape-rendering","crispEdges")})),t.selectAll("g.points").each((function(t){p(r.select(this),t[0].trace,e)})),o.getComponentMethod("errorbars","style")(t)},styleTextPoints:d,styleOnSelect:function(e,t,n){var s=t[0].trace;s.selectedpoints?function(e,t,n){i.selectedPointStyle(e.selectAll("path"),t),function(e,t,n){e.each((function(e){var o,s=r.select(this);if(e.selected){o=a.ensureUniformFontSize(n,m(s,e,t,n));var l=t.selected.textfont&&t.selected.textfont.color;l&&(o.color=l),i.font(s,o)}else i.selectedTextStyle(s,t)}))}(e.selectAll("text"),t,n)}(n,s,e):(p(n,s,e),o.getComponentMethod("errorbars","style")(n))},getInsideTextFont:y,getOutsideTextFont:v,getBarColor:_,resizeText:s}}}),ro=m({"src/traces/bar/plot.js"(e,t){var r=b(),n=M(),i=ct(),a=Et(),o=W(),s=er(),l=He(),c=ar().tickText,u=Qa(),h=u.recordMinTextSize,f=u.clearMinTextSize,p=to(),d=eo(),m=ci(),g=Wa(),y=g.text,v=g.textposition,x=Kt().appendArrayPointValue,_=m.TEXTPAD;function w(e){return e.id}function T(e){return(e>0)-(e<0)}function k(e,t){return e0}function E(e,t,r,n,i){return!(e<0||t<0)&&(r<=e&&n<=t||r<=t&&n<=e||(i?e>=r*(t/n):t>=n*(e/r)))}function C(e){return"auto"===e?0:e}function I(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 L(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u="end"===c,h="start"===c,f=((a.leftToRight||0)+1)/2,p=1-f,d=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(t-e),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=C(l);"auto"===l&&!(y<=x&&v<=b)&&(y>x||v>b)&&(!(y>b||v>x)||y_){var E=function(e,t,r,n,i,a,o,s,l){var c,u,h,f,p=Math.max(0,Math.abs(t-e)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),m=a-_,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=d/(p-y)?f=d/i.y:i.y/i.x<=(d-v)/p?f=p/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(p-m)*(p-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-2*i.x*(p-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(p/2-m)*(p/2-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-i.x*(p/2-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(p/2-m)*(p/2-m)+(d-m)*(d-m)-m*m,f=(-(u=-i.x*(p/2-m)-2*i.y*(d-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:f=Math.min(1,f),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(d-i.y*f)/2)*(m-(d-i.y*f)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.x*f)/2)*(m-(p-i.x*f)/2)))-o)}}(e,t,r,n,S,m,g,o,d);A=E.scale,M=E.pad}else A=1,s&&(A=Math.min(1,x/S.x,b/S.y)),M=0;var L=i.left*p+i.right*f,P=(i.top+i.bottom)/2,z=(e+_)*p+(t-_)*f,D=(r+n)/2,O=0,R=0;if(h||u){var F=(o?S.x:S.y)/2;m&&(u||d)&&(w+=M);var B=o?k(e,t):k(r,n);o?h?(z=e+B*w,O=-B*F):(z=t-B*w,O=B*F):h?(D=r+B*w,R=-B*F):(D=n-B*w,R=B*F)}return{textX:L,textY:P,targetX:z,targetY:D,anchorX:O,anchorY:R,scale:A,rotate:T}}t.exports={plot:function(e,t,u,m,g,b){var M=t.xaxis,P=t.yaxis,z=e._fullLayout,D=e._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},f("bar",z));var O=i.makeTraceGroups(m,u,"trace bars").each((function(l){var u=r.select(this),f=l[0].trace,m=l[0].t,O="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,j=B||R,N=0;O&&f.connector.visible&&"between"===f.connector.mode&&(N=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=i.ensureSingle(u,"g","points"),H=function(e){if(e.ids)return w}(f),G=q.selectAll("g.point").data(i.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,w){var S,O,R=r.select(this),q=function(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),n?[i,a]:[a,i]}(u,M,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Z=q[1][1],Y=0==(U?G-H:Z-W);if(Y&&j&&d.getLineWidth(f,u)&&(Y=!1),Y||(Y=!(n(H)&&n(G)&&n(W)&&n(Z))),u.isBlank=Y,Y&&(U?G=H:Z=W),N&&!Y&&(U?(H-=k(H,G)*N,G+=k(H,G)*N):(W-=k(W,Z)*N,Z+=k(W,Z)*N)),"waterfall"===f.type){if(!Y){var X=f[u.dir].marker;S=X.line.width,O=X.color}}else S=d.getLineWidth(f,u),O=u.mc||f.marker.color;function $(e){var t=r.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?r.round(Math.round(e)-t,2):e}var K=o.opacity(O)<1||S>.01?$:function(e,t,r){return r&&e===t?e:Math.abs(e-t)>=2?$(e):e>t?Math.ceil(e):Math.floor(e)};e._context.staticPlot||(H=K(H,G,U),G=K(G,H,U),W=K(W,Z,!U),Z=K(Z,W,!U));var J,Q=U?M.c2p:P.c2p;J=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var ee,te,re=B||F?function(e,t){if(!e)return 0;var r,n=Math.abs(U?Z-W:G-H),i=Math.abs(U?G-H:Z-W),a=K(Math.abs(Q(J,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===t?n*(Math.min(50,e)/100):e,K(Math.max(Math.min(r,o),0))}(m.cornerradiusvalue,m.cornerradiusform):0,ne="M"+H+","+W+"V"+Z+"H"+G+"V"+W+"Z",ie=0;if(re&&u.s){var ae=0===T(u.s0)||T(u.s)===T(u.s0)?u.s1:u.s0;if((ie=K(u.hasB?0:Math.abs(Q(J,!0)-Q(ae,!0))))0?Math.sqrt(ie*(2*re-ie)):0,he=oe>0?Math.max:Math.min;ee="M"+H+","+W+"V"+(Z-ce*se)+"H"+he(G-(re-ie)*oe,H)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Z-re*se-ue)+"V"+(W+re*se+ue)+"A "+re+","+re+" 0 0 "+le+" "+he(G-(re-ie)*oe,H)+","+(W+ce*se)+"Z"}else if(u.hasB)ee="M"+(H+re*oe)+","+W+"A "+re+","+re+" 0 0 "+le+" "+H+","+(W+re*se)+"V"+(Z-re*se)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe)+","+Z+"H"+(G-re*oe)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Z-re*se)+"V"+(W+re*se)+"A "+re+","+re+" 0 0 "+le+" "+(G-re*oe)+","+W+"Z";else{var fe=(te=Math.abs(Z-W)+ie)0?Math.sqrt(ie*(2*re-ie)):0,de=se>0?Math.max:Math.min;ee="M"+(H+fe*oe)+","+W+"V"+de(Z-(re-ie)*se,W)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe-pe)+","+Z+"H"+(G-re*oe+pe)+"A "+re+","+re+" 0 0 "+le+" "+(G-fe*oe)+","+de(Z-(re-ie)*se,W)+"V"+W+"Z"}}else ee=ne}else ee=ne;var me=A(i.ensureSingle(R,"path"),z,g,b);if(me.style("vector-effect",D?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Z-W))||Y&&e._context.staticPlot?"M0,0Z":ee).call(s.setClipUrl,t.layerClipId,e),!z.uniformtext.mode&&V){var ge=s.makePointStyleFns(f);s.singlePointStyle(u,me,f,ge,e)}(function(e,t,r,n,o,l,u,f,m,g,b,w,T){var M,S=t.xaxis,P=t.yaxis,z=e._fullLayout;function D(t,r,n){return i.ensureSingle(t,"text").text(r).attr({class:"bartext bartext-"+M,"text-anchor":"middle","data-notex":1}).call(s.font,n).call(a.convertToTspans,e)}var O=n[0].trace,R="h"===O.orientation,F=function(e,t,r,n,a){var o,s=t[0].trace;return o=s.texttemplate?function(e,t,r,n,a){var o=t[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,u,h,f,p="histogram"===o.type,d="waterfall"===o.type,m="funnel"===o.type,g="h"===o.orientation;function y(e){return c(f,f.c2l(e),!0).text}g?(l="y",u=a,h="x",f=n):(l="x",u=n,h="y",f=a);var v=t[r],_={};_.label=v.p,_.labelLabel=_[l+"Label"]=function(e){return c(u,u.c2l(e),!0).text}(v.p);var b=i.castOption(o,v.i,"text");(0===b||b)&&(_.text=b),_.value=v.s,_.valueLabel=_[h+"Label"]=y(v.s);var w={};x(w,o,v.i),(p||void 0===w.x)&&(w.x=g?_.value:_.label),(p||void 0===w.y)&&(w.y=g?_.label:_.value),(p||void 0===w.xLabel)&&(w.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===w.yLabel)&&(w.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+v.rawS||v.s,_.deltaLabel=y(_.delta),_.final=v.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),m&&(_.value=v.s,_.valueLabel=y(_.value),_.percentInitial=v.begR,_.percentInitialLabel=i.formatPercent(v.begR),_.percentPrevious=v.difR,_.percentPreviousLabel=i.formatPercent(v.difR),_.percentTotal=v.sumR,_.percenTotalLabel=i.formatPercent(v.sumR));var T=i.castOption(o,v.i,"customdata");return T&&(_.customdata=T),i.texttemplateString({data:[w,_,o._meta],fallback:o.texttemplatefallback,labels:_,locale:e._d3locale,template:s})}(e,t,r,n,a):s.textinfo?function(e,t,r,n){var a=e[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function u(e){return c(o?r:n,+e,!0).text}var h,f=a.textinfo,p=e[t],d=f.split("+"),m=[],g=function(e){return-1!==d.indexOf(e)};if(g("label")&&m.push(function(e){return c(o?n:r,e,!0).text}(e[t].p)),g("text")&&(0===(h=i.castOption(a,p.i,"text"))||h)&&m.push(h),s){var y=+p.rawS||p.s,v=p.v,x=v-y;g("initial")&&m.push(u(x)),g("delta")&&m.push(u(y)),g("final")&&m.push(u(v))}if(l){g("value")&&m.push(u(p.s));var _=0;g("percent initial")&&_++,g("percent previous")&&_++,g("percent total")&&_++;var b=_>1;g("percent initial")&&(h=i.formatPercent(p.begR),b&&(h+=" of initial"),m.push(h)),g("percent previous")&&(h=i.formatPercent(p.difR),b&&(h+=" of previous"),m.push(h)),g("percent total")&&(h=i.formatPercent(p.sumR),b&&(h+=" of total"),m.push(h))}return m.join("
")}(t,r,n,a):d.getValue(s.text,r),d.coerceString(y,o)}(z,n,o,S,P);M=function(e,t){var r=d.getValue(e.textposition,t);return d.coerceEnumerated(v,r)}(O,o);var B="stack"===w.mode||"relative"===w.mode,j=n[o],N=!B||j._outmost,U=j.hasB,V=g&&g-b>_;if(F&&"none"!==M&&(!j.isBlank&&l!==u&&f!==m||"auto"!==M&&"inside"!==M)){var q=z.font,H=p.getBarColor(n[o],O),G=p.getInsideTextFont(O,o,q,H),W=p.getOutsideTextFont(O,o,q),Z=O.insidetextanchor||"end",Y=r.datum();R?"log"===S.type&&Y.s0<=0&&(l=S.range[0]0&&J>0;ie=V?U?E(re-2*g,ne,K,J,R)||E(re,ne-2*g,K,J,R):R?E(re-(g-b),ne,K,J,R)||E(re,ne-2*(g-b),K,J,R):E(re,ne-(g-b),K,J,R)||E(re-2*(g-b),ne,K,J,R):E(re,ne,K,J,R),ae&&ie?M="inside":(M="outside",X.remove(),X=null)}else M="inside";if(!X){var oe=(X=D(r,F,Q=i.ensureUniformFontSize(e,"outside"===M?W:G))).attr("transform");if(X.attr("transform",""),K=($=s.bBox(X.node())).width,J=$.height,X.attr("transform",oe),K<=0||J<=0)return void X.remove()}var se,le=O.textangle;"outside"===M?se=function(e,t,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,f=Math.abs(t-e),p=Math.abs(n-r);o=s?p>2*_?_:0:f>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var m=C(c),g=I(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(e+t)/2,w=(r+n)/2,T=0,A=0,M=s?k(t,e):k(r,n);return s?(b=t-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:v,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:m}}(l,u,f,m,$,{isHorizontal:R,constrained:"both"===O.constraintext||"outside"===O.constraintext,angle:le}):se=L(l,u,f,m,$,{isHorizontal:R,constrained:"both"===O.constraintext||"inside"===O.constraintext,angle:le,anchor:Z,hasB:U,r:g,overhead:b}),se.fontSize=Q.size,h("histogram"===O.type?"bar":O.type,se,z),j.transform=se;var ce=A(X,z,w,T);i.setTransormAndDisplay(ce,se)}else r.select("text").remove()})(e,t,R,l,w,H,G,W,Z,re,ie,g,b),t.layerClipId&&s.hideOutsideRangePoint(u,R.select("text"),M,P,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;s.setClipUrl(u,W?null:t.layerClipId,e)}));l.getComponentMethod("errorbars","plot")(e,O,t,g)},toMoveInsideBar:L}}}),no=m({"src/traces/bar/hover.js"(e,t){var r=Or(),n=He(),i=W(),a=ct().fillText,o=eo().getLineWidth,s=ar().hoverLabelText,l=S().BADNUM;function c(e,t,n,i,o){var c,u,h,f,p,d,m,g=e.cd,y=g[0].trace,v=g[0].t,x="closest"===i,_="waterfall"===y.type,b=e.maxHoverDistance,w=e.maxSpikeDistance;"h"===y.orientation?(c=n,u=t,h="y",f="x",p=D,d=P):(c=t,u=n,h="x",f="y",d=D,p=P);var T=y[h+"period"],k=x||T;function A(e){return S(e,-1)}function M(e){return S(e,1)}function S(e,t){var r=e.w;return e[h]+t*r/2}function E(e){return e[h+"End"]-e[h+"Start"]}var C=x?A:T?function(e){return e.p-E(e)/2}:function(e){return Math.min(A(e),e.p-v.bardelta/2)},I=x?M:T?function(e){return e.p+E(e)/2}:function(e){return Math.max(M(e),e.p+v.bardelta/2)};function L(e,t,n){return o.finiteRange&&(n=0),r.inbox(e-c,t-c,n+Math.min(1,Math.abs(t-e)/m)-1)}function P(e){return L(C(e),I(e),b)}function z(e){var t=e[f];if(_){var r=Math.abs(e.rawS)||0;u>0?t+=r:u<0&&(t-=r)}return t}function D(e){var t=u,n=e.b,i=z(e);return r.inbox(n-t,i-t,b+(i-t)/(i-n)-1)}var O=e[h+"a"],R=e[f+"a"];m=Math.abs(O.r2c(O.range[1])-O.r2c(O.range[0]));var F,B,j,N,U=r.getDistanceFunction(i,p,d,(function(e){return(p(e)+d(e))/2}));if(r.getClosest(g,U,e),!1!==e.index&&g[e.index].p!==l){k||(C=function(e){return Math.min(A(e),e.p-v.bargroupwidth/2)},I=function(e){return Math.max(M(e),e.p+v.bargroupwidth/2)});var V=g[e.index],q=y.base?V.b+V.s:V.s;e[f+"0"]=e[f+"1"]=R.c2p(V[f],!0),e[f+"LabelVal"]=q;var H=v.extents[v.extents.round(V.p)];e[h+"0"]=O.c2p(x?C(V):H[0],!0),e[h+"1"]=O.c2p(x?I(V):H[1],!0);var G=void 0!==V.orig_p;return e[h+"LabelVal"]=G?V.orig_p:V.p,e.labelLabel=s(O,e[h+"LabelVal"],y[h+"hoverformat"]),e.valueLabel=s(R,e[f+"LabelVal"],y[f+"hoverformat"]),e.baseLabel=s(R,V.b,y[f+"hoverformat"]),e.spikeDistance=(B=u,j=(F=V).b,N=z(F),(r.inbox(j-B,N-B,w+(N-B)/(N-j)-1)+function(e){return L(A(e),M(e),w)}(V))/2),e[h+"Spike"]=O.c2p(V.p,!0),a(V,y,e),e.hovertemplate=y.hovertemplate,e}}function u(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,a=o(e,t);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}t.exports={hoverPoints:function(e,t,r,i,a){var o=c(e,t,r,i,a);if(o){var s=o.cd,l=s[0].trace,h=s[o.index];return o.color=u(l,h),n.getComponentMethod("errorbars","hoverInfo")(h,l,o),[o]}},hoverOnBars:c,getTraceColor:u}}}),io=m({"src/traces/bar/event_data.js"(e,t){t.exports=function(e,t,r){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),"h"===r.orientation?(e.label=e.y,e.value=e.x):(e.label=e.x,e.value=e.y),e}}}),ao=m({"src/traces/bar/select.js"(e,t){function r(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(e,t){var n,i=e.cd,a=e.xaxis,o=e.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===t)for(n=0;n0?(g="v",y=x>0?Math.min(b,_):Math.min(_)):x>0?(g="h",y=Math.min(b)):y=0;if(y){t._length=y;var S=i("orientation",g);t._hasPreCompStats?"v"===S&&0===x?(i("x0",0),i("dx",1)):"h"===S&&0===v&&(i("y0",0),i("dy",1)):"v"===S&&0===x?i("x0"):"h"===S&&0===v&&i("y0"),n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],a)}else t.visible=!1}function u(e,t,n,i){var a=i.prefix,o=r.coerce2(e,t,l,"marker.outliercolor"),s=n("marker.line.outliercolor"),c="outliers";t._hasPreCompStats?c="all":(o||s)&&(c="suspectedoutliers");var u=n(a+"points",c);u?(n("jitter","all"===u?.3:0),n("pointpos","all"===u?-1.5:0),n("marker.symbol"),n("marker.opacity"),n("marker.size"),n("marker.angle"),n("marker.color",t.line.color),n("marker.line.color"),n("marker.line.width"),"suspectedoutliers"===u&&(n("marker.line.outliercolor",t.marker.color),n("marker.line.outlierwidth")),n("selected.marker.color"),n("unselected.marker.color"),n("selected.marker.size"),n("unselected.marker.size"),n("text"),n("hovertext")):delete t.marker;var h=n("hoveron");("all"===h||-1!==h.indexOf("points"))&&(n("hovertemplate"),n("hovertemplatefallback")),r.coerceSelectionMarkerOpacity(t,n)}t.exports={supplyDefaults:function(e,t,n,o){function s(n,i){return r.coerce(e,t,l,n,i)}if(c(e,t,s,o),!1!==t.visible){a(e,t,o,s),s("xhoverformat"),s("yhoverformat");var h=t._hasPreCompStats;h&&(s("lowerfence"),s("upperfence")),s("line.color",(e.marker||{}).color||n),s("line.width"),s("fillcolor",i.addOpacity(t.line.color,.5));var f=!1;if(h){var p=s("mean"),d=s("sd");p&&p.length&&(f=!0,d&&d.length&&(f="sd"))}s("whiskerwidth");var m,g=s("sizemode");"quartiles"===g&&(m=s("boxmean",f)),s("showwhiskers","quartiles"===g),("sd"===g||"sd"===m)&&s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(h){var v=s("notchspan");v&&v.length&&(y=!0)}else r.validate(e.notchwidth,l.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),u(e,t,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(e,t){var n,i;function a(e){return r.coerce(i._input,i,l,e)}for(var s=0;sE.uf};if(t._hasPreCompStats){var U=t[x],V=function(e){return v.d2c((t[e]||[])[l])},q=1/0,H=-1/0;for(l=0;l=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==o&&W<=E.q1?W:f(E,I,L);var Z=V("upperfence");E.uf=Z!==o&&Z>=E.q3?Z:p(E,I,L);var Y=V("mean");E.mean=Y!==o?Y:L?a.mean(I,L):(E.q1+E.q3)/2;var X=V("sd");E.sd=Y!==o&&X>=0?X:L?a.stdev(I,L,E.mean):E.q3-E.q1,E.lo=d(E),E.uo=m(E);var $=V("notchspan");$=$!==o&&$>0?$:g(E,L),E.ln=E.med-$,E.un=E.med+$;var K=E.lf,J=E.uf;t.boxpoints&&I.length&&(K=Math.min(K,I[0]),J=Math.max(J,I[L-1])),t.notched&&(K=Math.min(K,E.ln),J=Math.max(J,E.un)),E.min=K,E.max=J}else{var Q;a.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==o?E.med:E.q1!==o?E.q3!==o?(E.q1+E.q3)/2:E.q1:E.q3!==o?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(N),M.push(E)}}t._extremes[v._id]=n.findExtremes(v,[q,H],{padded:!0})}else{var ee=v.makeCalcdata(t,x),te=function(e,t){for(var r=e.length,n=new Array(r+1),i=0;i=0&&ie0){var ue,he;(E={}).pos=E[b]=B[l],C=E.pts=ne[l].sort(u),L=(I=E[x]=C.map(h)).length,E.min=I[0],E.max=I[L-1],E.mean=a.mean(I,L),E.sd=a.stdev(I,L,E.mean)*t.sdmultiple,E.med=a.interp(I,.5),L%2&&(le||ce)?(le?(ue=I.slice(0,L/2),he=I.slice(L/2+1)):ce&&(ue=I.slice(0,L/2+1),he=I.slice(L/2)),E.q1=a.interp(ue,.5),E.q3=a.interp(he,.5)):(E.q1=a.interp(I,.25),E.q3=a.interp(I,.75)),E.lf=f(E,I,L),E.uf=p(E,I,L),E.lo=d(E),E.uo=m(E);var fe=g(E,L);E.ln=E.med-fe,E.un=E.med+fe,ae=Math.min(ae,E.ln),oe=Math.max(oe,E.un),E.pts2=C.filter(N),M.push(E)}t.notched&&a.isTypedArray(ee)&&(ee=Array.from(ee)),t._extremes[v._id]=n.findExtremes(v,t.notched?ee.concat([ae,oe]):ee,{padded:!0})}return function(e,t){if(a.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:j,posLetter:b,valLetter:x,labels:{med:s(e,"median:"),min:s(e,"min:"),q1:s(e,"q1:"),q3:s(e,"q3:"),max:s(e,"max:"),mean:"sd"===t.boxmean||"sd"===t.sizemode?s(e,"mean ± σ:").replace("σ",1===t.sdmultiple?"σ":t.sdmultiple+"σ"):s(e,"mean:"),lf:s(e,"lower fence:"),uf:s(e,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var l={text:"tx",hovertext:"htx"};function c(e,t,r){for(var n in l)a.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?a.isArrayOrTypedArray(t[n][r[0]])&&(e[l[n]]=t[n][r[0]][r[1]]):e[l[n]]=t[n][r])}function u(e,t){return e.v-t.v}function h(e){return e.v}function f(e,t,r){return 0===r?e.q1:Math.min(e.q1,t[Math.min(a.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function p(e,t,r){return 0===r?e.q3:Math.max(e.q3,t[Math.max(a.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function d(e){return 4*e.q1-3*e.q3}function m(e){return 4*e.q3-3*e.q1}function g(e,t){return 0===t?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}}}),po=m({"src/traces/box/cross_trace_calc.js"(e,t){var r=ar(),n=ct(),i=nn().getAxisGroup,a=["v","h"];function o(e,t,a,o){var s,l,c,u=t.calcdata,h=t._fullLayout,f=o._id,p=f.charAt(0),d=[],m=0;for(s=0;s1,_=1-h[e+"gap"],b=1-h[e+"groupgap"];for(s=0;s0){var H=M.pointpos,G=M.jitter,W=M.marker.size/2,Z=0;H+G>=0&&((Z=V*(H+G))>D?(q=!0,N=W,B=Z):Z>R&&(N=W,B=D)),Z<=D&&(B=D);var Y=0;H-G<=0&&((Y=-V*(H-G))>O?(q=!0,U=W,j=Y):Y>F&&(U=W,j=O)),Y<=O&&(j=O)}else B=D,j=O;var X=new Array(c.length);for(l=0;le.lo&&(x.so=!0)}return a}));f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(i.translatePoints,o,s)}function s(e,t,i,a){var o,s,l=t.val,c=t.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=i.boxmean||(i.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=e.selectAll("path.mean").data("box"===i.type&&i.boxmean||"violin"===i.type&&i.box.visible&&i.meanline.visible?n.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(e){var t=c.c2l(e.pos+h,!0),n=c.l2p(t-o)+f,a=c.l2p(t+s)+f,d=u?(n+a)/2:c.l2p(t)+f,m=l.c2p(e.mean,!0),g=l.c2p(e.mean-e.sd,!0),y=l.c2p(e.mean+e.sd,!0);"h"===i.orientation?r.select(this).attr("d","M"+m+","+n+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+m+","+n+"L"+y+","+d+"Z":"")):r.select(this).attr("d","M"+n+","+m+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+n+","+m+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(e,t,i,l){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis;n.makeTraceGroups(l,i,"trace boxes").each((function(e){var t,n,i=r.select(this),l=e[0],f=l.t,p=l.trace;f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty?i.remove():("h"===p.orientation?(t=h,n=u):(t=u,n=h),a(i,{pos:t,val:n},p,f,c),o(i,{x:u,y:h},p,f),s(i,{pos:t,val:n},p,f))}))},plotBoxAndWhiskers:a,plotPoints:o,plotBoxMean:s}}}),go=m({"src/traces/box/style.js"(e,t){var r=b(),n=W(),i=er();t.exports={style:function(e,t,a){var o=a||r.select(e).selectAll("g.trace.boxes");o.style("opacity",(function(e){return e[0].trace.opacity})),o.each((function(t){var a=r.select(this),o=t[0].trace,s=o.line.width;function l(e,t,r,i){e.style("stroke-width",t+"px").call(n.stroke,r).call(n.fill,i)}var c=a.selectAll("path.box");if("candlestick"===o.type)c.each((function(e){if(!e.empty){var t=r.select(this),n=o[e.dir];l(t,n.line.width,n.line.color,n.fillcolor),t.style("opacity",o.selectedpoints&&!e.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(n.stroke,o.line.color);var u=a.selectAll("path.point");i.pointStyle(u,o,e)}}))},styleOnSelect:function(e,t,r){var n=t[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,e)}}}}),yo=m({"src/traces/box/hover.js"(e,t){var r=ar(),n=ct(),i=Or(),a=W(),o=n.fillText;function s(e,t,o,s){var l,c,u,h,f,p,d,m,g,y,v,x,_,b,w=e.cd,T=e.xa,k=e.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=M.bdPos,C=M.wHover,I=function(e){return u.c2l(e.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(g=function(e){var t=I(e);return i.inbox(t,t+C,y)},x=E,_=0),"negative"===A.side&&(g=function(e){var t=I(e);return i.inbox(t-C,t,y)},x=0,_=E)):(g=function(e){var t=I(e);return i.inbox(t-C,t+C,y)},x=_=E),b=S?function(e){return i.inbox(e.span[0]-f,e.span[1]-f,y)}:function(e){return i.inbox(e.min-f,e.max-f,y)},"h"===A.orientation?(f=t,p=o,d=b,m=g,l="y",u=k,c="x",h=T):(f=o,p=t,d=g,m=b,l="x",u=T,c="y",h=k);var L=Math.min(1,E/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function P(e){return(d(e)+m(e))/2}y=e.maxHoverDistance-L,v=e.maxSpikeDistance-L;var z=i.getDistanceFunction(s,d,m,P);if(i.getClosest(w,z,e),!1===e.index)return[];var D=w[e.index],O=A.line.color,R=(A.marker||{}).color;a.opacity(O)&&A.line.width?e.color=O:a.opacity(R)&&A.boxpoints?e.color=R:e.color=A.fillcolor,e[l+"0"]=u.c2p(D.pos+M.bPos-_,!0),e[l+"1"]=u.c2p(D.pos+M.bPos+x,!0),e[l+"LabelVal"]=void 0!==D.orig_p?D.orig_p:D.pos;var F=l+"Spike";e.spikeDistance=P(D)*v/y,e[F]=u.c2p(D.pos,!0);var B=A.boxmean||"sd"===A.sizemode||(A.meanline||{}).visible,j=A.boxpoints||A.points,N=j&&B?["max","uf","q3","med","mean","q1","lf","min"]:j&&!B?["max","uf","q3","med","q1","lf","min"]:!j&&B?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=h.range[1]0&&(a=!0);for(var l=0;la){var o=a-n[e];return n[e]=a,o}}return 0},max:function(e,t,n,i){var a=i[t];if(r(a)){if(a=Number(a),!r(n[e]))return n[e]=a,a;if(n[e]l?e>a?e>1.1*n?n:e>1.1*i?i:a:e>o?o:e>s?s:l:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function f(e,t,r,i,o,s){if(i&&e>a){var l=p(t,o,s),c=p(r,o,s),u=e===n?0:1;return l[u]!==c[u]}return Math.floor(r/e)-Math.floor(t/e)>.1}function p(e,t,r){var i=t.c2d(e,n,r).split("-");return""===i[0]&&(i.unshift(),i[0]="-"+i[0]),i}t.exports=function(e,t,r,i,o){var s,l,h=-1.1*t,f=-.1*t,p=e-f,d=r[0],m=r[1],g=Math.min(u(d+f,d+p,i,o),u(m+f,m+p,i,o)),y=Math.min(u(d+h,d+f,i,o),u(m+h,m+f,i,o));if(g>y&&ya){var v=s===n?1:6,x=s===n?"M12":"M1";return function(t,r){var a=i.c2d(t,n,o),s=a.indexOf("-",v);s>0&&(a=a.slice(0,s));var u=i.d2c(a,0,o);if(u"u"){if(l)return[L,d,!0];L=function(e,t,r,i,a){var o,s,l,c=e._fullLayout,u=function(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;so.r2l(B)&&(N=a.tickIncrement(N,_.size,!0,f)),D.start=o.l2r(N),F||n.nestedProperty(t,y+".start").set(D.start)}var U=_.end,V=o.r2l(z.end),q=void 0!==V;if((_.endFound||q)&&V!==o.r2l(U)){var H=q?V:n.aggNums(Math.max,null,d);D.end=o.l2r(H),q||n.nestedProperty(t,y+".start").set(D.end)}var G="autobin"+s;return!1===t._input[G]&&(t._input[y]=n.extendFlat({},t[y]||{}),delete t._input[G],delete t[G]),[D,d]}t.exports={calc:function(e,t){var i,d,m,g,y=[],v=[],x="h"===t.orientation,_=a.getFromId(e,x?t.yaxis:t.xaxis),b=x?"y":"x",w={x:"y",y:"x"}[b],T=t[b+"calendar"],k=t.cumulative,A=p(e,t,_,b),M=A[0],S=A[1],E="string"==typeof M.size,C=[],I=E?C:M,L=[],P=[],z=[],D=0,O=t.histnorm,R=t.histfunc,F=-1!==O.indexOf("density");k.enabled&&F&&(O=O.replace(/ ?density$/,""),F=!1);var B,j="max"===R||"min"===R?null:0,N=c.count,U=u[O],V=!1,q=function(e){return _.r2c(e,0,T)};for(n.isArrayOrTypedArray(t[w])&&"count"!==R&&(B=t[w],V="avg"===R,N=c[R]),i=q(M.start),m=q(M.end)+(i-a.tickIncrement(i,M.size,!1,T))/1e6;i=0&&g=0;n--)s(n);else if("increasing"===t){for(n=1;n=0;n--)e[n]+=e[n+1];"exclude"===r&&(e.push(0),e.shift())}}(v,k.direction,k.currentbin);var Q=Math.min(y.length,v.length),ee=[],te=0,re=Q-1;for(i=0;i=te;i--)if(v[i]){re=i;break}for(i=te;i<=re;i++)if(r(y[i])&&r(v[i])){var ne={p:y[i],s:v[i],b:0};k.enabled||(ne.pts=z[i],Y?ne.ph0=ne.ph1=z[i].length?S[z[i][0]]:y[i]:(t._computePh=!0,ne.ph0=W(C[i]),ne.ph1=W(C[i+1],!0))),ee.push(ne)}return 1===ee.length&&(ee[0].width1=a.tickIncrement(ee[0].p,M.size,!1,T)-ee[0].p),o(t,"marker")&&s(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),o(t,"marker.line")&&s(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),l(ee,t),n.isArrayOrTypedArray(t.selectedpoints)&&n.tagSelected(ee,t,K),ee},calcAllAutoBins:p}}}),Po=m({"src/traces/histogram2d/calc.js"(e,t){var r=ct(),n=ar(),i=So(),a=Eo(),o=Co(),s=Io(),l=Lo().calcAllAutoBins;function c(e,t,r,n){var i,a=new Array(e);if(n)for(i=0;iS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],I=[],L="string"==typeof w.size,P="string"==typeof A.size,z=[],D=[],O=L?z:w,R=P?D:A,F=0,B=[],j=[],N=t.histnorm,U=t.histfunc,V=-1!==N.indexOf("density"),q="max"===U||"min"===U?null:0,H=i.count,G=a[N],W=!1,Z=[],Y=[],X="z"in t?t.z:"marker"in t&&Array.isArray(t.marker.color)?t.marker.color:"";X&&"count"!==U&&(W="avg"===U,H=i[U]);var $=w.size,K=x(w.start),J=x(w.end)+(K-n.tickIncrement(K,$,!1,y))/1e6;for(s=K;s=0&&p=0&&dm&&(y=Math.max(y,Math.abs(e[a][o]-d)/(g-m))))}return y}t.exports=function(e,t){var n,a,o=1;for(i(e,t),n=0;n.01;n++)o=i(e,t,(a=o,.5-.25*Math.min(1,.5*a)));return o>.01&&r.log("interp2d didn't converge quickly",o),e}}}),Ro=m({"src/traces/heatmap/find_empties.js"(e,t){var r=ct().maxRowLength;t.exports=function(e){var t,n,i,a,o,s,l,c,u=[],h={},f=[],p=e[0],d=[],m=[0,0,0],g=r(e);for(n=0;n=0;o--)(s=((h[[(n=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[n+1,i]]||m)[2]+(h[[n,i-1]]||m)[2]+(h[[n,i+1]]||m)[2])/20)&&(l[a]=[n,i,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(e,t){return t[2]-e[2]}))}}}),Fo=m({"src/traces/heatmap/make_bound_array.js"(e,t){var r=He(),n=ct().isArrayOrTypedArray;t.exports=function(e,t,i,a,o,s){var l,c,u,h=[],f=r.traceIs(e,"contour"),p=r.traceIs(e,"histogram");if(n(t)&&t.length>1&&!p&&"category"!==s.type){var d=t.length;if(!(d<=o))return f?t.slice(0,o):t.slice(0,o+1);if(f)h=Array.from(t).slice(0,o);else if(1===o)h="log"===s.type?[.5*t[0],2*t[0]]:[t[0]-.5,t[0]+.5];else if("log"===s.type){for(h=[Math.pow(t[0],1.5)/Math.pow(t[1],.5)],u=1;u1){var t=(e[e.length-1]-e[0])/(e.length-1),r=Math.abs(t/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(e,t,r){for(var n=[],i=-1,a=0;a0;)k=A.c2p(j[I]),I--;for(k0;)C=M.c2p(N[I]),I--;C=A._length||k<=0||E>=M._length||C<=0)return z.selectAll("image").data([]).exit().remove(),void x(z);"fast"===X?(K=W,J=G):(K=Q,J=ee);var te=document.createElement("canvas");te.width=K,te.height=J;var re,ne,ie=te.getContext("2d",{willReadFrequently:!0}),ae=f(O,{noNumericCheck:!0,returnArray:!0});"fast"===X?(re=Z?function(e){return W-1-e}:s.identity,ne=Y?function(e){return G-1-e}:s.identity):(re=function(e){return s.constrain(Math.round(A.c2p(j[e])-b),0,Q)},ne=function(e){return s.constrain(Math.round(M.c2p(N[e])-E),0,ee)});var oe,se,le,ce,ue=ne(0),he=[ue,ue],fe=Z?0:1,pe=Y?0:1,de=0,me=0,ge=0,ye=0;function ve(e,t){if(void 0!==e){var r=ae(e);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),de+=t,me+=r[0]*t,ge+=r[1]*t,ye+=r[2]*t,r}return[0,0,0,0]}function xe(e,t,r,n){var i=e[r.bin0];if(void 0===i)return ve(void 0,1);var a,o=e[r.bin1],s=t[r.bin0],l=t[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,ve(i+r.frac*c+n.frac*(u+r.frac*a))}if("default"!==X){var _e,be=0;try{_e=new Uint8Array(K*J*4)}catch{_e=new Array(K*J*4)}if("smooth"===X){var we,Te,ke,Ae=U||j,Me=V||N,Se=new Array(Ae.length),Ee=new Array(Me.length),Ce=new Array(Q),Ie=U?w:_,Le=V?w:_;for(I=0;IXe||Xe>M._length))for(L=Ge;LKe||Ke>A._length)){var Je=c({x:$e,y:Ye},O,e._fullLayout);Je.x=$e,Je.y=Ye;var Qe=D.z[I][L];void 0===Qe?(Je.z="",Je.zLabel=""):(Je.z=Qe,Je.zLabel=o.tickText(Ue,Qe,"hover").text);var et=D.text&&D.text[I]&&D.text[I][L];(void 0===et||!1===et)&&(et=""),Je.text=et;var tt=s.texttemplateString({data:[Je,O._meta],fallback:O.texttemplatefallback,labels:Je,locale:e._fullLayout._d3locale,template:je});if(tt){var rt=tt.split("
"),nt=rt.length,it=0;for(P=0;P=b[0].length||p<0||p>b.length)return}else{if(r.inbox(t-x[0],t-x[x.length-1],0)>0||r.inbox(s-_[0],s-_[_.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;E=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),cs=m({"src/traces/contour/attributes.js"(e,t){var r=wo(),n=kn(),i=It(),a=i.axisHoverFormat,o=i.descriptionOnlyNumbers,s=zt(),l=Oe().dash,c=j(),u=B().extendFlat,h=ls(),f=h.COMPARISON_OPS2,p=h.INTERVAL_OPS,d=n.line;t.exports=u({z:r.z,x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,text:r.text,hovertext:r.hovertext,transpose:r.transpose,xtype:r.xtype,ytype:r.ytype,xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:u({},r.texttemplate,{}),texttemplatefallback:r.texttemplatefallback,textfont:u({},r.textfont,{}),hoverongaps:r.hoverongaps,connectgaps:u({},r.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:c({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:o("contour label")},operation:{valType:"enumerated",values:[].concat(f).concat(p),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:u({},d.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:l,smoothing:u({},d.smoothing,{}),editType:"plot"},zorder:n.zorder},s("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),us=m({"src/traces/histogram2dcontour/attributes.js"(e,t){var r=rs(),n=cs(),i=zt(),a=It().axisHoverFormat,o=B().extendFlat;t.exports=o({x:r.x,y:r.y,z:r.z,marker:r.marker,histnorm:r.histnorm,histfunc:r.histfunc,nbinsx:r.nbinsx,xbins:r.xbins,nbinsy:r.nbinsy,ybins:r.ybins,autobinx:r.autobinx,autobiny:r.autobiny,bingroup:r.bingroup,xbingroup:r.xbingroup,ybingroup:r.ybingroup,autocontour:n.autocontour,ncontours:n.ncontours,contours:n.contours,line:{color:n.line.color,width:o({},n.line.width,{dflt:.5}),dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:n.texttemplate,texttemplatefallback:n.texttemplatefallback,textfont:n.textfont},i("",{cLetter:"z",editTypeOverride:"calc"}))}}),hs=m({"src/traces/contour/contours_defaults.js"(e,t){t.exports=function(e,t,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");((o?t.autocontour=!0:r("autocontour",!1))||!s)&&r("ncontours")}}}),fs=m({"src/traces/contour/label_defaults.js"(e,t){var r=ct();t.exports=function(e,t,n,i){if(i||(i={}),e("contours.showlabels")){var a=t.font;r.coerceFont(e,"contours.labelfont",a,{overrideDflt:{color:n}}),e("contours.labelformat")}!1!==i.hasHover&&e("zhoverformat")}}}),ps=m({"src/traces/contour/style_defaults.js"(e,t){var r=Ht(),n=fs();t.exports=function(e,t,i,a,o){var s,l=i("contours.coloring"),c="";"fill"===l&&(s=i("contours.showlines")),!1!==s&&("lines"!==l&&(c=i("line.color","#000")),i("line.width",.5),i("line.dash")),"none"!==l&&(!0!==e.showlegend&&(t.showlegend=!1),t._dfltShowLegend=!1,r(e,t,a,i,{prefix:"",cLetter:"z"})),i("line.smoothing"),n(i,a,c,o)}}}),ds=m({"src/traces/histogram2dcontour/defaults.js"(e,t){var r=ct(),n=ns(),i=hs(),a=ps(),o=ko(),s=us();t.exports=function(e,t,l,c){function u(n,i){return r.coerce(e,t,s,n,i)}n(e,t,u,c),!1!==t.visible&&(i(e,t,u,(function(n){return r.coerce2(e,t,s,n)})),a(e,t,u,c),u("xhoverformat"),u("yhoverformat"),u("hovertemplate"),u("hovertemplatefallback"),t.contours&&"heatmap"===t.contours.coloring&&o(u,c))}}}),ms=m({"src/traces/contour/set_contours.js"(e,t){var r=ar(),n=ct();function i(e,t,n){var i={type:"linear",range:[e,t]};return r.autoTicks(i,(t-e)/(n||15)),i}t.exports=function(e,t){var a=e.contours;if(e.autocontour){var o=e.zmin,s=e.zmax;(e.zauto||void 0===o)&&(o=n.aggNums(Math.min,null,t)),(e.zauto||void 0===s)&&(s=n.aggNums(Math.max,null,t));var l=i(o,s,e.ncontours);a.size=l.dtick,a.start=r.tickFirst(l),l.range.reverse(),a.end=r.tickFirst(l),a.start===o&&(a.start+=a.size),a.end===s&&(a.end-=a.size),a.start>a.end&&(a.start=a.end=(a.start+a.end)/2),e._input.contours||(e._input.contours={}),n.extendFlat(e._input.contours,{start:a.start,end:a.end,size:a.size}),e._input.autocontour=!0}else if("constraint"!==a.type){var c,u=a.start,h=a.end,f=e._input.contours;u>h&&(a.start=f.start=h,h=a.end=f.end=u,u=a.start),a.size>0||(c=u===h?1:i(u,h,e.ncontours).dtick,f.size=a.size=c)}}}}),gs=m({"src/traces/contour/end_plus.js"(e,t){t.exports=function(e){return e.end+e.size/1e6}}}),ys=m({"src/traces/contour/calc.js"(e,t){var r=Yt(),n=Bo(),i=ms(),a=gs();t.exports=function(e,t){var o=n(e,t),s=o[0].z;i(t,s);var l,c=t.contours,u=r.extractOpts(t);if("heatmap"===c.coloring&&u.auto&&!1===t.autocontour){var h=c.start,f=a(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var m=h-p/2;l=[m,m+d*p]}else l=s;return r.calc(e,t,{vals:l,cLetter:"z"}),o}}}),vs=m({"src/traces/contour/constants.js"(e,t){t.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}}}}),xs=m({"src/traces/contour/make_crossings.js"(e,t){var r=vs();function n(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);return 5===r||10===r?e>(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(e){var t,i,a,o,s,l,c,u,h,f=e[0].z,p=f.length,d=f[0].length,m=2===p||2===d;for(i=0;i20&&t?208===e||1114===e?i=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==n.BOTTOMSTART.indexOf(e)?a=1:-1!==n.LEFTSTART.indexOf(e)?i=1:-1!==n.TOPSTART.indexOf(e)?a=-1:i=-1,[i,a]}(f,o,t),d=[s(e,t,[-p[0],-p[1]])],m=e.z.length,g=e.z[0].length,y=t.slice(),v=p.slice();for(u=0;u<1e4;u++){if(f>20?(f=n.CHOOSESADDLE[f][(p[0]||p[1])<0?0:1],e.crossings[h]=n.SADDLEREMAINDER[f]):delete e.crossings[h],!(p=n.NEWDELTA[f])){r.log("Found bad marching index:",f,t,e.level);break}d.push(s(e,t,p)),t[0]+=p[0],t[1]+=p[1],h=t.join(","),i(d[d.length-1],d[d.length-2],l,c)&&d.pop();var x=p[0]&&(t[0]<0||t[0]>g-2)||p[1]&&(t[1]<0||t[1]>m-2);if(t[0]===y[0]&&t[1]===y[1]&&p[0]===v[0]&&p[1]===v[1]||o&&x)break;f=e.crossings[h]}1e4===u&&r.log("Infinite loop in contour?");var _,b,w,T,k,A,M,S,E,C,I,L=i(d[0],d[d.length-1],l,c),P=0,z=.2*e.smoothing,D=[],O=0;for(u=1;u=O;u--)if((_=D[u])=O&&_+D[b]S&&E--,e.edgepaths[E]=I.concat(d,C));break}j||(e.edgepaths[S]=d.concat(C))}for(S=0;S":o(">"),"<":o("<"),"=":o("=")}}}),ws=m({"src/traces/contour/empty_pathinfo.js"(e,t){var r=ct(),n=bs(),i=gs();t.exports=function(e,t,a){for(var o="constraint"===e.type?n[e._operation](e.value):e,s=o.size,l=[],c=i(o),u=a.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:a.a,y:a.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:a.x,y:a.y},f=o.start;f1e3){r.warn("Too many contours, clipping at 1000",e);break}return l}}}),Ts=m({"src/traces/contour/convert_to_constraints.js"(e,t){var r=ct();function n(e){return r.extendFlat({},e,{edgepaths:r.extendDeep([],e.edgepaths),paths:r.extendDeep([],e.paths),starts:r.extendDeep([],e.starts)})}t.exports=function(e,t){var i,a,o,s=function(e){return e.reverse()},l=function(e){return e};switch(t){case"=":case"<":return e;case">":for(1!==e.length&&r.warn("Contour data invalid for the specified inequality operation."),a=e[0],i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}}}),As=m({"src/traces/contour/plot.js"(e){var t=b(),r=ct(),n=er(),i=Yt(),a=Et(),o=ar(),s=rr(),l=Uo(),c=xs(),u=_s(),h=ws(),f=Ts(),p=ks(),d=vs(),m=d.LABELOPTIMIZER;function g(e,t){var i,a,o,s,l,c,u,h="",f=0,p=e.edgepaths.map((function(e,t){return t})),d=!0;function m(e){return Math.abs(e[1]-t[2][1])<.01}function g(e){return Math.abs(e[0]-t[0][0])<.01}function y(e){return Math.abs(e[0]-t[2][0])<.01}for(;p.length;){for(c=n.smoothopen(e.edgepaths[f],e.smoothing),h+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(f),1),i=e.edgepaths[f][e.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!i){r.log("Missing end?",f,e);break}for(u=i,Math.abs(u[1]-t[0][1])<.01&&!y(i)?a=t[1]:g(i)?a=t[0]:m(i)?a=t[3]:y(i)&&(a=t[2]),l=0;l=0&&(a=v,s=l):Math.abs(i[1]-a[1])<.01?Math.abs(i[1]-v[1])<.01&&(v[0]-i[0])*(a[0]-v[0])>=0&&(a=v,s=l):r.log("endpt to newendpt is not vert. or horz.",i,a,v)}if(i=a,s>=0)break;h+="L"+a}if(s===e.edgepaths.length){r.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fi.center?i.right-s:s-i.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>i.middle?i.bottom-l:l-i.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,y=l-h,v=s+u,x=l+h,_=0;_2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},e.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,c=e.theta,u=Math.sin(c),h=Math.cos(c),f=function(e,t){return[s+e*h-t*u,l+e*u+t*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:c,level:t.level,width:a,height:o}),n.push(p)},e.drawLabels=function(e,n,i,o,s){var l=e.selectAll("text").data(n,(function(e){return e.text+","+e.x+","+e.y+","+e.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(e){var r=e.x+Math.sin(e.theta)*e.dy,n=e.y-Math.cos(e.theta)*e.dy;t.select(this).text(e.text).attr({x:r,y:n,transform:"rotate("+180*e.theta/Math.PI+" "+r+" "+n+")"}).call(a.convertToTspans,i)})),s){for(var c="",u=0;u=v)&&(a<=y&&(a=y),o>=v&&(o=v),l=Math.floor((o-a)/s)+1,c=0),f=0;fy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]2?t.value=t.value.slice(2):0===t.length?t.value=[0,1]:t.length<2?(n=parseFloat(t.value[0]),t.value=[n,n+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:r(t.value)&&(n=parseFloat(t.value),t.value=[n,n+1])):(e("contours.value",0),r(t.value)||(l(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}(i,g),"="===y?p=g.showlines=!0:(p=i("contours.showlines"),m=i("fillcolor",a((e.line||{}).color||h,.5))),p&&(d=i("line.color",m&&o(m)?a(t.fillcolor,1):h),i("line.width",2),i("line.dash")),i("line.smoothing"),n(i,s,d,f)}}}),zs=m({"src/traces/contour/defaults.js"(e,t){var r=ct(),n=To(),i=Wn(),a=Ps(),o=hs(),s=ps(),l=ko(),c=cs();t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,c,n,i)}if(n(e,t,f,h)){i(e,t,h,f),f("xhoverformat"),f("yhoverformat"),f("text"),f("hovertext"),f("hoverongaps"),f("hovertemplate"),f("hovertemplatefallback");var p="constraint"===f("contours.type");f("connectgaps",r.isArray1D(t.z)),p?a(e,t,f,h,u):(o(e,t,f,(function(n){return r.coerce2(e,t,c,n)})),s(e,t,f,h)),t.contours&&"heatmap"===t.contours.coloring&&l(f,h),f("zorder")}else t.visible=!1}}}),Ds=m({"src/traces/contour/index.js"(e,t){t.exports={attributes:cs(),supplyDefaults:zs(),calc:ys(),plot:As().plot,style:Ss(),colorbar:Es(),hoverPoints:Cs(),moduleType:"trace",name:"contour",basePlotModule:Ci(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),Os=m({"lib/contour.js"(e,t){t.exports=Ds()}}),Rs=m({"src/traces/scatterternary/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=kn(),s=q(),l=zt(),c=Oe().dash,u=B().extendFlat,h=o.marker,f=o.line,p=h.line;t.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:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:n({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width,dash:c,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:o.connectgaps,cliponaxis:o.cliponaxis,fill:u({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a(),marker:u({symbol:h.symbol,opacity:h.opacity,angle:h.angle,angleref:h.angleref,standoff:h.standoff,maxdisplayed:h.maxdisplayed,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,line:u({width:p.width,dash:p.dash,editType:"calc"},l("marker.line")),gradient:h.gradient,editType:"calc"},l("marker")),textfont:o.textfont,textposition:o.textposition,selected:o.selected,unselected:o.unselected,hoverinfo:u({},s.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:o.hoveron,hovertemplate:r(),hovertemplatefallback:i()}}}),Fs=m({"src/traces/scatterternary/defaults.js"(e,t){var r=ct(),n=wn(),i=Xt(),a=Yn(),o=Xn(),s=$n(),l=Kn(),c=Jn(),u=Rs();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d,m=p("a"),g=p("b"),y=p("c");if(m?(d=m.length,g?(d=Math.min(d,g.length),y&&(d=Math.min(d,y.length))):d=y?Math.min(d,y.length):0):g&&y&&(d=Math.min(g.length,y.length)),d){t._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==t.hoveron&&(p("hovertemplate"),p("hovertemplatefallback")),p("mode",d"),o.hovertemplate=f.hovertemplate,a}function x(e,t){y.push(e._hovertitle+": "+t)}}}}),Vs=m({"src/traces/scatterternary/event_data.js"(e,t){t.exports=function(e,t,r,n,i){if(t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),n[i]){var a=n[i];e.a=a.a,e.b=a.b,e.c=a.c}else e.a=t.a,e.b=t.b,e.c=t.c;return e}}}),qs=m({"src/plots/ternary/ternary.js"(e,t){var r=b(),n=F(),i=He(),a=ct(),o=a.strTranslate,s=a._,l=W(),c=er(),u=rr(),h=B().extendFlat,f=At(),p=ar(),d=pr(),m=Or(),g=Rr(),y=g.freeMode,v=g.rectMode,x=tr(),_=Cn().prepSelect,w=Cn().selectOnClick,T=Cn().clearOutline,k=Cn().clearSelectionsCache,A=xt();function M(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}t.exports=M;var S=M.prototype;S.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}},S.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*_?i=(a=_)*E:a=(i=x)/E,s=y*i/x,f=v*a/_,r=t.l+t.w*m-i/2,n=t.t+t.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:"linear",range:[w+2*k-b,b-w-2*T],domain:[m-s/2,m+s/2],_id:"x"},u(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(e){return e.a>=p.aaxis.range[0]&&e.a<=p.aaxis.range[1]&&e.b>=p.baxis.range[1]&&e.b<=p.baxis.range[0]&&e.c>=p.caxis.range[1]&&e.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,b-T-k],domain:[g-f/2,g+f/2],_id:"y"},u(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},e.aaxis,{range:[w,b-T-k],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+f*E],anchor:"free",position:0,_id:"y",_length:i});u(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},e.baxis,{range:[b-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});u(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=h({},e.caxis,{range:[b-w-T,k],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+f*E],anchor:"free",position:0,_id:"y",_length:i});u(C,p.graphDiv._fullLayout),C.setScale();var I="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",I),p.layers.plotbg.select("path").attr("d",I);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",L);var P=o(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=o(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var D=o(r+i/2,n)+"rotate(30)"+o(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var O=o(r+i/2,n)+"rotate(-30)"+o(0,-C._offset);p.layers.caxis.attr("transform",O),p.layers.cgrid.attr("transform",O),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.slice(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,l=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(l),e){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+("outside"===l.ticks?.87*l.ticklen:0)),u=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=x.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title.text",placeholder:s(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-c,"text-anchor":"middle"}}),i["b-title"]=x.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title.text",placeholder:s(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+.83*o.title.font.size+u,"text-anchor":"middle"}}),i["c-title"]=x.draw(r,"c"+n,{propContainer:l,propName:t.id+".caxis.title.text",placeholder:s(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+.83*l.title.font.size+u,"text-anchor":"middle"}})}},S.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),o=e._id,s=t.layers[n],l=i+"tickLayout",c=function(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}(e);t[l]!==c&&(s.selectAll("."+o+"tick").remove(),t[l]=c),e.setScale();var u=p.calcTicks(e),h=p.clipEnds(e,u),f=p.makeTransTickFn(e),d=p.getTickSigns(e)[2],m=a.deg2rad(30),g=d*(e.linewidth||1)/2,y=d*e.ticklen,v=t.w,x=t.h,_="b"===i?"M0,"+g+"l"+Math.sin(m)*y+","+Math.cos(m)*y:"M"+g+",0l"+Math.cos(m)*y+","+-Math.sin(m)*y,b={a:"M0,0l"+x+",-"+v/2,b:"M0,0l-"+v/2+",-"+x,c:"M0,0l-"+x+","+v/2}[i];p.drawTicks(r,e,{vals:"inside"===e.ticks?h:u,layer:s,path:_,transFn:f,crisp:!1}),p.drawGrid(r,e,{vals:h,layer:t.layers[i+"grid"],path:b,transFn:f,crisp:!1}),p.drawLabels(r,e,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(e,0,30)})};var C=A.MINZOOM/2+.87,I="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",L="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function D(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var e,t,r,u,h,f,p,g,x,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),C=M.graphDiv,O=C._fullLayout._zoomlayer;function R(e){var t={};return t[M.id+".aaxis.min"]=e.a,t[M.id+".baxis.min"]=e.b,t[M.id+".caxis.min"]=e.c,t}function F(e,t){var r=C._fullLayout.clickmode;D(C),2===e&&(C.emit("plotly_doubleclick",null),i.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===e&&w(t,C,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&m.click(C,t,M.id)}function B(e,t){return 1-t/M.h}function j(e,t){return 1-(e+(M.h-t)/Math.sqrt(3))/M.w}function N(e,t){return(e-(M.h-t)/Math.sqrt(3))/M.w}function U(n,i){var a=r+n*e,o=u+i*t,s=Math.max(0,Math.min(1,B(0,u),B(0,o))),l=Math.max(0,Math.min(1,j(r,u),j(a,o))),c=Math.max(0,Math.min(1,N(r,u),N(a,o))),d=(s/2+c)*M.w,m=(1-s/2-l)*M.w,y=(d+m)/2,v=m-d,_=(1-s)*M.h,w=_-v/E;v.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),C.emit("plotly_relayouting",R(p))}function V(){D(C),p!==h&&(i.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(a.notifier(s(C,"Double-click to zoom back out"),"long",C),z=!1))}function q(e,t){var r=e/M.xaxis._m,n=t/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(a.sorterAsc),s=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[s],b:i[l],c:i[u]},t=(h.a-p.a)*M.yaxis._m,e=(h.c-p.c-h.b+p.b)*M.xaxis._m);var f=o(M.x0+e,M.y0+t);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var d=o(-e,-t);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),C.emit("plotly_relayouting",R(p))}function H(){i.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:M.id,domain:C._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(i,s,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],e=C._fullLayout._invScaleX,t=C._fullLayout._invScaleY;var d=M.dragOptions.dragmode=C._fullLayout.dragmode;y(d)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===d?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(e,t,i){var s=S.getBoundingClientRect();r=t-s.left,u=i-s.top,C._fullLayout._calcInverseTransform(C);var c=C._fullLayout._invTransform,d=a.apply3DTransform(c)(r,u);r=d[0],u=d[1],h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,f=M.aaxis.range[1]-h.a,g=n(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),x="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=O.append("path").attr("class","zoombox").attr("transform",o(M.x0,M.y0)).style({fill:g>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",x),k=O.append("path").attr("class","zoombox-corners").attr("transform",o(M.x0,M.y0)).style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(C)}(0,s,c)):"pan"===d?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,M.clearOutline(C)):(v(d)||y(d))&&_(i,s,c,M.dragOptions,d)}},S.onmousemove=function(e){m.hover(C,e,M.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=M.id},S.onmouseout=function(e){C._dragging||d.unhover(C,e)},d.init(this.dragOptions)}}}),Hs=m({"src/plots/ternary/layout_attributes.js"(e,t){var r=G(),n=Ma().attributes,i=Lt(),a=De().overrideAll,o=B().extendFlat,s={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.minor.tickmode,nticks:o({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash,layer:i.layer,min:{valType:"number",dflt:0,min:0}},l=t.exports=a({domain:n({name:"ternary"}),bgcolor:{valType:"color",dflt:r.background},sum:{valType:"number",dflt:1,min:0},aaxis:s,baxis:s,caxis:s},"plot","from-root");l.uirevision={valType:"any",editType:"none"},l.aaxis.uirevision=l.baxis.uirevision=l.caxis.uirevision={valType:"any",editType:"none"}}}),Gs=m({"src/plots/subplot_defaults.js"(e,t){var r=ct(),n=vt(),i=Ma().defaults;t.exports=function(e,t,a,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=t._subplots[c],d=p.length,m=d&&p[0].replace(/\d+$/,"");function g(e,t){return r.coerce(s,l,u,e,t)}for(var y=0;y=s&&(p.min=0,m.min=0,g.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function d(e,t,r,n){var a=h[t._name];function f(r,n){return i.coerce(e,t,a,r,n)}f("uirevision",n.uirevision),t.type="linear";var p=f("color"),d=p!==a.color.dflt?p:r.font.color,m=t._name.charAt(0).toUpperCase(),g="Component "+m,y=f("title.text",g);t._hovertitle=y===g?y:m,i.coerceFont(f,"title.font",r.font,{overrideDflt:{size:i.bigFont(r.font.size),color:d}}),f("min"),c(e,t,f,"linear"),s(e,t,f,"linear"),o(e,t,f,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),l(e,t,f,{outerTicks:!0}),f("showticklabels")&&(i.coerceFont(f,"tickfont",r.font,{overrideDflt:{color:d}}),f("tickangle"),f("tickformat")),u(e,t,f,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),f("hoverformat"),f("layer")}t.exports=function(e,t,r){a(e,t,r,{type:"ternary",attributes:h,handleDefaults:p,font:t.font,paper_bgcolor:t.paper_bgcolor})}}}),Zs=m({"src/plots/ternary/index.js"(e){var t=qs(),r=Tt().getSubplotCalcData,n=ct().counterRegex,i="ternary";e.name=i;var a=e.attr="subplot";e.idRoot=i,e.idRegex=e.attrRegex=n(i),(e.attributes={})[a]={valType:"subplotid",dflt:"ternary",editType:"calc"},e.layoutAttributes=Hs(),e.supplyLayoutDefaults=Ws(),e.plot=function(e){for(var n=e._fullLayout,a=e.calcdata,o=n._subplots[i],s=0;s0){var _,b,w,T,k,A=e.xa,M=e.ya;"h"===d.orientation?(k=t,_="y",w=M,b="x",T=A):(k=s,_="x",w=A,b="y",T=M);var S=p[e.index];if(k>=S.span[0]&&k<=S.span[1]){var E=n.extendFlat({},e),C=T.c2p(k,!0),I=o.getKdeValue(S,d,k),L=o.getPositionOnKdePath(S,d,C),P=w._offset,z=w._length;E[_+"0"]=L[0],E[_+"1"]=L[1],E[b+"0"]=E[b+"1"]=C,E[b+"Label"]=b+": "+i.hoverLabelText(T,k,d[b+"hoverformat"])+", "+p[0].t.labels.kde+" "+I.toFixed(3);for(var D=0,O=0;O path").each((function(e){if(!e.isBlank){var t=s.marker;r.select(this).call(i.fill,e.mc||t.color).call(i.stroke,e.mlc||t.line.color).call(n.dashLine,t.line.dash,e.mlw||t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".regions").each((function(){r.select(this).selectAll("path").style("stroke-width",0).call(i.fill,s.connector.fillcolor)})),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),xl=m({"src/traces/funnel/hover.js"(e,t){var r=W().opacity,n=no().hoverOnBars,i=ct().formatPercent;t.exports=function(e,t,a,o,s){var l=n(e,t,a,o,s);if(l){var c=l.cd,u=c[0].trace,h="h"===u.orientation,f=c[l.index];l[(h?"x":"y")+"LabelVal"]=f.s,l.percentInitial=f.begR,l.percentInitialLabel=i(f.begR,1),l.percentPrevious=f.difR,l.percentPreviousLabel=i(f.difR,1),l.percentTotal=f.sumR,l.percentTotalLabel=i(f.sumR,1);var p=f.hi||u.hoverinfo,d=[];if(p&&"none"!==p&&"skip"!==p){var m="all"===p,g=p.split("+"),y=function(e){return m||-1!==g.indexOf(e)};y("percent initial")&&d.push(l.percentInitialLabel+" of initial"),y("percent previous")&&d.push(l.percentPreviousLabel+" of previous"),y("percent total")&&d.push(l.percentTotalLabel+" of total")}return l.extraText=d.join("
"),l.color=function(e,t){var n=e.marker,i=t.mc||n.color,a=t.mlc||n.line.color,o=t.mlw||n.line.width;return r(i)?i:r(a)&&o?a:void 0}(u,f),[l]}}}}),_l=m({"src/traces/funnel/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"percentInitial"in t&&(e.percentInitial=t.percentInitial),"percentPrevious"in t&&(e.percentPrevious=t.percentPrevious),"percentTotal"in t&&(e.percentTotal=t.percentTotal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),bl=m({"src/traces/funnel/index.js"(e,t){t.exports={attributes:cl(),layoutAttributes:ul(),supplyDefaults:hl().supplyDefaults,crossTraceDefaults:hl().crossTraceDefaults,supplyLayoutDefaults:fl(),calc:dl(),crossTraceCalc:ml(),plot:yl(),style:vl().style,hoverPoints:xl(),eventData:_l(),selectPoints:ao(),moduleType:"trace",name:"funnel",basePlotModule:Ci(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),wl=m({"lib/funnel.js"(e,t){t.exports=bl()}}),Tl=m({"src/traces/waterfall/constants.js"(e,t){t.exports={eventDataKeys:["initial","delta","final"]}}}),kl=m({"src/traces/waterfall/attributes.js"(e,t){var r=Wa(),n=kn().line,i=q(),a=It().axisHoverFormat,{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=Tl(),u=B().extendFlat,h=W();function f(e){return{marker:{color:u({},r.marker.color,{arrayOk:!1,editType:"style"}),line:{color:u({},r.marker.line.color,{arrayOk:!1,editType:"style"}),width:u({},r.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}t.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:r.xperiod0,yperiod0:r.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),hovertext:r.hovertext,hovertemplate:o({},{keys:c.eventDataKeys}),hovertemplatefallback:l(),hoverinfo:u({},i.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:s({editType:"plot"},{keys:c.eventDataKeys.concat(["label"])}),texttemplatefallback:l({editType:"plot"}),text:r.text,textposition:r.textposition,insidetextanchor:r.insidetextanchor,textangle:r.textangle,textfont:r.textfont,insidetextfont:r.insidetextfont,outsidetextfont:r.outsidetextfont,constraintext:r.constraintext,cliponaxis:r.cliponaxis,orientation:r.orientation,offset:r.offset,width:r.width,increasing:f(),decreasing:f(),totals:f(),connector:{line:{color:u({},n.color,{dflt:h.defaultLine}),width:u({},n.width,{editType:"plot"}),dash:n.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:r.offsetgroup,alignmentgroup:r.alignmentgroup,zorder:r.zorder}}}),Al=m({"src/traces/waterfall/layout_attributes.js"(e,t){t.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"}}}}),Ml=m({"src/constants/delta.js"(e,t){t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}}}),Sl=m({"src/traces/waterfall/defaults.js"(e,t){var r=ct(),n=ei(),i=Xa().handleText,a=Gn(),o=Wn(),s=kl(),l=W(),c=Ml(),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function f(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",l.defaultLine),e(t+".marker.line.width")}t.exports={supplyDefaults:function(e,t,n,l){function c(n,i){return r.coerce(e,t,s,n,i)}if(a(e,t,l,c)){o(e,t,l,c),c("xhoverformat"),c("yhoverformat"),c("measure"),c("orientation",t.x&&!t.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback");var p=c("textposition");i(e,t,l,c,p,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==t.textposition&&(c("texttemplate"),c("texttemplatefallback"),t.texttemplate||c("textinfo")),f(c,"increasing",u),f(c,"decreasing",h),f(c,"totals","#4499FF"),c("connector.visible")&&(c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))),c("zorder")}else t.visible=!1},crossTraceDefaults:function(e,t){var i,a;function o(e){return r.coerce(a._input,a,s,e)}if("group"===t.waterfallmode)for(var l=0;l0&&(g+=f?"M"+h[0]+","+d[1]+"V"+d[0]:"M"+h[1]+","+d[0]+"H"+h[0]),"between"!==p&&(o.isSum||s path").each((function(e){if(!e.isBlank){var t=s[e.dir].marker;r.select(this).call(i.fill,t.color).call(i.stroke,t.line.color).call(n.dashLine,t.line.dash,t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),zl=m({"src/traces/waterfall/hover.js"(e,t){var r=ar().hoverLabelText,n=W().opacity,i=no().hoverOnBars,a=Ml(),o=a.INCREASING.SYMBOL,s=a.DECREASING.SYMBOL;t.exports=function(e,t,a,l,c){var u=i(e,t,a,l,c);if(u){var h=u.cd,f=h[0].trace,p="h"===f.orientation,d=p?"x":"y",m=p?e.xa:e.ya,g=h[u.index],y=g.isSum?g.b+g.s:g.rawS;u.initial=g.b+g.s-y,u.delta=y,u.final=u.initial+u.delta;var v=k(Math.abs(u.delta));u.deltaLabel=y<0?"("+v+")":v,u.finalLabel=k(u.final),u.initialLabel=k(u.initial);var x=g.hi||f.hoverinfo,_=[];if(x&&"none"!==x&&"skip"!==x){var b="all"===x,w=x.split("+"),T=function(e){return b||-1!==w.indexOf(e)};g.isSum||(T("final")&&(p?!T("x"):!T("y"))&&_.push(u.finalLabel),T("delta")&&(y<0?_.push(u.deltaLabel+" "+s):_.push(u.deltaLabel+" "+o)),T("initial")&&_.push("Initial: "+u.initialLabel))}return _.length&&(u.extraText=_.join("
")),u.color=function(e,t){var r=e[t.dir].marker,i=r.color,a=r.line.color,o=r.line.width;return n(i)?i:n(a)&&o?a:void 0}(f,g),[u]}function k(e){return r(m,e,f[d+"hoverformat"])}}}}),Dl=m({"src/traces/waterfall/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"initial"in t&&(e.initial=t.initial),"delta"in t&&(e.delta=t.delta),"final"in t&&(e.final=t.final),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),Ol=m({"src/traces/waterfall/index.js"(e,t){t.exports={attributes:kl(),layoutAttributes:Al(),supplyDefaults:Sl().supplyDefaults,crossTraceDefaults:Sl().crossTraceDefaults,supplyLayoutDefaults:El(),calc:Cl(),crossTraceCalc:Il(),plot:Ll(),style:Pl().style,hoverPoints:zl(),eventData:Dl(),selectPoints:ao(),moduleType:"trace",name:"waterfall",basePlotModule:Ci(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),Rl=m({"lib/waterfall.js"(e,t){t.exports=Ol()}}),Fl=m({"src/traces/image/constants.js"(e,t){t.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:["°","%","%"]},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:["°","%","%",""]}}}}}),Bl=m({"src/traces/image/attributes.js"(e,t){var r,n,i=q(),a=kn().zorder,{hovertemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=B().extendFlat,c=Fl().colormodel,u=["rgb","rgba","rgba256","hsl","hsla"],h=[],f=[];for(n=0;n0?s-4:s;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},e.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};var t,r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(t=0;t<64;++t)r[t]=a[t],n[a.charCodeAt(t)]=t;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function s(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function l(e,t,r){for(var n,i=[],a=t;a>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}}}),Hl=m({"node_modules/buffer/index.js"(e){var t=Vl(),r=ql(),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=function(e){return+e!=e&&(e=0),o.alloc(+e)},e.INSPECT_MAX_BYTES=50;var i=2147483647;function a(e){if(e>i)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,o.prototype),t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,r)}function s(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=0|p(e,t),n=a(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){let t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return u(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return o.from(n,t,r);let i=function(e){if(o.isBuffer(e)){let t=0|f(e.length),r=a(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):u(e):"Buffer"===e.type&&Array.isArray(e.data)?u(e.data):void 0}(e);if(i)return i;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return o.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)}function l(e){if("number"!=typeof e)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 c(e){return l(e),a(e<0?0:0|f(e))}function u(e){let t=e.length<0?0:0|f(e.length),r=a(t);for(let n=0;n=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|e}function p(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)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&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(e).length;default:if(i)return n?-1:H(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return M(this,t,r);case"latin1":case"binary":return S(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function g(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+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)return-1;r=0}if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:y(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){let a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){let n=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){let r=!0;for(let n=0;ni&&(n=i):n=i;let a,o=t.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function T(e,r,n){return 0===r&&n===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,n))}function k(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+o<=r){let r,n,s,l;switch(o){case 1:t<128&&(a=t);break;case 2:r=e[i+1],128==(192&r)&&(l=(31&t)<<6|63&r,l>127&&(a=l));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(l=(15&t)<<12|(63&r)<<6|63&n,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(l=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return function(e){let t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(o.isBuffer(t)||(t=o.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!o.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},o.byteLength=p,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(t+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(e,t,r,n,i){if(Z(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0),l=Math.min(a,s),c=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}let i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":case"latin1":case"binary":return _(this,e,t,r);case"base64":return b(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,r,n,i,a){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function P(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function z(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function D(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 O(e,t,n,i,a){return t=+t,n>>>=0,a||D(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function R(e,t,n,i,a){return t=+t,n>>>=0,a||D(e,0,n,8),r.write(e,t,n,i,52,8),n+8}o.prototype.slice=function(e,t){let r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e],i=1,a=0;for(;++a>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},o.prototype.readUint8=o.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readBigUInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e],i=1,a=0;for(;++a=i&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||I(e,t,this.length);let n=t,i=1,a=this[e+--n];for(;n>0&&(i*=256);)a+=this[e+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*t)),a},o.prototype.readInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||I(e,2,this.length);let r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||I(e,2,this.length);let r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readBigInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||I(e,4,this.length),r.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),r.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},o.prototype.writeUint8=o.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigUInt64LE=$((function(e,t=0){return P(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeBigUInt64BE=$((function(e,t=0){return z(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){let n=Math.pow(2,8*r-1);L(this,e,t,r,n-1,-n)}let i=0,a=1,o=0;for(this[t]=255&e;++i>>=0,!n){let n=Math.pow(2,8*r-1);L(this,e,t,r,n-1,-n)}let i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a|0)-o&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigInt64LE=$((function(e,t=0){return P(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeBigInt64BE=$((function(e,t=0){return z(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeFloatLE=function(e,t,r){return O(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return O(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return R(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return R(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(!o.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function N(e,t,r,n,i,a){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(a+1)}${i}`:`>= -(2${i} ** ${8*(a+1)-1}${i}) and < 2 ** ${8*(a+1)-1}${i}`:`>= ${t}${i} and <= ${r}${i}`,new F.ERR_OUT_OF_RANGE("value",n,e)}!function(e,t,r){U(t,"offset"),(void 0===e[t]||void 0===e[t+r])&&V(t,e.length-(r+1))}(n,i,a)}function U(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function V(e,t,r){throw Math.floor(e)!==e?(U(e,r),new F.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}B("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),B("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),B("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=j(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=j(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);var q=/[^+/0-9A-Za-z-_]/g;function H(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}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=65536+(i-55296<<10|r-56320)}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,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function G(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function W(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}var X=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function $(e){return typeof BigInt>"u"?K:e}function K(){throw new Error("BigInt not supported")}}}),Gl=m({"node_modules/has-symbols/shams.js"(e,t){t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var n in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}}}),Wl=m({"node_modules/has-tostringtag/shams.js"(e,t){var r=Gl();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),Zl=m({"node_modules/es-object-atoms/index.js"(e,t){t.exports=Object}}),Yl=m({"node_modules/es-errors/index.js"(e,t){t.exports=Error}}),Xl=m({"node_modules/es-errors/eval.js"(e,t){t.exports=EvalError}}),$l=m({"node_modules/es-errors/range.js"(e,t){t.exports=RangeError}}),Kl=m({"node_modules/es-errors/ref.js"(e,t){t.exports=ReferenceError}}),Jl=m({"node_modules/es-errors/syntax.js"(e,t){t.exports=SyntaxError}}),Ql=m({"node_modules/es-errors/type.js"(e,t){t.exports=TypeError}}),ec=m({"node_modules/es-errors/uri.js"(e,t){t.exports=URIError}}),tc=m({"node_modules/math-intrinsics/abs.js"(e,t){t.exports=Math.abs}}),rc=m({"node_modules/math-intrinsics/floor.js"(e,t){t.exports=Math.floor}}),nc=m({"node_modules/math-intrinsics/max.js"(e,t){t.exports=Math.max}}),ic=m({"node_modules/math-intrinsics/min.js"(e,t){t.exports=Math.min}}),ac=m({"node_modules/math-intrinsics/pow.js"(e,t){t.exports=Math.pow}}),oc=m({"node_modules/math-intrinsics/round.js"(e,t){t.exports=Math.round}}),sc=m({"node_modules/math-intrinsics/isNaN.js"(e,t){t.exports=Number.isNaN||function(e){return e!=e}}}),lc=m({"node_modules/math-intrinsics/sign.js"(e,t){var r=sc();t.exports=function(e){return r(e)||0===e?e:e<0?-1:1}}}),cc=m({"node_modules/gopd/gOPD.js"(e,t){t.exports=Object.getOwnPropertyDescriptor}}),uc=m({"node_modules/gopd/index.js"(e,t){var r=cc();if(r)try{r([],"length")}catch{r=null}t.exports=r}}),hc=m({"node_modules/es-define-property/index.js"(e,t){var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch{r=!1}t.exports=r}}),fc=m({"node_modules/has-symbols/index.js"(e,t){var r=typeof Symbol<"u"&&Symbol,n=Gl();t.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&n()}}}),pc=m({"node_modules/get-proto/Reflect.getPrototypeOf.js"(e,t){t.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),dc=m({"node_modules/get-proto/Object.getPrototypeOf.js"(e,t){var r=Zl();t.exports=r.getPrototypeOf||null}}),mc=m({"node_modules/function-bind/implementation.js"(e,t){var r=Object.prototype.toString,n=Math.max,i=function(e,t){for(var r=[],n=0;n"u"||!A?r:A(Uint8Array),P={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":k&&A?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":I,"%AsyncGenerator%":I,"%AsyncGeneratorFunction%":I,"%AsyncIteratorPrototype%":I,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>"u"?r:Float16Array,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":I,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":k&&A?A(A([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!k||!A?r:A((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!k||!A?r:A((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":k&&A?A(""[Symbol.iterator]()):r,"%Symbol%":k?Symbol:r,"%SyntaxError%":l,"%ThrowTypeError%":T,"%TypedArray%":L,"%TypeError%":c,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":E,"%Object.defineProperty%":b,"%Object.getPrototypeOf%":M,"%Math.abs%":h,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":d,"%Math.pow%":m,"%Math.round%":g,"%Math.sign%":y,"%Reflect.getPrototypeOf%":S};if(A)try{null.error}catch(e){z=A(A(e)),P["%Error.prototype%"]=z}var z,D=function e(t){var r;if("%AsyncFunction%"===t)r=x("async function () {}");else if("%GeneratorFunction%"===t)r=x("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=x("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&A&&(r=A(i.prototype))}return P[t]=r,r},O={__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"]},R=gc(),F=kc(),B=R.call(C,Array.prototype.concat),j=R.call(E,Array.prototype.splice),N=R.call(C,String.prototype.replace),U=R.call(C,String.prototype.slice),V=R.call(C,RegExp.prototype.exec),q=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,H=/\\(\\)?/g,G=function(e,t){var r,n=e;if(F(O,n)&&(n="%"+(r=O[n])[0]+"%"),F(P,n)){var i=P[n];if(i===I&&(i=D(n)),typeof i>"u"&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new l("intrinsic "+e+" does not exist!")};t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===V(/^%?[^%]*%?$/,e))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(e){var t=U(e,0,1),r=U(e,-1);if("%"===t&&"%"!==r)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return N(e,q,(function(e,t,r,i){n[n.length]=r?N(i,H,"$1"):t||e})),n}(e),n=r.length>0?r[0]:"",i=G("%"+n+"%",t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],j(r,B([0,1],u)));for(var h=1,f=!0;h=r.length){var g=_(o,p);o=(f=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[p]}else f=F(o,p),o=o[p];f&&!s&&(P[a]=o)}}return o}}}),Mc=m({"node_modules/define-data-property/index.js"(e,t){var r=hc(),n=Jl(),i=Ql(),a=uc();t.exports=function(e,t,o){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!a&&a(e,t);if(r)r(e,t,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:o,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new n("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=o}}}}),Sc=m({"node_modules/has-property-descriptors/index.js"(e,t){var r=hc(),n=function(){return!!r};n.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch{return!0}},t.exports=n}}),Ec=m({"node_modules/set-function-length/index.js"(e,t){var r=Ac(),n=Mc(),i=Sc()(),a=uc(),o=Ql(),s=r("%Math.floor%");t.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],l=!0,c=!0;if("length"in e&&a){var u=a(e,"length");u&&!u.configurable&&(l=!1),u&&!u.writable&&(c=!1)}return(l||c||!r)&&(i?n(e,"length",t,!0,!0):n(e,"length",t)),e}}}),Cc=m({"node_modules/call-bind/index.js"(e,t){var r=gc(),n=Ac(),i=Ec(),a=Ql(),o=n("%Function.prototype.apply%"),s=n("%Function.prototype.call%"),l=n("%Reflect.apply%",!0)||r.call(s,o),c=hc(),u=n("%Math.max%");t.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=l(r,s,arguments);return i(t,1+u(0,e.length-(arguments.length-1)),!0)};var h=function(){return l(r,o,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h}}),Ic=m({"node_modules/call-bind/callBound.js"(e,t){var r=Ac(),n=Cc(),i=n(r("String.prototype.indexOf"));t.exports=function(e,t){var a=r(e,!!t);return"function"==typeof a&&i(e,".prototype.")>-1?n(a):a}}}),Lc=m({"node_modules/is-arguments/index.js"(e,t){var r=Wl()(),n=Ic()("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===n(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==n(e)&&"[object Function]"===n(e.callee)},o=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=o?i:a}}),Pc=m({"node_modules/is-generator-function/index.js"(e,t){var r,n=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,o=Wl()(),s=Object.getPrototypeOf;t.exports=function(e){if("function"!=typeof e)return!1;if(a.test(i.call(e)))return!0;if(!o)return"[object GeneratorFunction]"===n.call(e);if(!s)return!1;if(typeof r>"u"){var t=function(){if(!o)return!1;try{return Function("return function*() {}")()}catch{}}();r=!!t&&s(t)}return s(e)===r}}}),zc=m({"node_modules/is-callable/index.js"(e,t){var r,n,i=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a((function(){throw 42}),null,r)}catch(e){e!==n&&(a=null)}else a=null;var o,s=/^\s*class\b/,l=function(e){try{var t=i.call(e);return s.test(t)}catch{return!1}},c=function(e){try{return!l(e)&&(i.call(e),!0)}catch{return!1}},u=Object.prototype.toString,h="function"==typeof Symbol&&!!Symbol.toStringTag,f=!(0 in[,]),p=function(){return!1};"object"==typeof document&&(o=document.all,u.call(o)===u.call(document.all)&&(p=function(e){if((f||!e)&&(typeof e>"u"||"object"==typeof e))try{var t=u.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch{}return!1})),t.exports=a?function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,r)}catch(e){if(e!==n)return!1}return!l(e)&&c(e)}:function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(h)return c(e);if(l(e))return!1;var t=u.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&c(e)}}}),Dc=m({"node_modules/for-each/index.js"(e,t){var r=zc(),n=Object.prototype.toString,i=Object.prototype.hasOwnProperty;t.exports=function(e,t,a){if(!r(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=a),"[object Array]"===n.call(e)?function(e,t,r){for(var n=0,a=e.length;n"u"?window:globalThis;t.exports=function(){for(var e=[],t=0;t"u"?window:globalThis,u=n(),h=a("String.prototype.slice"),f=Object.getPrototypeOf,p=a("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1?t:"Object"===t&&function(e){var t=!1;return r(d,(function(r,n){if(!t)try{r(e),t=h(n,1)}catch{}})),t}(e)}return o?function(e){var t=!1;return r(d,(function(r,n){if(!t)try{"$"+r(e)===n&&(t=h(n,1))}catch{}})),t}(e):null}}}),Fc=m({"node_modules/is-typed-array/index.js"(e,t){var r=Dc(),n=Oc(),i=Ic(),a=i("Object.prototype.toString"),o=Wl()(),s=uc(),l=typeof globalThis>"u"?window:globalThis,c=n(),u=i("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1}return!!s&&function(e){var t=!1;return r(f,(function(r,n){if(!t)try{t=r.call(e)===n}catch{}})),t}(e)}}}),Bc=m({"node_modules/util/support/types.js"(e){var t=Lc(),r=Pc(),n=Rc(),i=Fc();function a(e){return e.call.bind(e)}var o,s,l=typeof BigInt<"u",c=typeof Symbol<"u",u=a(Object.prototype.toString),h=a(Number.prototype.valueOf),f=a(String.prototype.valueOf),p=a(Boolean.prototype.valueOf);function d(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch{return!1}}function m(e){return"[object Map]"===u(e)}function g(e){return"[object Set]"===u(e)}function y(e){return"[object WeakMap]"===u(e)}function v(e){return"[object WeakSet]"===u(e)}function x(e){return"[object ArrayBuffer]"===u(e)}function _(e){return!(typeof ArrayBuffer>"u")&&(x.working?x(e):e instanceof ArrayBuffer)}function b(e){return"[object DataView]"===u(e)}function w(e){return!(typeof DataView>"u")&&(b.working?b(e):e instanceof DataView)}l&&(o=a(BigInt.prototype.valueOf)),c&&(s=a(Symbol.prototype.valueOf)),e.isArgumentsObject=t,e.isGeneratorFunction=r,e.isTypedArray=i,e.isPromise=function(e){return typeof Promise<"u"&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch},e.isArrayBufferView=function(e){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||w(e)},e.isUint8Array=function(e){return"Uint8Array"===n(e)},e.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===n(e)},e.isUint16Array=function(e){return"Uint16Array"===n(e)},e.isUint32Array=function(e){return"Uint32Array"===n(e)},e.isInt8Array=function(e){return"Int8Array"===n(e)},e.isInt16Array=function(e){return"Int16Array"===n(e)},e.isInt32Array=function(e){return"Int32Array"===n(e)},e.isFloat32Array=function(e){return"Float32Array"===n(e)},e.isFloat64Array=function(e){return"Float64Array"===n(e)},e.isBigInt64Array=function(e){return"BigInt64Array"===n(e)},e.isBigUint64Array=function(e){return"BigUint64Array"===n(e)},m.working=typeof Map<"u"&&m(new Map),e.isMap=function(e){return!(typeof Map>"u")&&(m.working?m(e):e instanceof Map)},g.working=typeof Set<"u"&&g(new Set),e.isSet=function(e){return!(typeof Set>"u")&&(g.working?g(e):e instanceof Set)},y.working=typeof WeakMap<"u"&&y(new WeakMap),e.isWeakMap=function(e){return!(typeof WeakMap>"u")&&(y.working?y(e):e instanceof WeakMap)},v.working=typeof WeakSet<"u"&&v(new WeakSet),e.isWeakSet=function(e){return v(e)},x.working=typeof ArrayBuffer<"u"&&x(new ArrayBuffer),e.isArrayBuffer=_,b.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&b(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=w;var T=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function k(e){return"[object SharedArrayBuffer]"===u(e)}function A(e){return!(typeof T>"u")&&(typeof k.working>"u"&&(k.working=k(new T)),k.working?k(e):e instanceof T)}function M(e){return d(e,h)}function S(e){return d(e,f)}function E(e){return d(e,p)}function C(e){return l&&d(e,o)}function I(e){return c&&d(e,s)}e.isSharedArrayBuffer=A,e.isAsyncFunction=function(e){return"[object AsyncFunction]"===u(e)},e.isMapIterator=function(e){return"[object Map Iterator]"===u(e)},e.isSetIterator=function(e){return"[object Set Iterator]"===u(e)},e.isGeneratorObject=function(e){return"[object Generator]"===u(e)},e.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===u(e)},e.isNumberObject=M,e.isStringObject=S,e.isBooleanObject=E,e.isBigIntObject=C,e.isSymbolObject=I,e.isBoxedPrimitive=function(e){return M(e)||S(e)||E(e)||C(e)||I(e)},e.isAnyArrayBuffer=function(e){return typeof Uint8Array<"u"&&(_(e)||A(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))}}),jc=m({"node_modules/util/support/isBufferBrowser.js"(e,t){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}}}),Nc=m({"(disabled):node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&T(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):d(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(T(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,_="",k=!1,A=["{","}"];return p(r)&&(k=!0,A=["[","]"]),T(r)&&(_=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(_=" "+RegExp.prototype.toString.call(r)),b(r)&&(_=" "+Date.prototype.toUTCString.call(r)),w(r)&&(_=" "+h(r)),0!==o.length||k&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=k?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,_,A)):A[0]+_+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).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 p(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return _(e)&&"[object RegExp]"===k(e)}function _(e){return"object"==typeof e&&null!==e}function b(e){return _(e)&&"[object Date]"===k(e)}function w(e){return _(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=Bc(),e.isArray=p,e.isBoolean=d,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=_,e.isDate=b,e.types.isDate=b,e.isError=w,e.types.isNativeError=w,e.isFunction=T,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=jc();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=Nl(),e._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),r=this.head,n=0;r;)l(r.data,t,n),n+=r.data.length,r=r.next;return t}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,t}},{key:s,value:function(e,t){return o(this,function(e){for(var t=1;t2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,a;if("string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))a="The ".concat(e," ").concat(n," ").concat(i(t,"type"));else{var o=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";a='The "'.concat(e,'" ').concat(o," ").concat(n," ").concat(i(t,"type"))}return a+". Received type ".concat(typeof r)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=r}}),Hc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(e,t){var r=qc().codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,n);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new r(i?n:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}}}),Gc=m({"node_modules/util-deprecate/browser.js"(e,t){function r(e){try{if(!window.localStorage)return!1}catch{return!1}var t=window.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}t.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}}),Wc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(e,t){function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t){var r=e.entry;for(e.entry=null;r;){var n=r.callback;t.pendingcb--,n(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var n;t.exports=k,k.WritableState=T;var i,a={deprecate:Gc()},o=Ul(),s=Hl().Buffer,l=window.Uint8Array||function(){},u=Vc(),h=Hc().getHighWaterMark,f=qc().codes,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,m=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,y=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,x=f.ERR_STREAM_WRITE_AFTER_END,_=f.ERR_UNKNOWN_ENCODING,b=u.errorOrDestroy;function w(){}function T(e,t,i){n=n||Zc(),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(c.nextTick(i,n),c.nextTick(I,e,t),e._writableState.errorEmitted=!0,b(e,n)):(i(n),e._writableState.errorEmitted=!0,b(e,n),I(e,t))}(e,r,n,t,i);else{var a=E(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&S(e,r),n?c.nextTick(M,e,r,a,i):M(e,r,a,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function k(e){var t=this instanceof(n=n||Zc());if(!t&&!i.call(k,this))return new k(e);this._writableState=new T(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function A(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function M(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),I(e,t)}function S(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,a=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var s=0,l=!0;n;)a[s]=n,n.isBuf||(l=!1),n=n.next,s+=1;a.allBuffers=l,A(e,t,!0,t.length,a,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,h=n.callback;if(A(e,t,!1,t.objectMode?1:c.length,c,u,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final((function(r){t.pendingcb--,r&&b(e,r),t.prefinished=!0,e.emit("prefinish"),I(e,t)}))}function I(e,t){var r=E(t);if(r&&(function(e,t){!t.prefinished&&!t.finalCalled&&("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,c.nextTick(C,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}Nl()(k,o),T.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(T.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===k&&e&&e._writableState instanceof T}})):i=function(e){return e instanceof this},k.prototype.pipe=function(){b(this,new g)},k.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&function(e){return s.isBuffer(e)||e instanceof l}(e);return a&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof t&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=w),n.ending?function(e,t){var r=new x;b(e,r),c.nextTick(t,r)}(this,r):(a||function(e,t,r,n){var i;return null===r?i=new v:"string"!=typeof r&&!t.objectMode&&(i=new p("chunk",["string","Buffer"],r)),!i||(b(e,i),c.nextTick(n,i),!1)}(this,n,e,r))&&(n.pendingcb++,i=function(e,t,r,n,i,a){if(!r){var o=function(e,t,r){return!e.objectMode&&!1!==e.decodeStrings&&"string"==typeof t&&(t=s.from(t,r)),t}(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var l=t.objectMode?1:n.length;t.length+=l;var c=t.length-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,r){r(new d("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,I(e,t),r&&(t.finished?c.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=u.destroy,k.prototype._undestroy=u.undestroy,k.prototype._destroy=function(e,t){t(e)}}}),Zc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js"(e,t){var r=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=l;var n,i,a,o=Qc(),s=Wc();for(Nl()(l,o),n=r(s.prototype),a=0;a>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function o(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 s(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 l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?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 c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}e.StringDecoder=n,n.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(a>0&&(e.lastNeed=a-1),a):--n=0?(a>0&&(e.lastNeed=a-2),a):--n=0?(a>0&&(2===a?a=0:e.lastNeed=a-3),a):0}(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)},n.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}}),$c=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(e,t){var r=qc().codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function e(t,i,a){if("function"==typeof i)return e(t,null,i);i||(i={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i0)if("string"!=typeof t&&!c.objectMode&&Object.getPrototypeOf(t)!==o.prototype&&(t=function(e){return o.from(e)}(t)),i)c.endEmitted?b(e,new _):M(e,c,t,!0);else if(c.ended)b(e,new v);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!r?(t=c.decoder.write(t),c.objectMode||0!==t.length?M(e,c,t,!1):L(e,c)):M(e,c,t,!1)}else i||(c.reading=!1,L(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=S?e=S:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function C(e){var t=e._readableState;n("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(n("emitReadable",t.flowing),t.emittedReadable=!0,c.nextTick(I,e))}function I(e){var t=e._readableState;n("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,R(e)}function L(e,t){t.readingMore||(t.readingMore=!0,c.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function D(e){n("readable nexttick read 0"),e.read(0)}function O(e,t){n("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),R(e),t.flowing&&!t.reading&&e.read(0)}function R(e){var t=e._readableState;for(n("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function B(e){var t=e._readableState;n("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,c.nextTick(j,t,e))}function j(e,t){if(n("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function N(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return n("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):C(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,a=t.needReadable;return n("need readable",a),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},k.prototype._read=function(e){b(this,new x("_read()"))},k.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,n("pipe count=%d opts=%j",a.pipesCount,t);var o=t&&!1===t.end||e===c.stdout||e===c.stderr?m:s;function s(){n("onend"),e.end()}a.endEmitted?c.nextTick(o):r.once("end",o),e.on("unpipe",(function t(i,o){n("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,n("cleanup"),e.removeListener("close",p),e.removeListener("finish",d),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",t),r.removeListener("end",s),r.removeListener("end",m),r.removeListener("data",h),u=!0,a.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l())}));var l=function(e){return function(){var t=e._readableState;n("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,R(e))}}(r);e.on("drain",l);var u=!1;function h(t){n("ondata");var i=e.write(t);n("dest.write",i),!1===i&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==N(a.pipes,e))&&!u&&(n("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function f(t){n("onerror",t),m(),e.removeListener("error",f),0===i(e,"error")&&b(e,t)}function p(){e.removeListener("finish",d),m()}function d(){n("onfinish"),e.removeListener("close",p),m()}function m(){n("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",f),e.once("close",p),e.once("finish",d),e.emit("pipe",r),a.flowing||(n("pipe resume"),r.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(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,!1!==i.flowing&&this.resume()):"readable"===e&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,n("on readable",i.length,i.reading),i.length?C(this):i.reading||c.nextTick(D,this)),r},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&c.nextTick(z,this),r},k.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&c.nextTick(z,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(n("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,c.nextTick(O,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return n("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(n("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var a in e.on("end",(function(){if(n("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(a){n("wrapped data"),r.decoder&&(a=r.decoder.write(a)),r.objectMode&&null==a||!(r.objectMode||a&&a.length)||t.push(a)||(i=!0,e.pause())})),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var o=0;o0,(function(e){u||(u=e),e&&h.forEach(s),!i&&(h.forEach(s),c(u))}))}));return t.reduce(l)}}}),nu=m({"node_modules/stream-browserify/index.js"(e,t){t.exports=n;var r=pt().EventEmitter;function n(){r.call(this)}Nl()(n,r),n.Readable=Qc(),n.Writable=Wc(),n.Duplex=Zc(),n.Transform=eu(),n.PassThrough=tu(),n.finished=$c(),n.pipeline=ru(),n.Stream=n,n.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),!e._isStdio&&(!t||!1!==t.end)&&(n.on("end",s),n.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}}}),iu=m({"node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&T(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):d(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(T(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,_="",k=!1,A=["{","}"];return p(r)&&(k=!0,A=["[","]"]),T(r)&&(_=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(_=" "+RegExp.prototype.toString.call(r)),b(r)&&(_=" "+Date.prototype.toUTCString.call(r)),w(r)&&(_=" "+h(r)),0!==o.length||k&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=k?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,_,A)):A[0]+_+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).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 p(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return _(e)&&"[object RegExp]"===k(e)}function _(e){return"object"==typeof e&&null!==e}function b(e){return _(e)&&"[object Date]"===k(e)}function w(e){return _(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=Bc(),e.isArray=p,e.isBoolean=d,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=_,e.isDate=b,e.types.isDate=b,e.isError=w,e.types.isNativeError=w,e.isFunction=T,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=jc();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=Nl(),e._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}();return function(){var n,a=i(e);if(t){var o=i(this).constructor;n=Reflect.construct(a,arguments,o)}else n=a.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}(s);function s(r,n,i){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),a=o.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i)),a.code=e,a}return function(e){return Object.defineProperty(e,"prototype",{writable:!1}),e}(s)}(a);s[e]=o}function c(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",(function(e,t,n){var i,o;if(void 0===a&&(a=wu()),a("string"==typeof e,"'name' must be a string"),"string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))o="The ".concat(e," ").concat(i," ").concat(c(t,"type"));else{var s=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";o='The "'.concat(e,'" ').concat(s," ").concat(i," ").concat(c(t,"type"))}return o+". Received type ".concat(r(n))}),TypeError),l("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===o&&(o=iu());var n=o.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)}),TypeError,RangeError),l("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")}),TypeError),l("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(e){return'"'.concat(e,'"')})),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")}return"".concat(n," must be specified")}),TypeError),t.exports.codes=s}}),ou=m({"node_modules/assert/build/internal/assert/assertion_error.js"(e,t){function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var g=iu().inspect,y=au().codes.ERR_INVALID_ARG_TYPE;function v(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}var x="",_="",b="",w="",T={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:"};function k(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){r[t]=e[t]})),Object.defineProperty(r,"message",{value:e.message}),r}function A(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(i,e);var r=function(e){var t=f();return function(){var r,n=d(e);if(t){var i=d(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return s(this,r)}}(i);function i(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),"object"!==m(e)||null===e)throw new y("options","Object",e);var n=e.message,a=e.operator,o=e.stackStartFn,u=e.actual,h=e.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=r.call(this,String(n));else if(c.stderr&&c.stderr.isTTY&&(c.stderr&&c.stderr.getColorDepth&&1!==c.stderr.getColorDepth()?(x="",_="",w="",b=""):(x="",_="",w="",b="")),"object"===m(u)&&null!==u&&"object"===m(h)&&null!==h&&"stack"in u&&u instanceof Error&&"stack"in h&&h instanceof Error&&(u=k(u),h=k(h)),"deepStrictEqual"===a||"strictEqual"===a)t=r.call(this,function(e,t,r){var n="",i="",a=0,o="",s=!1,l=A(e),u=l.split("\n"),h=A(t).split("\n"),f=0,p="";if("strictEqual"===r&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var d=u[0].length+h[0].length;if(d<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(T[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&d<(c.stderr&&c.stderr.isTTY?c.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(p="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)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)}(" ",f),"^"),f=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(f++<2?o="\n ".concat(g).concat(o):n=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var k=Math.max(u.length,h.length);if(0===k){var M=l.split("\n");if(M.length>30)for(M[26]="".concat(x,"...").concat(w);M.length>27;)M.pop();return"".concat(T.notIdentical,"\n\n").concat(M.join("\n"),"\n")}f>3&&(o="\n".concat(x,"...").concat(w).concat(o),s=!0),""!==n&&(o="\n ".concat(n).concat(o),n="");var S=0,E=T[r]+"\n".concat(_,"+ actual").concat(w," ").concat(b,"- expected").concat(w),C=" ".concat(x,"...").concat(w," Lines skipped");for(f=0;f1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(h[f-2]),S++),i+="\n ".concat(h[f-1]),S++),a=f,n+="\n".concat(b,"-").concat(w," ").concat(h[f]),S++;else if(h.length1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),a=f,i+="\n".concat(_,"+").concat(w," ").concat(u[f]),S++;else{var L=h[f],P=u[f],z=P!==L&&(!v(P,",")||P.slice(0,-1)!==L);z&&v(L,",")&&L.slice(0,-1)===P&&(z=!1,P+=","),z?(I>1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),a=f,i+="\n".concat(_,"+").concat(w," ").concat(P),n+="\n".concat(b,"-").concat(w," ").concat(L),S+=2):(i+=n,n="",(1===I||0===f)&&(i+="\n ".concat(P),S++))}if(S>20&&f30)for(d[26]="".concat(x,"...").concat(w);d.length>27;)d.pop();t=1===d.length?r.call(this,"".concat(p," ").concat(d[0])):r.call(this,"".concat(p,"\n\n").concat(d.join("\n"),"\n"))}else{var g=A(u),M="",S=T[a];"notDeepEqual"===a||"notEqual"===a?(g="".concat(T[a],"\n\n").concat(g)).length>1024&&(g="".concat(g.slice(0,1021),"...")):(M="".concat(A(h)),g.length>512&&(g="".concat(g.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?g="".concat(S,"\n\n").concat(g,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),t=r.call(this,"".concat(g).concat(M))}return Error.stackTraceLimit=f,t.generatedMessage=!n,Object.defineProperty(l(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=u,t.expected=h,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(l(t),o),t.stack,t.name="AssertionError",s(t)}return function(e,t){t&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1})}(i,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,n(n({},t),{},{customInspect:!1,depth:0}))}}]),i}(u(Error),g.custom);t.exports=M}}),su=m({"node_modules/object-keys/isArguments.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}}}),lu=m({"node_modules/object-keys/implementation.js"(e,t){var r,n,i,a,o,s,l,c,u,h,f,p;Object.keys||(n=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=su(),o=Object.prototype.propertyIsEnumerable,s=!o.call({toString:null},"toString"),l=o.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},h={$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},f=function(){if(typeof window>"u")return!1;for(var e in window)try{if(!h["$"+e]&&n.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch{return!0}}catch{return!0}return!1}(),p=function(e){if(typeof window>"u"||!f)return u(e);try{return u(e)}catch{return!1}},r=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===i.call(e),o=a(e),u=t&&"[object String]"===i.call(e),h=[];if(!t&&!r&&!o)throw new TypeError("Object.keys called on a non-object");var f=l&&r;if(u&&e.length>0&&!n.call(e,0))for(var d=0;d0)for(var m=0;m2?arguments[2]:{},o=r(t);n&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function P(e){return Object.keys(e).filter(L).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function z(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i0)return function(e){if(!((e=String(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 o=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*n;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){return o(e,a,"day")||o(e,i,"hour")||o(e,n,"minute")||o(e,r,"second")||e+" ms"}(e):function(e){return e>=a?Math.round(e/a)+"d":e>=i?Math.round(e/i)+"h":e>=n?Math.round(e/n)+"m":e>=r?Math.round(e/r)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}}),ku=m({"node_modules/stream-parser/node_modules/debug/src/debug.js"(e,t){var r;function n(t){function n(){if(n.enabled){var t=n,i=+new Date,a=i-(r||i);t.diff=a,t.prev=r,t.curr=i,r=i;for(var o=new Array(arguments.length),s=0;s=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:function(){try{return window.localStorage}catch{}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(r())}}),Mu=m({"node_modules/stream-parser/index.js"(e,t){var r=wu(),n=Au()("stream-parser");function i(e){n("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=-1,e._parserCallback=null,"function"==typeof e.push&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function a(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||i(this),n("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=0}function o(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=1}function s(e,t){r(!this._parserCallback,'There is already a "callback" set!'),r(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=2}function l(e,t,r){this._parserInit||i(this),n("write(%o bytes)",e.length),"function"==typeof t&&(r=t),h(this,e,null,r)}function c(e,t,r){this._parserInit||i(this),n("transform(%o bytes)",e.length),"function"!=typeof t&&(t=this._parserOutput),h(this,e,t,r)}function u(e,t,r,i){if(e._parserBytesLeft-=t.length,n("%o bytes left for stream piece",e._parserBytesLeft),0===e._parserState?(e._parserBuffers.push(t),e._parserBuffered+=t.length):2===e._parserState&&r(t),0!==e._parserBytesLeft)return i;var a=e._parserCallback;if(a&&0===e._parserState&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),0!==e._parserState&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=-1,e._parserBuffers.splice(0),a){var o=[];t&&o.push(t),r&&o.push(r);var s=a.length>o.length;s&&o.push(f(i));var l=a.apply(e,o);if(!s||i===l)return i}}t.exports=function(e){var t=e&&"function"==typeof e._transform,r=e&&"function"==typeof e._write;if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");n("extending Parser into stream"),e._bytes=a,e._skipBytes=o,t&&(e._passthrough=s),t?e._transform=c:e._write=l};var h=f((function e(t,r,n,i){return t._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=t._parserBytesLeft?function(){return u(t,r,n,i)}:function(){var a=r.slice(0,t._parserBytesLeft);return u(t,a,n,(function(o){return o?i(o):r.length>a.length?function(){return e(t,r.slice(a.length),n,i)}:void 0}))}}));function f(e){return function(){for(var t=e.apply(this,arguments);"function"==typeof t;)t=t();return t}}}}),Su=m({"node_modules/probe-image-size/lib/common.js"(e){var t=nu().Transform,r=Mu();function n(){t.call(this,{readableObjectMode:!0})}function i(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}n.prototype=Object.create(t.prototype),n.prototype.constructor=n,r(n.prototype),e.ParserStream=n,e.sliceEq=function(e,t,r){for(var n=t,i=0;i>4&15,i=15&e[4],a=e[5]>>4&15,s=r(e,6),l=8,c=0;ct.width||e.width===t.width&&e.height>t.height?e:t})),r=e.reduce((function(e,t){return e.height>t.height||e.height===t.height&&e.width>t.width?e:t}));return t.width>r.height||t.width===r.height&&t.height>r.width?t:r}(t.sizes),n=1;t.transforms.forEach((function(e){var t={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===e.type&&(n=0===e.value?r[n]:t[n=t[n=r[n]]]),"irot"===e.type)for(var i=0;i0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}},i.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?256*t[e]+t[e+1]:t[e]+256*t[e+1]},i.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?16777216*t[e]+65536*t[e+1]+256*t[e+2]+t[e+3]:t[e]+256*t[e+1]+65536*t[e+2]+16777216*t[e+3]},i.prototype.is_subifd_link=function(e,t){return 0===e&&34665===t||0===e&&34853===t||34665===e&&40965===t},i.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}},i.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return this.input[t];case 6:return(r=this.input[t])|33554430*(128&r);case 3:return this.read_uint16(t);case 8:return(r=this.read_uint16(t))|131070*(32768&r);case 4:return this.read_uint32(t);case 9:return 0|this.read_uint32(t);default:return null}},i.prototype.scan_ifd=function(e,t,i){var a=this.read_uint16(t);t+=2;for(var o=0;othis.input.length)throw r("unexpected EOF","EBADDATA");for(var d=[],m=f,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:e,tag:s,format:l,count:c,entry_offset:t+this.start,data_length:h,data_offset:f+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);t+=12}0===e&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})},t.exports.ExifParser=i,t.exports.get_orientation=function(e){var t=0;try{return new i(e,0,e.length).each((function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t=e.value[0],!1})),t}catch{return-1}}}}),Iu=m({"node_modules/probe-image-size/lib/parse_sync/avif.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=Eu(),o=Cu(),s=r("ftyp");t.exports=function(e){if(n(e,4,s)){var t=a.unbox(e,0);if(t){var r=a.getMimeType(t.data);if(r){for(var l,c=t.end;;){var u=a.unbox(e,c);if(!u)break;if(c=u.end,"mdat"===u.boxtype)return;if("meta"===u.boxtype){l=u.data;break}}if(l){var h=a.readSizeFromMeta(l);if(h){var f={width:h.width,height:h.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(h.variants.length>1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=e.length){var p=i(e,h.exif_location.offset),d=e.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=o.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}}}),Lu=m({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt16LE,a=r("BM");t.exports=function(e){if(!(e.length<26)&&n(e,0,a))return{width:i(e,18),height:i(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),Pu=m({"node_modules/probe-image-size/lib/parse_sync/gif.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt16LE,a=r("GIF87a"),o=r("GIF89a");t.exports=function(e){if(!(e.length<10)&&(n(e,0,a)||n(e,0,o)))return{width:i(e,6),height:i(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),zu=m({"node_modules/probe-image-size/lib/parse_sync/ico.js"(e,t){var r=Su().readUInt16LE;t.exports=function(e){var t=r(e,0),n=r(e,2),i=r(e,4);if(0===t&&1===n&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),Du=m({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(e,t){var r=Su().readUInt16BE,n=Su().str2arr,i=Su().sliceEq,a=Cu(),o=n("Exif\0\0");t.exports=function(e){if(!(e.length<2)&&255===e[0]&&216===e[1]&&255===e[2])for(var t=2;;){for(;;){if(e.length-t<2)return;if(255===e[t++])break}for(var n,s=e[t++];255===s;)s=e[t++];if(208<=s&&s<=217||1===s)n=0;else{if(!(192<=s&&s<=254))return;if(e.length-t<2)return;n=r(e,t)-2,t+=2}if(217===s||218===s)return;var l;if(225===s&&n>=10&&i(e,t,o)&&(l=a.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=s&&s<=207&&196!==s&&200!==s&&204!==s){if(e.length-t0&&(c.orientation=l),c}t+=n}}}}),Ou=m({"node_modules/probe-image-size/lib/parse_sync/png.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=r("‰PNG\r\n\n"),o=r("IHDR");t.exports=function(e){if(!(e.length<24)&&n(e,0,a)&&n(e,12,o))return{width:i(e,16),height:i(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}}}),Ru=m({"node_modules/probe-image-size/lib/parse_sync/psd.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=r("8BPS\0");t.exports=function(e){if(!(e.length<22)&&n(e,0,a))return{width:i(e,18),height:i(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}}}),Fu=m({"node_modules/probe-image-size/lib/parse_sync/svg.js"(e,t){function r(e){return 32===e||9===e||13===e||10===e}function n(e){return"number"==typeof e&&isFinite(e)&&e>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,o=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,s=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,l=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(e){return c.test(e)?e.match(c)[0]:"px"}t.exports=function(e){if(function(e){var t=0,n=e.length;for(239===e[0]&&187===e[1]&&191===e[2]&&(t=3);t>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(e,t){return{width:1+(e[t+6]<<16|e[t+5]<<8|e[t+4]),height:1+(e[t+9]<e.length)){for(;t+8=10?r=r||c(e,t+8):"VP8L"===p&&d>=9?r=r||u(e,t+8):"VP8X"===p&&d>=10?r=r||h(e,t+8):"EXIF"===p&&(i=o.get_orientation(e.slice(t+8,t+8+d)),t=1/0),t+=8+d}else t++;if(r)return i>0&&(r.orientation=i),r}}}}}),Nu=m({"node_modules/probe-image-size/lib/parsers_sync.js"(e,t){t.exports={avif:Iu(),bmp:Lu(),gif:Pu(),ico:zu(),jpeg:Du(),png:Ou(),psd:Ru(),svg:Fu(),tiff:Bu(),webp:ju()}}}),Uu=m({"node_modules/probe-image-size/sync.js"(e,t){var r=Nu();t.exports=function(e){return function(e){for(var t=Object.keys(r),n=0;n0;)g=h.c2p(w+_*M),_--;for(_=0;void 0===v&&_0;)x=f.c2p(T+_*S),_--;if(gz[0];if(D||O){var R=m+E/2,F=v+C/2;L+="transform:"+i(R+"px",F+"px")+"scale("+(D?-1:1)+","+(O?-1:1)+")"+i(-R+"px",-F+"px")+";"}}I.attr("style",L);var B=new Promise((function(e){if(u._hasZ)e();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===k&&u._canvas.el.height===A&&u._canvas.source===u.source)e();else{var t=document.createElement("canvas");t.width=k,t.height=A;var r=t.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:t,source:u.source},e()},n.setAttribute("src",u.source)}})).then((function(){var e;if(u._hasZ)e=j((function(e,t){var r=b[t][e];return n.isTypedArray(r)&&(r=Array.from(r)),r})).toDataURL("image/png");else if(u._hasSource)if(d)e=u.source;else{var t=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=j((function(e,r){var n=4*(r*k+e);return[t[n],t[n+1],t[n+2],t[n+3]]})).toDataURL("image/png")}I.attr({"xlink:href":e,height:C,width:E,x:m,y:v})}));e._promises.push(B)}function j(e){var t=document.createElement("canvas");t.width=E,t.height=C;var r,i=t.getContext("2d",{willReadFrequently:!0}),a=function(e){return n.constrain(Math.round(h.c2p(w+e*M)-m),0,E)},s=function(e){return n.constrain(Math.round(f.c2p(T+e*S)-v),0,C)},l=o.colormodel[u.colormodel],p=l.colormodel||u.colormodel,d=l.fmt;for(_=0;_0||r.inbox(o-s.y0,o-(s.y0+s.h*l.dy),0)>0)){var h,f=Math.floor((t-s.x0)/l.dx),p=Math.floor(Math.abs(o-s.y0)/l.dy);if(l._hasZ?h=s.z[p][f]:l._hasSource&&(h=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,p,1,1).data),h){var d,m=s.hi||l.hoverinfo;if(m){var g=m.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,v=a.colormodel[l.colormodel],x=v.colormodel||l.colormodel,_=x.length,b=l._scaler(h),w=v.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(", ")),4===_&&T.push(", "+b[3]+w[3]),T.push("]"),T=T.join(""),e.extraText=x.toUpperCase()+": "+T),i(l.hovertext)&&i(l.hovertext[p])?y=l.hovertext[p][f]:i(l.text)&&i(l.text[p])&&(y=l.text[p][f]);var k=u.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(f+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+h.slice(0,l.colormodel.length).join(", ")+"]";return[n.extendFlat(e,{index:[p,f],x0:c.c2p(s.x0+f*l.dx),x1:c.c2p(s.x0+(f+1)*l.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":b[0]+w[0],"color[1]Label":b[1]+w[1],"color[2]Label":b[2]+w[2],"color[3]Label":b[3]+w[3]}})]}}}}}),Zu=m({"src/traces/image/event_data.js"(e,t){t.exports=function(e,t){return"xVal"in t&&(e.x=t.xVal),"yVal"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e.color=t.color,e.colormodel=t.trace.colormodel,e.z||(e.z=t.color),e}}}),Yu=m({"src/traces/image/index.js"(e,t){t.exports={attributes:Bl(),supplyDefaults:jl(),calc:qu(),plot:Hu(),style:Gu(),hoverPoints:Wu(),eventData:Zu(),moduleType:"trace",name:"image",basePlotModule:Ci(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),Xu=m({"lib/image.js"(e,t){t.exports=Yu()}}),$u=m({"src/traces/pie/attributes.js"(e,t){var r=q(),n=Ma().attributes,i=j(),a=G(),{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=B().extendFlat,u=Oe().pattern,h=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.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:a.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,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:c({},r.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:l(),texttemplate:s({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:l({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:c({},r.showlegend,{arrayOk:!0}),legend:c({},r.legend,{arrayOk:!0}),legendrank:c({},r.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:n({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"}}}}),Ku=m({"src/traces/pie/defaults.js"(e,t){var r=M(),n=ct(),i=$u(),a=Ma().defaults,o=Xa().handleText,s=ct().coercePattern;function l(e,t){var i=n.isArrayOrTypedArray(e),a=n.isArrayOrTypedArray(t),o=Math.min(i?e.length:1/0,a?t.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l0){s=!0;break}}s||(o=0)}return{hasLabels:i,hasValues:a,len:o}}function c(e,t,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");s(n,"marker.pattern",a),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:l,handleMarkerDefaults:c,supplyDefaults:function(e,t,r,s){function u(r,a){return n.coerce(e,t,i,r,a)}var h=l(u("labels"),u("values")),f=h.len;if(t._hasLabels=h.hasLabels,t._hasValues=h.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),f){t._length=f,c(e,t,s,u,!0),u("scalegroup");var p,d=u("text"),m=u("texttemplate");if(u("texttemplatefallback"),m||(p=u("textinfo",n.isArrayOrTypedArray(d)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),m||p&&"none"!==p){var g=u("textposition");o(e,t,s,u,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&u("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&u("insidetextorientation")}else"none"===p&&u("textposition","none");a(t,s,u);var y=u("hole");if(u("title.text")){var v=u("title.position",y?"middle center":"top center");!y&&"middle center"===v&&(t.title.position="top center"),n.coerceFont(u,"title.font",s.font)}u("sort"),u("direction"),u("rotation"),u("pull")}else t.visible=!1}}}}),Ju=m({"src/traces/pie/layout_attributes.js"(e,t){t.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Qu=m({"src/traces/pie/layout_defaults.js"(e,t){var r=ct(),n=Ju();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("piecolorway",t.colorway),i("extendpiecolors")}}}),eh=m({"src/traces/pie/calc.js"(e,t){var r=M(),n=F(),i=W(),a={};function o(e){return function(t,r){return!(!t||(t=n(t),!t.isValid()))&&(t=i.addOpacity(t,t.getAlpha()),e[r]||(e[r]=t),t)}}function s(e,t){var r,i=JSON.stringify(e),a=t[i];if(!a){for(a=e.slice(),r=0;r=0})),("funnelarea"===t.type?y:t.sort)&&a.sort((function(e,t){return t.v-e.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,o=n[r+"colorway"],l=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(o=s(o,a));for(var c=0,u=0;u"),name:h.hovertemplate||-1!==f.indexOf("name")?h.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:m.castOption(b.bgcolor,e.pts)||e.color,borderColor:m.castOption(b.bordercolor,e.pts),fontFamily:m.castOption(w.family,e.pts),fontSize:m.castOption(w.size,e.pts),fontColor:m.castOption(w.color,e.pts),nameLength:m.castOption(b.namelength,e.pts),textAlign:m.castOption(b.align,e.pts),hovertemplate:m.castOption(h.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[g(e,h)]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,inOut_bbox:T}),e.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[g(e,h)],event:r.event})}})),e.on("mouseout",(function(e){var n=t._fullLayout,a=t._fullData[c.index],o=r.select(this).datum();c._hasHoverEvent&&(e.originalEvent=r.event,t.emit("plotly_unhover",{points:[g(o,a)],event:r.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(i.loneUnhover(n._hoverlayer.node()),c._hasHoverLabel=!1)})),e.on("click",(function(e){var n=t._fullLayout,a=t._fullData[c.index];t._dragging||!1===n.hovermode||(t._hoverdata=[g(e,a)],i.click(t,r.event))}))}function x(e,t,r){var n=m.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=m.castOption(e._input.textfont.color,t.pts));var i=m.castOption(e.insidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,o=m.castOption(e.insidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,s=m.castOption(e.insidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,l=m.castOption(e.insidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,c=m.castOption(e.insidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,u=m.castOption(e.insidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,h=m.castOption(e.insidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=m.castOption(e.insidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||a.contrast(t.color),family:i,size:o,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function _(e,t){for(var r,n,i=0;it&&t>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(h||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||h){var v=Math.sqrt(e.width*e.width+e.height*e.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a)),(d||f)&&((a=k(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a));for(var x=0,_=0,b=0;b=1)break}return m[x]}function T(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.width/e.height,o=S(a,n,t,r);return{scale:2*o/e.height,rCenter:A(a,o/t),rotate:M(i)}}function k(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.height/e.width,o=S(a,n,t,r);return{scale:2*o/e.width,rCenter:A(a,o/t),rotate:M(i+Math.PI/2)}}function A(e,t){return Math.cos(t)-e*t}function M(e){return(180/Math.PI*e+720)%180-90}function S(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function E(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function C(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function I(e,t){var r,n,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*e.r);var l=function(e,t){return e/(void 0===t?1:t)}(e.r,e.trace.aspectratio),c=t.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=c/e.titleBox.width,n=L(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function L(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 P(e){var t,r=e.pull;if(!r)return 0;if(s.isArrayOrTypedArray(r))for(r=0,t=0;tr&&(r=e.pull[t]);return r}function z(e,t){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(o){var _=s.castOption(a,t.i,"texttemplate");if(_){var b={label:(n=t).label,value:n.v,valueLabel:m.formatPieValue(n.v,i.separators),percent:n.v/r.vTotal,percentLabel:m.formatPiePercent(n.v/r.vTotal,i.separators),color:n.color,text:n.text,customdata:s.castOption(a,n.i,"customdata")},w=m.getFirstFilled(a.text,t.pts);(y(w)||""===w)&&(b.text=w),t.text=s.texttemplateString({data:[b,a._meta],fallback:a.texttemplatefallback,labels:b,locale:e._fullLayout._d3locale,template:_})}else t.text=""}}function R(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}t.exports={plot:function(e,t){var i=e._context.staticPlot,h=e._fullLayout,d=h._size;p("pie",h),_(t,e),z(t,d);var g=s.makeTraceGroups(h._pielayer,t,"trace").each((function(t){var p=r.select(this),g=t[0],y=g.trace;(function(e){var t,r,n,i=e[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(t=0;ti.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))})(t),p.attr("stroke-linejoin","round"),p.each((function(){var _=r.select(this).selectAll("g.slice").data(t);_.enter().append("g").classed("slice",!0),_.exit().remove();var b=[[[],[]],[[],[]]],T=!1;_.each((function(n,a){if(n.hidden)r.select(this).selectAll("path,g").remove();else{n.pointNumber=n.i,n.curveNumber=y.index,b[n.pxmid[1]<0?0:1][n.pxmid[0]<0?0:1].push(n);var l=g.cx,c=g.cy,p=r.select(this),d=p.selectAll("path.surface").data([n]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":i?"none":"all"}),p.call(v,e,t),y.pull){var _=+m.castOption(y.pull,n.pts)||0;_>0&&(l+=_*n.pxmid[0],c+=_*n.pxmid[1])}n.cxFinal=l,n.cyFinal=c;var k=y.hole;if(n.v===g.vTotal){var A="M"+(l+n.px0[0])+","+(c+n.px0[1])+L(n.px0,n.pxmid,!0,1)+L(n.pxmid,n.px0,!0,1)+"Z";k?d.attr("d","M"+(l+k*n.px0[0])+","+(c+k*n.px0[1])+L(n.px0,n.pxmid,!1,k)+L(n.pxmid,n.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=L(n.px0,n.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(l+k*n.px1[0])+","+(c+k*n.px1[1])+L(n.px1,n.px0,!1,k)+"l"+S*n.px0[0]+","+S*n.px0[1]+M+"Z")}else d.attr("d","M"+l+","+c+"l"+n.px0[0]+","+n.px0[1]+M+"Z")}O(e,n,g);var E=m.castOption(y.textposition,n.pts),I=p.selectAll("g.slicetext").data(n.text&&"none"!==E?[0]:[]);I.enter().append("g").classed("slicetext",!0),I.exit().remove(),I.each((function(){var i=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),p=s.ensureUniformFontSize(e,"outside"===E?function(e,t,r){return{color:m.castOption(e.outsidetextfont.color,t.pts)||m.castOption(e.textfont.color,t.pts)||r.color,family:m.castOption(e.outsidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,size:m.castOption(e.outsidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,weight:m.castOption(e.outsidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,style:m.castOption(e.outsidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,variant:m.castOption(e.outsidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,textcase:m.castOption(e.outsidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,lineposition:m.castOption(e.outsidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,shadow:m.castOption(e.outsidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow}}(y,n,h.font):x(y,n,h.font));i.text(n.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,p).call(u.convertToTspans,e);var d,v=o.bBox(i.node());if("outside"===E)d=C(v,n);else if(d=w(v,n,g),"auto"===E&&d.scale<1){var _=s.ensureUniformFontSize(e,y.outsidetextfont);i.call(o.font,_),d=C(v=o.bBox(i.node()),n)}var b=d.textPosAngle,k=void 0===b?n.pxmid:D(g.r,b);if(d.targetX=l+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,v),d.outside){var A=d.targetY;n.yLabelMin=A-v.height/2,n.yLabelMid=A,n.yLabelMax=A+v.height/2,n.labelExtraX=0,n.labelExtraY=0,T=!0}d.fontSize=p.size,f(y.type,d,h),t[a].transform=d,s.setTransormAndDisplay(i,d)}))}function L(e,t,r,i){var a=i*(t[0]-e[0]),o=i*(t[1]-e[1]);return"a"+i*g.r+","+i*g.r+" 0 "+n.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var t,n=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=s.templateString(i,y._meta)),n.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,y.title.font).call(u.convertToTspans,e),t="middle center"===y.title.position?function(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}}(g):I(g,d),n.attr("transform",c(t.x,t.y)+l(Math.min(1,t.scale))+c(t.tx,t.ty))})),T&&function(e,t){var r,n,i,a,o,l,c,u,h,f,p,d,g;function y(e,t){return e.pxmid[1]-t.pxmid[1]}function v(e,t){return t.pxmid[1]-e.pxmid[1]}function x(e,r){r||(r={});var i,u,h,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),g=n?e.yLabelMin:e.yLabelMax,y=n?e.yLabelMax:e.yLabelMin,v=e.cyFinal+o(e.px0[1],e.px1[1]),x=d-g;if(x*c>0&&(e.labelExtraY=x),s.isArrayOrTypedArray(t.pull))for(u=0;u=(m.castOption(t.pull,h.pts)||0))&&((e.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-g-e.labelExtraY)*c>0&&(e.labelExtraY+=x):(y+e.labelExtraY-v)*c>0&&(i=3*l*Math.abs(u-f.indexOf(e)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,l=r?1:-1,(u=e[n][r]).sort(i),h=e[1-n][r],f=h.concat(u),d=[],p=0;pMath.abs(h)?l+="l"+h*e.pxmid[0]/e.pxmid[1]+","+h+"H"+(o+e.labelExtraX+c):l+="l"+e.labelExtraX+","+u+"v"+(h-u)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(n,"path","textline").call(a.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})}else n.select("path.textline").remove()}))}(_,y),T&&y.automargin){var A=o.bBox(p.node()),M=y.domain,S=d.w*(M.x[1]-M.x[0]),E=d.h*(M.y[1]-M.y[0]),L=(.5*S-g.r)/d.w,P=(.5*E-g.r)/d.h;n.autoMargin(e,"pie."+y.uid+".automargin",{xl:M.x[0]-L,xr:M.x[1]+L,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(g.cx-g.r-A.left,0),r:Math.max(A.right-(g.cx+g.r),0),b:Math.max(A.bottom-(g.cy+g.r),0),t:Math.max(g.cy-g.r-A.top,0),pad:5})}}))}));setTimeout((function(){g.selectAll("tspan").each((function(){var e=r.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))}))}),0)},formatSliceLabel:O,transformInsideText:w,determineInsideTextFont:x,positionTitleOutside:I,prerenderTitles:_,layoutAreas:z,attachFxHandlers:v,computeTransform:R}}}),nh=m({"src/traces/pie/style.js"(e,t){var r=b(),n=kr(),i=Qa().resizeText;t.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");i(e,t,"pie"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),ih=m({"src/traces/pie/base_plot.js"(e){var t=At();e.name="pie",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),ah=m({"src/traces/pie/index.js"(e,t){t.exports={attributes:$u(),supplyDefaults:Ku().supplyDefaults,supplyLayoutDefaults:Qu(),layoutAttributes:Ju(),calc:eh().calc,crossTraceCalc:eh().crossTraceCalc,plot:rh().plot,style:nh(),styleOne:kr(),moduleType:"trace",name:"pie",basePlotModule:ih(),categories:["pie-like","pie","showLegend"],meta:{}}}}),oh=m({"lib/pie.js"(e,t){t.exports=ah()}}),sh=m({"src/traces/sunburst/base_plot.js"(e){var t=At();e.name="sunburst",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),lh=m({"src/traces/sunburst/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),ch=m({"src/traces/sunburst/attributes.js"(e,t){var r=q(),{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Fe(),o=zt(),s=Ma().attributes,l=$u(),c=lh(),u=B().extendFlat,h=Oe().pattern;t.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:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},pattern:h,editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:a({editType:"plot"}),hovertext:l.hovertext,hoverinfo:u({},r.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:n({},{keys:c.eventDataKeys}),hovertemplatefallback:a(),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}}}),uh=m({"src/traces/sunburst/layout_attributes.js"(e,t){t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),hh=m({"src/traces/sunburst/defaults.js"(e,t){var r=ct(),n=ch(),i=Ma().defaults,a=Xa().handleText,o=Ku().handleMarkerDefaults,s=Yt(),l=s.hasColorscale,c=s.handleDefaults;t.exports=function(e,t,s,u){function h(i,a){return r.coerce(e,t,n,i,a)}var f=h("labels"),p=h("parents");if(f&&f.length&&p&&p.length){var d=h("values");d&&d.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),o(e,t,u,h);var m=t._hasColorscale=l(e,"marker","colors")||(e.marker||{}).coloraxis;m&&c(e,t,u,h,{prefix:"marker.",cLetter:"c"}),h("leaf.opacity",m?1:.7);var g=h("text");h("texttemplate"),h("texttemplatefallback"),t.texttemplate||h("textinfo",r.isArrayOrTypedArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback"),a(e,t,u,h,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("insidetextorientation"),h("sort"),h("rotation"),h("root.color"),i(t,u,h),t._length=null}else t.visible=!1}}}),fh=m({"src/traces/sunburst/layout_defaults.js"(e,t){var r=ct(),n=uh();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("sunburstcolorway",t.colorway),i("extendsunburstcolors")}}}),ph=m({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){return e.parent===t.parent?1:2}function r(e,t){return e+t.x}function n(e,t){return Math.max(e,t.y)}function i(e){var t=0,r=e.children,n=r&&r.length;if(n)for(;--n>=0;)t+=r[n].value;else t=1;e.value=t}function a(e,t){var r,n,i,a,s,u=new c(e),h=+e.value&&(u.value=e.value),f=[u];for(null==t&&(t=o);r=f.pop();)if(h&&(r.value=+r.data.value),(i=t(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)f.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(e){return e.children}function s(e){e.data=e.data.data}function l(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function c(e){this.data=e,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(e){var t,r,n,i,a=this,o=[a];do{for(t=o.reverse(),o=[];a=t.pop();)if(e(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(t[r]);return this},sum:function(e){return this.eachAfter((function(t){for(var r=+e(t.data)||0,n=t.children,i=n&&n.length;--i>=0;)r+=n[i].value;t.value=r}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,r=function(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),i=null;for(e=r.pop(),t=n.pop();e===t;)i=e,e=r.pop(),t=n.pop();return i}(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var i=n.length;e!==r;)n.splice(i,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function h(e){for(var t,r,n=0,i=(e=function(e){for(var t,r,n=e.length;n;)r=Math.random()*n--|0,t=e[n],e[n]=e[r],e[r]=t;return e}(u.call(e))).length,a=[];n0&&r*r>n*n+i*i}function m(e,t){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=e.x-n*s-a*l,r.y=e.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=t.x+n*s-a*l,r.y=t.y+n*l+a*s)):(r.x=t.x+r.r,r.y=t.y)}function _(e,t){var r=e.r+t.r-1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function b(e){var t=e._,r=e.next._,n=t.r+r.r,i=(t.x*r.r+r.x*t.r)/n,a=(t.y*r.r+r.y*t.r)/n;return i*i+a*a}function w(e){this._=e,this.next=null,this.previous=null}function T(e){if(!(i=e.length))return 0;var t,r,n,i,a,o,s,l,c,u,f;if((t=e[0]).x=0,t.y=0,!(i>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(i>2))return t.r+r.r;x(r,t,n=e[2]),t=new w(t),r=new w(r),n=new w(n),t.next=n.previous=r,r.next=t.previous=n,n.next=r.previous=t;e:for(s=3;sf&&(f=s),g=u*u*m,(p=Math.max(f/g,g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?t:1)},r}(H),Z=function e(t){function r(e,r,n,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,l,c,u,h=-1,f=o.length,p=e.value;++h1?t:1)},r}(H);e.cluster=function(){var e=t,i=1,a=1,o=!1;function s(t){var s,l=0;t.eachAfter((function(t){var i=t.children;i?(t.x=function(e){return e.reduce(r,0)/e.length}(i),t.y=function(e){return 1+e.reduce(n,0)}(i)):(t.x=s?l+=e(t,s):0,t.y=0,s=t)}));var c=function(e){for(var t;t=e.children;)e=t[0];return e}(t),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(t),h=c.x-e(c,u)/2,f=u.x+e(u,c)/2;return t.eachAfter(o?function(e){e.x=(e.x-t.x)*i,e.y=(t.y-e.y)*a}:function(e){e.x=(e.x-h)/(f-h)*i,e.y=(1-(t.y?e.y/t.y:1))*a})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(o=!1,i=+e[0],a=+e[1],s):o?null:[i,a]},s.nodeSize=function(e){return arguments.length?(o=!0,i=+e[0],a=+e[1],s):o?[i,a]:null},s},e.hierarchy=a,e.pack=function(){var e=null,t=1,r=1,n=A;function i(i){return i.x=t/2,i.y=r/2,e?i.eachBefore(E(e)).eachAfter(C(n,.5)).eachBefore(I(1)):i.eachBefore(E(S)).eachAfter(C(A,1)).eachAfter(C(n,i.r/Math.min(t,r))).eachBefore(I(Math.min(t,r)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=function(e){return null==e?null:k(e)}(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],r=+e[1],i):[t,r]},i.padding=function(e){return arguments.length?(n="function"==typeof e?e:M(+e),i):n},i},e.packEnclose=h,e.packSiblings=function(e){return T(e),e},e.partition=function(){var e=1,t=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/a,i.eachBefore(function(e,t){return function(n){n.children&&P(n,n.x0,e*(n.depth+1)/t,n.x1,e*(n.depth+2)/t);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error("cycle");return a}return r.id=function(t){return arguments.length?(e=k(t),r):e},r.parentId=function(e){return arguments.length?(t=k(e),r):t},r},e.tree=function(){var e=F,t=1,r=1,n=null;function i(i){var l=function(e){for(var t,r,n,i,a,o=new V(e,0),s=[o];t=s.pop();)if(n=t._.children)for(t.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=t.children[i]=new V(n[i],i)),r.parent=t;return(o.parent=new V(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(e){e.xu.x&&(u=e),e.depth>h.depth&&(h=e)}));var f=c===u?1:e(c,u)/2,p=f-c.x,d=t/(u.x+f+p),m=r/(h.depth||1);i.eachBefore((function(e){e.x=(e.x+p)*d,e.y=e.depth*m}))}return i}function a(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=j(s),a=B(a),s&&a;)l=B(l),(o=j(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(N(U(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),a&&!B(l)&&(l.t=a,l.m+=c-f,n=t)}return n}(t,i,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(n=!1,t=+e[0],r=+e[1],i):n?null:[t,r]},i.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],r=+e[1],i):n?[t,r]:null},i},e.treemap=function(){var e=W,t=!1,r=1,n=1,i=[0],a=A,o=A,s=A,l=A,c=A;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=n,e.eachBefore(h),i=[0],t&&e.eachBefore(L),e}function h(t){var r=i[t.depth],n=t.x0+r,u=t.y0+r,h=t.x1-r,f=t.y1-r;h=r-1){var u=s[t];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[t],f=n/2+h,p=t+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;e(t,p,g,i,a,v,l),e(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;e(t,p,g,i,a,o,x),e(p,r,y,i,x,o,l)}}(0,l,e.value,t,r,n,i)},e.treemapDice=P,e.treemapResquarify=Z,e.treemapSlice=q,e.treemapSliceDice=function(e,t,r,n,i){(1&e.depth?q:P)(e,t,r,n,i)},e.treemapSquarify=W,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),dh=m({"src/traces/sunburst/calc.js"(e){var t=ph(),r=M(),n=ct(),i=Yt().makeColorScaleFuncFromTrace,a=eh().makePullColorFn,o=eh().generateExtendedColors,s=Yt().calc,l=S().ALMOST_EQUAL,c={},u={},h={};function f(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o=0};v?(c=Math.min(y.length,_.length),u=function(e){return M(y[e])&&S(e)},h=function(e){return String(y[e])}):(c=Math.min(x.length,_.length),u=function(e){return M(x[e])&&S(e)},h=function(e){return String(x[e])}),w&&(c=Math.min(c,b.length));for(var E=0;E1){for(var P=n.randstr(),z=0;z>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?Ah(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?Ah(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Yh.exec(e))?new Eh(t[1],t[2],t[3],1):(t=Xh.exec(e))?new Eh(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=$h.exec(e))?Ah(t[1],t[2],t[3],t[4]):(t=Kh.exec(e))?Ah(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Jh.exec(e))?Oh(t[1],t[2]/100,t[3]/100,1):(t=Qh.exec(e))?Oh(t[1],t[2]/100,t[3]/100,t[4]):ef.hasOwnProperty(e)?kh(ef[e]):"transparent"===e?new Eh(NaN,NaN,NaN,0):null}function kh(e){return new Eh(e>>16&255,e>>8&255,255&e,1)}function Ah(e,t,r,n){return n<=0&&(e=t=r=NaN),new Eh(e,t,r,n)}function Mh(e){return e instanceof vh||(e=Th(e)),e?new Eh((e=e.rgb()).r,e.g,e.b,e.opacity):new Eh}function Sh(e,t,r,n){return 1===arguments.length?Mh(e):new Eh(e,t,r,n??1)}function Eh(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function Ch(){return`#${Dh(this.r)}${Dh(this.g)}${Dh(this.b)}`}function Ih(){return`#${Dh(this.r)}${Dh(this.g)}${Dh(this.b)}${Dh(255*(isNaN(this.opacity)?1:this.opacity))}`}function Lh(){let e=Ph(this.opacity);return`${1===e?"rgb(":"rgba("}${zh(this.r)}, ${zh(this.g)}, ${zh(this.b)}${1===e?")":`, ${e})`}`}function Ph(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zh(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dh(e){return((e=zh(e))<16?"0":"")+e.toString(16)}function Oh(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Bh(e,t,r,n)}function Rh(e){if(e instanceof Bh)return new Bh(e.h,e.s,e.l,e.opacity);if(e instanceof vh||(e=Th(e)),!e)return new Bh;if(e instanceof Bh)return e;var t=(e=e.rgb()).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?(o=t===a?(r-n)/s+6*(r0&&l<1?0:o,new Bh(o,s,l,e.opacity)}function Fh(e,t,r,n){return 1===arguments.length?Rh(e):new Bh(e,t,r,n??1)}function Bh(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function jh(e){return(e=(e||0)%360)<0?e+360:e}function Nh(e){return Math.max(0,Math.min(1,e||0))}function Uh(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}var Vh,qh,Hh,Gh,Wh,Zh,Yh,Xh,$h,Kh,Jh,Qh,ef,tf,rf,nf=d({"node_modules/d3-color/src/color.js"(){yh(),qh=1/(Vh=.7),Hh="\\s*([+-]?\\d+)\\s*",Gh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Zh=/^#([0-9a-f]{3,8})$/,Yh=new RegExp(`^rgb\\(${Hh},${Hh},${Hh}\\)$`),Xh=new RegExp(`^rgb\\(${Wh},${Wh},${Wh}\\)$`),$h=new RegExp(`^rgba\\(${Hh},${Hh},${Hh},${Gh}\\)$`),Kh=new RegExp(`^rgba\\(${Wh},${Wh},${Wh},${Gh}\\)$`),Jh=new RegExp(`^hsl\\(${Gh},${Wh},${Wh}\\)$`),Qh=new RegExp(`^hsla\\(${Gh},${Wh},${Wh},${Gh}\\)$`),ef={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},mh(vh,Th,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:xh,formatHex:xh,formatHex8:_h,formatHsl:bh,formatRgb:wh,toString:wh}),mh(Eh,Sh,gh(vh,{brighter(e){return e=null==e?qh:Math.pow(qh,e),new Eh(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Vh:Math.pow(Vh,e),new Eh(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Eh(zh(this.r),zh(this.g),zh(this.b),Ph(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:Ch,formatHex:Ch,formatHex8:Ih,formatRgb:Lh,toString:Lh})),mh(Bh,Fh,gh(vh,{brighter(e){return e=null==e?qh:Math.pow(qh,e),new Bh(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Vh:Math.pow(Vh,e),new Bh(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),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 Eh(Uh(e>=240?e-240:e+120,i,n),Uh(e,i,n),Uh(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Bh(jh(this.h),Nh(this.s),Nh(this.l),Ph(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=Ph(this.opacity);return`${1===e?"hsl(":"hsla("}${jh(this.h)}, ${100*Nh(this.s)}%, ${100*Nh(this.l)}%${1===e?")":`, ${e})`}`}}))}}),af=d({"node_modules/d3-color/src/math.js"(){tf=Math.PI/180,rf=180/Math.PI}});function of(e){if(e instanceof lf)return new lf(e.l,e.a,e.b,e.opacity);if(e instanceof df)return mf(e);e instanceof Eh||(e=Mh(e));var t,r,n=ff(e.r),i=ff(e.g),a=ff(e.b),o=cf((.2225045*n+.7168786*i+.0606169*a)/yf);return n===i&&i===a?t=r=o:(t=cf((.4360747*n+.3850649*i+.1430804*a)/gf),r=cf((.0139322*n+.0971045*i+.7141733*a)/vf)),new lf(116*o-16,500*(t-o),200*(o-r),e.opacity)}function sf(e,t,r,n){return 1===arguments.length?of(e):new lf(e,t,r,n??1)}function lf(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function cf(e){return e>wf?Math.pow(e,.3333333333333333):e/bf+xf}function uf(e){return e>_f?e*e*e:bf*(e-xf)}function hf(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,.4166666666666667)-.055)}function ff(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function pf(e,t,r,n){return 1===arguments.length?function(e){if(e instanceof df)return new df(e.h,e.c,e.l,e.opacity);if(e instanceof lf||(e=of(e)),0===e.a&&0===e.b)return new df(NaN,0=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()=>e}});function Vf(e,t){return function(r){return e+r*t}}function qf(e,t){var r=t-e;return r?Vf(e,r>180||r<-180?r-360*Math.round(r/360):r):jf(isNaN(e)?t:e)}function Hf(e,t){var r=t-e;return r?Vf(e,r):jf(isNaN(e)?t:e)}var Gf=d({"node_modules/d3-interpolate/src/color.js"(){Uf()}});function Wf(e){return function(t){var r,n,i=t.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;ra&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:ap(r,n)})),a=hp.lastIndex;return a180?t+=360:t-e>180&&(e+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:ap(e,t)})):t&&r.push(i(r)+"rotate("+t+n)}(a.rotate,o.rotate,s,l),function(e,t,r,a){e!==t?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:ap(e,t)}):t&&r.push(i(r)+"skewX("+t+n)}(a.skewX,o.skewX,s,l),function(e,t,r,n,a,o){if(e!==r||t!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:ap(e,r)},{i:s-2,x:ap(t,n)})}else(1!==r||1!==n)&&a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(e){for(var t,r=-1,n=l.length;++rpp,interpolateArray:()=>ep,interpolateBasis:()=>Rf,interpolateBasisClosed:()=>Bf,interpolateCubehelix:()=>Zp,interpolateCubehelixLong:()=>Yp,interpolateDate:()=>np,interpolateDiscrete:()=>mp,interpolateHcl:()=>qp,interpolateHclLong:()=>Hp,interpolateHsl:()=>Fp,interpolateHslLong:()=>Bp,interpolateHue:()=>yp,interpolateLab:()=>Np,interpolateNumber:()=>ap,interpolateNumberArray:()=>Kf,interpolateObject:()=>sp,interpolateRgb:()=>Zf,interpolateRgbBasis:()=>Yf,interpolateRgbBasisClosed:()=>Xf,interpolateRound:()=>xp,interpolateString:()=>cp,interpolateTransformCss:()=>Ip,interpolateTransformSvg:()=>Lp,interpolateZoom:()=>Dp,piecewise:()=>$p,quantize:()=>Jp});var td=d({"node_modules/d3-interpolate/src/index.js"(){dp(),rp(),Ff(),Nf(),ip(),gp(),vp(),op(),Qf(),lp(),_p(),fp(),Pp(),Op(),$f(),jp(),Up(),Gp(),Xp(),Kp(),Qp()}}),rd=m({"src/traces/sunburst/fill_one.js"(e,t){var r=er(),n=W();t.exports=function(e,t,i,a,o){var s=t.data.data,l=s.i,c=o||s.color;if(l>=0){t.i=s.i;var u=i.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=c,t.color=c):(u.color=c,t.color=c),r.pointStyle(e,i,a,t)}else n.fill(e,c)}}}),nd=m({"src/traces/sunburst/style.js"(e,t){var r=b(),n=W(),i=ct(),a=Qa().resizeText,o=rd();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");a(e,t,"sunburst"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),id=m({"src/traces/sunburst/helpers.js"(e){var t=ct(),r=W(),n=dr(),i=wr();function a(e){return e.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,a(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=i.formatPieValue,e.formatPercent=function(e,r){var n=t.formatPercent(e,0);return"0%"===n&&(n=i.formatPiePercent(e,r)),n}}}),ad=m({"src/traces/sunburst/fx.js"(e,t){var r=b(),n=He(),i=Kt().appendArrayPointValue,a=Or(),o=ct(),s=dt(),l=id(),c=wr().formatPieValue;function u(e,t,r){for(var n=e.data.data,a={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},o=0;o"),name:A||z("name")?v.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:I,eventData:h};g&&(F.x0=E-n.rInscribed*n.rpx1,F.x1=E+n.rInscribed*n.rpx1,F.idealAlign=n.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];a.loneHover(F,{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:i,inOut_bbox:B}),h[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var j=e.select("path.surface");f.styleOne(j,n,v,i,{hovered:!0})}d._hasHoverEvent=!0,i.emit("plotly_hover",{points:h||[u(n,v,f.eventDataKeys)],event:r.event})}})),e.on("mouseout",(function(t){var n=i._fullLayout,o=i._fullData[d.index],s=r.select(this).datum();if(d._hasHoverEvent&&(t.originalEvent=r.event,i.emit("plotly_unhover",{points:[u(s,o,f.eventDataKeys)],event:r.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(a.loneUnhover(n._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=e.select("path.surface");f.styleOne(l,s,o,i,{hovered:!1})}})),e.on("click",(function(e){var t=i._fullLayout,o=i._fullData[d.index],c=g&&(l.isHierarchyRoot(e)||l.isLeaf(e)),h=l.getPtId(e),p=l.isEntry(e)?l.findEntryWithChild(m,h):l.findEntryWithLevel(m,h),y=l.getPtId(p),v={points:[u(e,o,f.eventDataKeys)],event:r.event};c||(v.nextLevel=y);var x=s.triggerHandler(i,"plotly_"+d.type+"click",v);if(!1!==x&&t.hovermode&&(i._hoverdata=[u(e,o,f.eventDataKeys)],a.click(i,r.event)),!c&&!1!==x&&!i._dragging&&!i._transitioning){n.call("_storeDirectGUIEdit",o,t._tracePreGUI[o.uid],{level:o.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};a.loneUnhover(t._hoverlayer.node()),n.call("animate",i,_,b)}}))}}}),od=m({"src/traces/sunburst/plot.js"(e){var t=b(),r=ph(),n=(td(),v(ed)).interpolate,i=er(),a=ct(),o=Et(),s=Qa(),l=s.recordMinTextSize,c=s.clearMinTextSize,u=rh(),h=wr().getRotationAngle,f=u.computeTransform,p=u.transformInsideText,d=nd().styleOne,m=to().resizeText,g=ad(),y=lh(),x=id();function _(s,c,u,m){var v=s._context.staticPlot,_=s._fullLayout,b=!_.uniformtext.mode&&x.hasTransition(m),T=t.select(u).selectAll("g.slice"),k=c[0],A=k.trace,M=k.hierarchy,S=x.findEntryWithLevel(M,A.level),E=x.getMaxDepth(A),C=_._size,I=A.domain,L=C.w*(I.x[1]-I.x[0]),P=C.h*(I.y[1]-I.y[0]),z=.5*Math.min(L,P),D=k.cx=C.l+C.w*(I.x[1]+I.x[0])/2,O=k.cy=C.t+C.h*(1-I.y[0])-P/2;if(!S)return T.remove();var R=null,F={};b&&T.each((function(e){F[x.getPtId(e)]={rpx0:e.rpx0,rpx1:e.rpx1,x0:e.x0,x1:e.x1,transform:e.transform},!R&&x.isEntry(e)&&(R=e)}));var B=function(e){return r.partition().size([2*Math.PI,e.height+1])(e)}(S).descendants(),j=S.height+1,N=0,U=E;k.hasMultipleRoots&&x.isHierarchyRoot(S)&&(B=B.slice(1),j-=1,N=1,U+=1),B=B.filter((function(e){return e.y1<=U}));var V=h(A.rotation);V&&B.forEach((function(e){e.x0+=V,e.x1+=V}));var q=Math.min(j,E),H=function(e){return(e-N)/q*z},G=function(e,t){return[e*Math.cos(t),-e*Math.sin(t)]},W=function(e){return a.pathAnnulus(e.rpx0,e.rpx1,e.x0,e.x1,D,O)},Z=function(e){return D+w(e)[0]*(e.transform.rCenter||0)+(e.transform.x||0)},Y=function(e){return O+w(e)[1]*(e.transform.rCenter||0)+(e.transform.y||0)};(T=T.data(B,x.getPtId)).enter().append("g").classed("slice",!0),b?T.exit().transition().each((function(){var e=t.select(this);e.select("path.surface").transition().attrTween("d",(function(e){var t=function(e){var t,r=x.getPtId(e),i=F[r],a=F[x.getPtId(S)];if(a){var o=(e.x1>a.x1?2*Math.PI:0)+V;t=e.rpx1X?2*Math.PI:0)+V;t={x0:o,x1:o}}else t={rpx0:z,rpx1:z},a.extendFlat(t,J(e));else t={rpx0:0,rpx1:0};else t={x0:V,x1:V};return n(t,i)}(e);return function(e){return W(t(e))}})):h.attr("d",W),u.call(g,S,s,c,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(x.setSliceCursor,s,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:s._transitioning}),h.call(d,r,A,s);var m=a.ensureSingle(u,"g","slicetext"),w=a.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),T=a.ensureUniformFontSize(s,x.determineTextFont(A,r,_.font));w.text(e.formatSliceLabel(r,S,A,c,_)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,T).call(o.convertToTspans,s);var M=i.bBox(w.node());r.transform=p(M,r,k),r.transform.targetX=Z(r),r.transform.targetY=Y(r);var E=function(e,t){var r=e.transform;return f(r,t),r.fontSize=T.size,l(A.type,r,_),a.getTextTransform(r)};b?w.transition().attrTween("transform",(function(e){var t=function(e){var t,r=F[x.getPtId(e)],i=e.transform;if(r)t=r;else if(t={rpx1:e.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},R)if(e.parent)if(X){var o=e.x1>X?2*Math.PI:0;t.x0=t.x1=o}else a.extendFlat(t,J(e));else t.x0=t.x1=V;else t.x0=t.x1=V;var s=n(t.transform.textPosAngle,e.transform.textPosAngle),c=n(t.rpx1,e.rpx1),u=n(t.x0,e.x0),h=n(t.x1,e.x1),f=n(t.transform.scale,i.scale),p=n(t.transform.rotate,i.rotate),d=0===i.rCenter?3:0===t.transform.rCenter?1/3:1,m=n(t.transform.rCenter,i.rCenter);return function(e){var t=c(e),r=u(e),n=h(e),a=function(e){return m(Math.pow(e,d))}(e),o={pxmid:G(t,(r+n)/2),rpx1:t,transform:{textPosAngle:s(e),rCenter:a,x:i.x,y:i.y}};return l(A.type,i,_),{transform:{targetX:Z(o),targetY:Y(o),scale:f(e),rotate:p(e),rCenter:a}}}}(e);return function(e){return E(t(e),M)}})):w.attr("transform",E(r,M))}))}function w(e){return function(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}(e.rpx1,e.transform.textPosAngle)}e.plot=function(e,r,n,i){var a,o,s=e._fullLayout,l=s._sunburstlayer,u=!n,h=!s.uniformtext.mode&&x.hasTransition(n);c("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(r,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),h?(i&&(o=i()),t.transition().duration(n.duration).ease(n.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(t){_(e,t,this,n)}))}))):(a.each((function(t){_(e,t,this,n)})),s.uniformtext.mode&&m(e,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(e,t,r,n,i){var o=r.texttemplate,s=r.textinfo;if(!(o||s&&"none"!==s))return"";var l=i.separators,c=n[0],u=e.data.data,h=c.hierarchy,f=x.isHierarchyRoot(e),p=x.getParent(h,e),d=x.getValue(e);if(!o){var m,g=s.split("+"),y=function(e){return-1!==g.indexOf(e)},v=[];if(y("label")&&u.label&&v.push(u.label),u.hasOwnProperty("v")&&y("value")&&v.push(x.formatValue(u.v,l)),!f){y("current path")&&v.push(x.getPath(e.data));var _=0;y("percent parent")&&_++,y("percent entry")&&_++,y("percent root")&&_++;var b=_>1;if(_){var w,T=function(e){m=x.formatPercent(w,l),b&&(m+=" of "+e),v.push(m)};y("percent parent")&&!f&&(w=d/x.getValue(p),T("parent")),y("percent entry")&&(w=d/x.getValue(t),T("entry")),y("percent root")&&(w=d/x.getValue(h),T("root"))}}return y("text")&&(m=a.castOption(r,u.i,"text"),a.isValidTextValue(m)&&v.push(m)),v.join("
")}var k=a.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=x.formatValue(u.v,l)),A.currentPath=x.getPath(e.data),f||(A.percentParent=d/x.getValue(p),A.percentParentLabel=x.formatPercent(A.percentParent,l),A.parent=x.getPtLabel(p)),A.percentEntry=d/x.getValue(t),A.percentEntryLabel=x.formatPercent(A.percentEntry,l),A.entry=x.getPtLabel(t),A.percentRoot=d/x.getValue(h),A.percentRootLabel=x.formatPercent(A.percentRoot,l),A.root=x.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=a.castOption(r,u.i,"text");return(a.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=a.castOption(r,u.i,"customdata"),a.texttemplateString({data:[A,r._meta],fallback:r.texttemplatefallback,labels:A,locale:i._d3locale,template:k})}}}),sd=m({"src/traces/sunburst/index.js"(e,t){t.exports={moduleType:"trace",name:"sunburst",basePlotModule:sh(),categories:[],animatable:!0,attributes:ch(),layoutAttributes:uh(),supplyDefaults:hh(),supplyLayoutDefaults:fh(),calc:dh().calc,crossTraceCalc:dh().crossTraceCalc,plot:od().plot,style:nd().style,colorbar:mi(),meta:{}}}}),ld=m({"lib/sunburst.js"(e,t){t.exports=sd()}}),cd=m({"src/traces/treemap/base_plot.js"(e){var t=At();e.name="treemap",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),ud=m({"src/traces/treemap/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),hd=m({"src/traces/treemap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=zt(),o=Ma().attributes,s=$u(),l=ch(),c=ud(),u=B().extendFlat,h=Oe().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.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:u({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:l.marker.colors,pattern:h,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},a("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:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:c.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.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:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}}}),fd=m({"src/traces/treemap/layout_attributes.js"(e,t){t.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),pd=m({"src/traces/treemap/defaults.js"(e,t){var r=ct(),n=hd(),i=W(),a=Ma().defaults,o=Xa().handleText,s=ci().TEXTPAD,l=Ku().handleMarkerDefaults,c=Yt(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==t.textposition.indexOf("bottom");l(e,t,f,p),(t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis)?h(e,t,f,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(t.marker.colors||[]).length);var _=2*t.textfont.size;p("marker.pad.t",x?_/4:_),p("marker.pad.l",_/4),p("marker.pad.r",_/4),p("marker.pad.b",x?_:_/4),p("marker.cornerradius"),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}else t.visible=!1}}}),dd=m({"src/traces/treemap/layout_defaults.js"(e,t){var r=ct(),n=fd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("treemapcolorway",t.colorway),i("extendtreemapcolors")}}}),md=m({"src/traces/treemap/calc.js"(e){var t=dh();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("treemap",e)}}}),gd=m({"src/traces/treemap/flip_tree.js"(e,t){t.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;o0)for(var b=0;b").join(" ")||"";var m=n.ensureSingle(p,"g","slicetext"),k=n.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),I=n.ensureUniformFontSize(e,c.determineTextFont(L,o,C.font,{onPathbar:!0}));k.text(o._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,I).call(a.convertToTspans,e),o.textBB=i.bBox(k.node()),o.transform=b(o,{fontSize:I.size,onPathbar:!0}),o.transform.fontSize=I.size,T?k.transition().attrTween("transform",(function(e){var t=M(e,h,S,[g,y]);return function(e){return w(t(e))}})):k.attr("transform",w(o))}))}}}),_d=m({"src/traces/treemap/plot_one.js"(e,t){var r=b(),n=(td(),v(ed)).interpolate,i=id(),a=ct(),o=ci().TEXTPAD,s=ro().toMoveInsideBar,l=Qa().recordMinTextSize,c=ud(),u=xd();function h(e){return i.isHierarchyRoot(e)?"":i.getPtId(e)}t.exports=function(e,t,f,p,d){var m=e._fullLayout,g=t[0],y=g.trace,v="icicle"===y.type,x=g.hierarchy,_=i.findEntryWithLevel(x,y.level),b=r.select(f),w=b.selectAll("g.pathbar"),T=b.selectAll("g.slice");if(!_)return w.remove(),void T.remove();var k=i.isHierarchyRoot(_),A=!m.uniformtext.mode&&i.hasTransition(p),M=i.getMaxDepth(y),S=m._size,E=y.domain,C=S.w*(E.x[1]-E.x[0]),I=S.h*(E.y[1]-E.y[0]),L=C,P=y.pathbar.thickness,z=y.marker.line.width+c.gapWithPathbar,D=y.pathbar.visible?y.pathbar.side.indexOf("bottom")>-1?I+z:-(P+z):0,O={x0:L,x1:L,y0:D,y1:D+P},R=function(e,t,r){var n=y.tiling.pad,i=function(e){return e-n<=t.x0},a=function(e){return e+n>=t.x1},o=function(e){return e-n<=t.y0},s=function(e){return e+n>=t.y1};return e.x0===t.x0&&e.x1===t.x1&&e.y0===t.y0&&e.y1===t.y1?{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1}:{x0:i(e.x0-n)?0:a(e.x0-n)?r[0]:e.x0,x1:i(e.x1+n)?0:a(e.x1+n)?r[0]:e.x1,y0:o(e.y0-n)?0:s(e.y0-n)?r[1]:e.y0,y1:o(e.y1+n)?0:s(e.y1+n)?r[1]:e.y1}},F=null,B={},j={},N=null,U=function(e,t){return t?B[h(e)]:j[h(e)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=_.data.depth,y._atRootLevel=k;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-I/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(e){return V+e},G=function(e){return q+e},W=G(0),Z=H(0),Y=function(e){return Z+e},X=function(e){return W+e};function $(e,t){return e+","+t}var K=Y(0),J=function(e){e.x=Math.max(K,e.x)},Q=y.pathbar.edgeshape,ee=y[v?"tiling":"marker"].pad,te=function(e){return-1!==y.textposition.indexOf(e)},re=te("top"),ne=te("left"),ie=te("right"),ae=te("bottom"),oe=function(e,t){var r=e.x0,n=e.x1,i=e.y0,a=e.y1,c=e.textBB,u=re||t.isHeader&&!ae?"start":ae?"end":"middle",h=te("right"),f=te("left")||t.onPathbar?-1:h?1:0;if(t.isHeader){if((r+=(v?ee:ee.l)-o)>=(n-=(v?ee:ee.r)-o)){var p=(r+n)/2;r=p,n=p}var d;ae?i<(d=a-(v?ee:ee.b))&&d"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),J(l),J(h),J(o),J(c),J(u),J(s),"M"+$(l.x,l.y)+"L"+$(c.x,c.y)+"L"+$(s.x,s.y)+"L"+$(u.x,u.y)+"L"+$(h.x,h.y)+"L"+$(o.x,o.y)+"Z"},toMoveInsideSlice:oe,makeUpdateSliceInterpolator:le,makeUpdateTextInterpolator:ce,handleSlicesExit:ue,hasTransition:A,strTransform:he}):w.remove()}}}),bd=m({"src/traces/treemap/draw.js"(e,t){var r=b(),n=id(),i=Qa().clearMinTextSize,a=to().resizeText,o=_d();t.exports=function(e,t,s,l,c){var u,h,f=c.type,p=c.drawDescendants,d=e._fullLayout,m=d["_"+f+"layer"],g=!s;i(f,d),(u=m.selectAll("g.trace."+f).data(t,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&n.hasTransition(s)?(l&&(h=l()),r.transition().duration(s.duration).ease(s.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){m.selectAll("g.trace").each((function(t){o(e,t,this,s,p)}))}))):(u.each((function(t){o(e,t,this,s,p)})),d.uniformtext.mode&&a(e,m.selectAll(".trace"),f)),g&&u.exit().remove()}}}),wd=m({"src/traces/treemap/draw_descendants.js"(e,t){var r=b(),n=ct(),i=er(),a=Et(),o=yd(),s=vd().styleOne,l=ud(),c=id(),u=ad(),h=od().formatSliceLabel,f=!1;t.exports=function(e,t,p,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,I=t[0].trace,L=-1!==I.textposition.indexOf("left"),P=-1!==I.textposition.indexOf("right"),z=-1!==I.textposition.indexOf("bottom"),D=!z&&!I.marker.pad.t||z&&!I.marker.pad.b,O=o(p,[g,y],{packing:I.tiling.packing,squarifyratio:I.tiling.squarifyratio,flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1,pad:{inner:I.tiling.pad,top:I.marker.pad.t,left:I.marker.pad.l,right:I.marker.pad.r,bottom:I.marker.pad.b}}).descendants(),R=1/0,F=-1/0;O.forEach((function(e){var t=e.depth;t>=I._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(R=Math.min(R,t),F=Math.max(F,t))})),d=d.data(O,c.getPtId),I._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,f,{},[g,y],_),d.order();var B=null;if(T&&S){var j=c.getPtId(S);d.each((function(e){null===B&&c.getPtId(e)===j&&(B={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var N=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(o){var d=c.isHeader(o,I);o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-I.marker.pad.r),o._hoverY=x(z?o.y1-I.marker.pad.b/2:o.y0+I.marker.pad.t/2);var m=r.select(this),k=n.ensureSingle(m,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(e){var t=A(e,f,N(),[g,y]);return function(e){return _(t(e))}})):k.attr("d",_),m.call(u,p,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),k.call(s,o,I,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=d?D?"":c.getPtLabel(o)||"":h(o,p,I,t,C)||"";var S=n.ensureSingle(m,"g","slicetext"),O=n.ensureSingle(S,"text","",(function(e){e.attr("data-notex",1)})),R=n.ensureUniformFontSize(e,c.determineTextFont(I,o,C.font)),F=o._text||" ",B=d&&-1===F.indexOf("
");O.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":L||B?"start":"middle").call(i.font,R).call(a.convertToTspans,e),o.textBB=i.bBox(O.node()),o.transform=b(o,{fontSize:R.size,isHeader:d}),o.transform.fontSize=R.size,T?O.transition().attrTween("transform",(function(e){var t=M(e,f,N(),[g,y]);return function(e){return w(t(e))}})):O.attr("transform",w(o))})),B}}}),Td=m({"src/traces/treemap/plot.js"(e,t){var r=bd(),n=wd();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"treemap",drawDescendants:n})}}}),kd=m({"src/traces/treemap/index.js"(e,t){t.exports={moduleType:"trace",name:"treemap",basePlotModule:cd(),categories:[],animatable:!0,attributes:hd(),layoutAttributes:fd(),supplyDefaults:pd(),supplyLayoutDefaults:dd(),calc:md().calc,crossTraceCalc:md().crossTraceCalc,plot:Td(),style:vd().style,colorbar:mi(),meta:{}}}}),Ad=m({"lib/treemap.js"(e,t){t.exports=kd()}}),Md=m({"src/traces/icicle/base_plot.js"(e){var t=At();e.name="icicle",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Sd=m({"src/traces/icicle/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=zt(),o=Ma().attributes,s=$u(),l=ch(),c=hd(),u=ud(),h=B().extendFlat,f=Oe().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:c.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:h({colors:l.marker.colors,line:l.marker.line,pattern:f,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),leaf:l.leaf,pathbar:c.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:u.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c.outsidetextfont,textposition:c.textposition,sort:s.sort,root:l.root,domain:o({name:"icicle",trace:!0,editType:"calc"})}}}),Ed=m({"src/traces/icicle/layout_attributes.js"(e,t){t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Cd=m({"src/traces/icicle/defaults.js"(e,t){var r=ct(),n=Sd(),i=W(),a=Ma().defaults,o=Xa().handleText,s=ci().TEXTPAD,l=Ku().handleMarkerDefaults,c=Yt(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),p("tiling.orientation"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition"),l(e,t,f,p);var x=t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis;x&&h(e,t,f,p,{prefix:"marker.",cLetter:"c"}),p("leaf.opacity",x?1:.7),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}else t.visible=!1}}}),Id=m({"src/traces/icicle/layout_defaults.js"(e,t){var r=ct(),n=Ed();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("iciclecolorway",t.colorway),i("extendiciclecolors")}}}),Ld=m({"src/traces/icicle/calc.js"(e){var t=dh();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("icicle",e)}}}),Pd=m({"src/traces/icicle/partition.js"(e,t){var r=ph(),n=gd();t.exports=function(e,t,i){var a=i.flipX,o=i.flipY,s="h"===i.orientation,l=i.maxDepth,c=t[0],u=t[1];l&&(c=(e.height+1)*t[0]/Math.min(e.height+1,l),u=(e.height+1)*t[1]/Math.min(e.height+1,l));var h=r.partition().padding(i.pad.inner).size(s?[t[1],c]:[t[0],u])(e);return(s||a||o)&&n(h,t,{swapXY:s,flipX:a,flipY:o}),h}}}),zd=m({"src/traces/icicle/style.js"(e,t){var r=b(),n=W(),i=ct(),a=Qa().resizeText,o=rd();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");a(e,t,"icicle"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),Dd=m({"src/traces/icicle/draw_descendants.js"(e,t){var r=b(),n=ct(),i=er(),a=Et(),o=Pd(),s=zd().styleOne,l=ud(),c=id(),u=ad(),h=od().formatSliceLabel,f=!1;t.exports=function(e,t,p,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,I=t[0].trace,L=-1!==I.textposition.indexOf("left"),P=-1!==I.textposition.indexOf("right"),z=-1!==I.textposition.indexOf("bottom"),D=o(p,[g,y],{flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1,orientation:I.tiling.orientation,pad:{inner:I.tiling.pad},maxDepth:I._maxDepth}).descendants(),O=1/0,R=-1/0;D.forEach((function(e){var t=e.depth;t>=I._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(O=Math.min(O,t),R=Math.max(R,t))})),d=d.data(D,c.getPtId),I._maxVisibleLayers=isFinite(R)?R-O+1:0,d.enter().append("g").classed("slice",!0),k(d,f,{},[g,y],_),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(e){null===F&&c.getPtId(e)===B&&(F={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var j=function(){return F||{x0:0,x1:g,y0:0,y1:y}},N=d;return T&&(N=N.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(o){o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-I.tiling.pad),o._hoverY=x(z?o.y1-I.tiling.pad/2:o.y0+I.tiling.pad/2);var d=r.select(this),m=n.ensureSingle(d,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));T?m.transition().attrTween("d",(function(e){var t=A(e,f,j(),[g,y],{orientation:I.tiling.orientation,flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1});return function(e){return _(t(e))}})):m.attr("d",_),d.call(u,p,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),m.call(s,o,I,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=h(o,p,I,t,C)||"";var k=n.ensureSingle(d,"g","slicetext"),S=n.ensureSingle(k,"text","",(function(e){e.attr("data-notex",1)})),D=n.ensureUniformFontSize(e,c.determineTextFont(I,o,C.font));S.text(o._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":L?"start":"middle").call(i.font,D).call(a.convertToTspans,e),o.textBB=i.bBox(S.node()),o.transform=b(o,{fontSize:D.size}),o.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(e){var t=M(e,f,j(),[g,y]);return function(e){return w(t(e))}})):S.attr("transform",w(o))})),F}}}),Od=m({"src/traces/icicle/plot.js"(e,t){var r=bd(),n=Dd();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"icicle",drawDescendants:n})}}}),Rd=m({"src/traces/icicle/index.js"(e,t){t.exports={moduleType:"trace",name:"icicle",basePlotModule:Md(),categories:[],animatable:!0,attributes:Sd(),layoutAttributes:Ed(),supplyDefaults:Cd(),supplyLayoutDefaults:Id(),calc:Ld().calc,crossTraceCalc:Ld().crossTraceCalc,plot:Od(),style:zd().style,colorbar:mi(),meta:{}}}}),Fd=m({"lib/icicle.js"(e,t){t.exports=Rd()}}),Bd=m({"src/traces/funnelarea/base_plot.js"(e){var t=At();e.name="funnelarea",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),jd=m({"src/traces/funnelarea/attributes.js"(e,t){var r=$u(),n=q(),i=Ma().attributes,{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=B().extendFlat;t.exports={labels:r.labels,label0:r.label0,dlabel:r.dlabel,values:r.values,marker:{colors:r.marker.colors,line:{color:l({},r.marker.line.color,{dflt:null}),width:l({},r.marker.line.width,{dflt:1}),editType:"calc"},pattern:r.marker.pattern,editType:"calc"},text:r.text,hovertext:r.hovertext,scalegroup:l({},r.scalegroup,{}),textinfo:l({},r.textinfo,{flags:["label","text","value","percent"]}),texttemplate:o({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:s({editType:"plot"}),hoverinfo:l({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:a({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:s(),textposition:l({},r.textposition,{values:["inside","none"],dflt:"inside"}),textfont:r.textfont,insidetextfont:r.insidetextfont,title:{text:r.title.text,font:r.title.font,position:l({},r.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({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"}}}}),Nd=m({"src/traces/funnelarea/layout_attributes.js"(e,t){var r=Ju().hiddenlabels;t.exports={hiddenlabels:r,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Ud=m({"src/traces/funnelarea/defaults.js"(e,t){var r=ct(),n=jd(),i=Ma().defaults,a=Xa().handleText,o=Ku().handleLabelsAndValues,s=Ku().handleMarkerDefaults;t.exports=function(e,t,l,c){function u(i,a){return r.coerce(e,t,n,i,a)}var h=u("labels"),f=u("values"),p=o(h,f),d=p.len;if(t._hasLabels=p.hasLabels,t._hasValues=p.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),d){t._length=d,s(e,t,c,u),u("scalegroup");var m,g=u("text"),y=u("texttemplate");if(u("texttemplatefallback"),y||(m=u("textinfo",Array.isArray(g)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),y||m&&"none"!==m){var v=u("textposition");a(e,t,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===m&&u("textposition","none");i(t,c,u),u("title.text")&&(u("title.position"),r.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}else t.visible=!1}}}),Vd=m({"src/traces/funnelarea/layout_defaults.js"(e,t){var r=ct(),n=Nd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("funnelareacolorway",t.colorway),i("extendfunnelareacolors")}}}),qd=m({"src/traces/funnelarea/calc.js"(e,t){var r=eh();t.exports={calc:function(e,t){return r.calc(e,t)},crossTraceCalc:function(e){r.crossTraceCalc(e,{type:"funnelarea"})}}}}),Hd=m({"src/traces/funnelarea/plot.js"(e,t){var r=b(),n=er(),i=ct(),a=i.strScale,o=i.strTranslate,s=Et(),l=ro().toMoveInsideBar,c=Qa(),u=c.recordMinTextSize,h=c.clearMinTextSize,f=wr(),p=rh(),d=p.attachFxHandlers,m=p.determineInsideTextFont,g=p.layoutAreas,y=p.prerenderTitles,v=p.positionTitleOutside,x=p.formatSliceLabel;function _(e,t){return"l"+(t[0]-e[0])+","+(t[1]-e[1])}function w(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}t.exports=function(e,t){var c=e._context.staticPlot,p=e._fullLayout;h("funnelarea",p),y(t,e),g(t,p._size),i.makeTraceGroups(p._funnelarealayer,t,"trace").each((function(t){var h=r.select(this),g=t[0],y=g.trace;(function(e){if(e.length){var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=t.vTotal,u=c,h=c*l/(1-l)/c,f=[];for(f.push(S()),o=e.length-1;o>-1;o--)if(!(s=e[o]).hidden){var p=s.v/u;h+=p,f.push(S())}var d=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=e[o]).hidden){var A=f[k+=1][0],M=f[k][1];s.TL=[-A,M],s.TR=[A,M],s.BL=b,s.BR=T,s.pxmid=w(s.TR,s.BR),b=s.TL,T=s.TR}}function S(){var e=function(){var e=Math.sqrt(h);return{x:e,y:-e}}();return[e.x,e.y]}})(t),h.each((function(){var h=r.select(this).selectAll("g.slice").data(t);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(a,o){if(a.hidden)r.select(this).selectAll("path,g").remove();else{a.pointNumber=a.i,a.curveNumber=y.index;var h=g.cx,v=g.cy,b=r.select(this),w=b.selectAll("path.surface").data([a]);w.enter().append("path").classed("surface",!0).style({"pointer-events":c?"none":"all"}),b.call(d,e,t);var T="M"+(h+a.TR[0])+","+(v+a.TR[1])+_(a.TR,a.BR)+_(a.BR,a.BL)+_(a.BL,a.TL)+"Z";w.attr("d",T),x(e,a,g);var k=f.castOption(y.textposition,a.pts),A=b.selectAll("g.slicetext").data(a.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var c=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),f=i.ensureUniformFontSize(e,m(y,a,p.font));c.text(a.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(n.font,f).call(s.convertToTspans,e);var d,g,x,_=n.bBox(c.node()),b=Math.min(a.BL[1],a.BR[1])+v,w=Math.max(a.TL[1],a.TR[1])+v;g=Math.max(a.TL[0],a.BL[0])+h,x=Math.min(a.TR[0],a.BR[0])+h,(d=l(g,x,b,w,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=f.size,u(y.type,d,p),t[o].transform=d,i.setTransormAndDisplay(c,d)}))}}));var b=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);b.enter().append("g").classed("titletext",!0),b.exit().remove(),b.each((function(){var t=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),l=y.title.text;y._meta&&(l=i.templateString(l,y._meta)),t.text(l).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(n.font,y.title.font).call(s.convertToTspans,e);var c=v(g,p._size);t.attr("transform",o(c.x,c.y)+a(Math.min(1,c.scale))+o(c.tx,c.ty))}))}))}))}}}),Gd=m({"src/traces/funnelarea/style.js"(e,t){var r=b(),n=kr(),i=Qa().resizeText;t.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(".trace");i(e,t,"funnelarea"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),Wd=m({"src/traces/funnelarea/index.js"(e,t){t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:Bd(),categories:["pie-like","funnelarea","showLegend"],attributes:jd(),layoutAttributes:Nd(),supplyDefaults:Ud(),supplyLayoutDefaults:Vd(),calc:qd().calc,crossTraceCalc:qd().crossTraceCalc,plot:Hd(),style:Gd(),styleOne:kr(),meta:{}}}}),Zd=m({"lib/funnelarea.js"(e,t){t.exports=Wd()}}),Yd=m({"stackgl_modules/index.js"(e,t){!function(){var e={1964:function(e,t,r){e.exports={alpha_shape:r(3502),convex_hull:r(7352),delaunay_triangulate:r(7642),gl_cone3d:r(6405),gl_error3d:r(9165),gl_line3d:r(5714),gl_mesh3d:r(7201),gl_plot3d:r(4100),gl_scatter3d:r(8418),gl_streamtube3d:r(7815),gl_surface3d:r(9499),ndarray:r(9618),ndarray_linear_interpolate:r(4317)}},4793:function(e,t,r){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=r(7507),a=r(3778),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=c,t.IS=50;var s=2147483647;function l(e){if(e>s)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,r)}function u(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|g(e,t),n=l(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(V(e,Uint8Array)){var t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+n(e));if(V(e,ArrayBuffer)||e&&V(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(V(e,SharedArrayBuffer)||e&&V(e.buffer,SharedArrayBuffer)))return d(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return c.from(i,t,r);var a=function(e){if(c.isBuffer(e)){var t=0|m(e.length),r=l(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||q(e.length)?l(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(a)return a;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.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 "+n(e))}function h(e){if("number"!=typeof e)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 f(e){return h(e),l(e<0?0:0|m(e))}function p(e){for(var t=e.length<0?0:0|m(e.length),r=l(t),n=0;n=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|e}function g(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||V(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+n(e));var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(e).length;default:if(a)return i?-1:j(e).length;t=(""+t).toLowerCase(),a=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,r);case"utf8":case"utf-8":return S(this,t,r);case"ascii":return C(this,t,r);case"latin1":case"binary":return I(this,t,r);case"base64":return M(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function x(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),q(r=+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)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function M(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function S(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn.length?c.from(a).copy(n,i):Uint8Array.prototype.set.call(n,a,i);else{if(!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(e,t,r,i,a){if(V(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+n(e));if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||r>e.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&t>=r)return 0;if(i>=a)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(a>>>=0)-(i>>>=0),s=(r>>>=0)-(t>>>=0),l=Math.min(o,s),u=this.slice(i,a),h=e.slice(t,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":case"latin1":case"binary":return T(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function C(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,n,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function O(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 R(e,t,r,n,i){return t=+t,r>>>=0,i||O(e,0,r,4),a.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return t=+t,r>>>=0,i||O(e,0,r,8),a.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||z(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||z(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return e>>>=0,t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||z(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||z(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return e>>>=0,t||z(e,4,this.length),a.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||z(e,4,this.length),a.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||z(e,8,this.length),a.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||z(e,8,this.length),a.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o|0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeFloatLE=function(e,t,r){return R(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return R(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}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=65536+(i-55296<<10|r-56320)}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,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function N(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function V(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function q(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},9216:function(e){e.exports=i,e.exports.isMobile=i,e.exports.default=i;var t=/(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,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});var i=e.ua;if(!i&&typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(e,t,r){e.exports=function(e){var t=(e=e||{}).eye||[0,0,1],r=e.center||[0,0,0],s=e.up||[0,1,0],l=e.distanceLimits||[0,1/0],c=e.mode||"turntable",u=n(),h=i(),f=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,t,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,t,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,t,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=r(7261),i=r(9977),a=r(1811);function o(e,t){this._controllerNames=Object.keys(e),this._controllerList=this._controllerNames.map((function(t){return e[t]})),this._mode=t,this._active=e[t],this._active||(this._mode="turntable",this._active=e.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 s=o.prototype;s.flush=function(e){for(var t=this._controllerList,r=0;r"u"?r(1538):WeakMap,i=r(2762),a=r(8116),o=new n;e.exports=function(e){var t=o.get(e),r=t&&(t._triangleBuffer.handle||t._triangleBuffer.buffer);if(!r||!e.isBuffer(r)){var n=i(e,new Float32Array([-1,-1,-1,4,4,-1]));(t=a(e,[{buffer:n,type:e.FLOAT,size:2}]))._triangleBuffer=n,o.set(e,t)}t.bind(),e.drawArrays(e.TRIANGLES,0,3),t.unbind()}},1085:function(e,t,r){var n=r(1371);e.exports=function(e,t,r){t="number"==typeof t?t:1,r=r||": ";var i=e.split(/\r?\n/),a=String(i.length+t-1).length;return i.map((function(e,i){var o=i+t,s=String(o).length;return n(o,a-s)+r+e})).join("\n")}},3952:function(e,t,r){e.exports=function(e){var t=e.length;if(0===t)return[];if(1===t)return[0];for(var r=e[0].length,n=[e[0]],a=[0],o=1;o0?o-4:o;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};for(var r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],a=t;a0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(e,t,r){var n=r(1533);e.exports=function(e){return Array.isArray(e)&&2===e.length&&n(e[0])&&n(e[1])}},5716:function(e,t,r){var n=r(6859);e.exports=function(e){return e.cmp(new n(0))}},1369:function(e,t,r){var n=r(5716);e.exports=function(e){var t=e.length,r=e.words,i=0;if(1===t)i=r[0];else if(2===t)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(e,t,r){r(6859),e.exports=function(e){return e&&"object"==typeof e&&!!e.words}},2651:function(e,t,r){var n=r(6859),i=r(2361);e.exports=function(e){var t=i.exponent(e);return t<52?new n(e):new n(e*Math.pow(2,52-t)).ushln(t-52)}},869:function(e,t,r){var n=r(2651),i=r(5716);e.exports=function(e,t){var r=i(e),a=i(t);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(e=e.neg(),t=t.neg());var o=e.gcd(t);return o.cmpn(1)?[e.div(o),t.div(o)]:[e,t]}},6768:function(e,t,r){var n=r(6859);e.exports=function(e){return new n(e)}},6504:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[0]),e[1].mul(t[1]))}},7721:function(e,t,r){var n=r(5716);e.exports=function(e){return n(e[0])*n(e[1])}},5572:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]).sub(e[1].mul(t[0])),e[1].mul(t[1]))}},946:function(e,t,r){var n=r(1369),i=r(4025);e.exports=function(e){var t=e[0],r=e[1];if(0===t.cmpn(0))return 0;var a=t.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=t.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(f=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):c*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(e){function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},8828:function(e,t){function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.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},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=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|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},6859:function(e,t,r){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:r(7790).Buffer}catch{}function s(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function c(e,t,r,n){for(var i=0,a=Math.min(e.length,r),o=t;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=l(e,t,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(e.length-t)%2==0?t+1:t;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","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"],h=[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],f=[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];function p(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=f;p++){var d=c-p|0;u+=(o=(i=0|e.words[d])*(a=0|t.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,o=0;o>>24-i&16777215,(i+=2)>=26&&(i-=26,o--),r=0!==a||o!==this.length-1?u[6-l.length]+l+r:l+r}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],p=f[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(e);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(typeof o<"u"),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===t,c=new e(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&t;for(;0!==a&&o>26,this.words[o]=67108863&t;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,I=E>>>13,L=0|o[7],P=8191&L,z=L>>>13,D=0|o[8],O=8191&D,R=D>>>13,F=0|o[9],B=8191&F,j=F>>>13,N=0|s[0],U=8191&N,V=N>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,X=0|s[3],$=8191&X,K=X>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],ae=8191&ie,oe=ie>>>13,se=0|s[7],le=8191&se,ce=se>>>13,ue=0|s[8],he=8191&ue,fe=ue>>>13,pe=0|s[9],de=8191&pe,me=pe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var ye=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var ve=(c+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,Z)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,Z)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,Z)|0,a=a+Math.imul(m,Y)|0;var xe=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,Z)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,Z)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,K)|0;var _e=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,Z)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,ee)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,ee)|0;var be=(c+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;c=((a=a+Math.imul(f,ne)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,Z)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,K)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,K)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,n=n+Math.imul(d,re)|0,i=(i=i+Math.imul(d,ne)|0)+Math.imul(m,re)|0,a=a+Math.imul(m,ne)|0;var we=(c+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,oe)|0)+Math.imul(f,ae)|0))<<13)|0;c=((a=a+Math.imul(f,oe)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(M,Z)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,Z)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ne)|0,n=n+Math.imul(d,ae)|0,i=(i=i+Math.imul(d,oe)|0)+Math.imul(m,ae)|0,a=a+Math.imul(m,oe)|0;var Te=(c+(n=n+Math.imul(h,le)|0)|0)+((8191&(i=(i=i+Math.imul(h,ce)|0)+Math.imul(f,le)|0))<<13)|0;c=((a=a+Math.imul(f,ce)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(I,Z)|0,a=a+Math.imul(I,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(b,re)|0,a=a+Math.imul(b,ne)|0,n=n+Math.imul(y,ae)|0,i=(i=i+Math.imul(y,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,n=n+Math.imul(d,le)|0,i=(i=i+Math.imul(d,ce)|0)+Math.imul(m,le)|0,a=a+Math.imul(m,ce)|0;var ke=(c+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;c=((a=a+Math.imul(f,fe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,Z)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(k,re)|0,a=a+Math.imul(k,ne)|0,n=n+Math.imul(_,ae)|0,i=(i=i+Math.imul(_,oe)|0)+Math.imul(b,ae)|0,a=a+Math.imul(b,oe)|0,n=n+Math.imul(y,le)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(v,le)|0,a=a+Math.imul(v,ce)|0,n=n+Math.imul(d,he)|0,i=(i=i+Math.imul(d,fe)|0)+Math.imul(m,he)|0,a=a+Math.imul(m,fe)|0;var Ae=(c+(n=n+Math.imul(h,de)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(f,de)|0))<<13)|0;c=((a=a+Math.imul(f,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,Y)|0)+Math.imul(R,Z)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,K)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ne)|0,n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,n=n+Math.imul(_,le)|0,i=(i=i+Math.imul(_,ce)|0)+Math.imul(b,le)|0,a=a+Math.imul(b,ce)|0,n=n+Math.imul(y,he)|0,i=(i=i+Math.imul(y,fe)|0)+Math.imul(v,he)|0,a=a+Math.imul(v,fe)|0;var Me=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(m,de)|0))<<13)|0;c=((a=a+Math.imul(m,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(B,Z),i=(i=Math.imul(B,Y))+Math.imul(j,Z)|0,a=Math.imul(j,Y),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(M,ae)|0,i=(i=i+Math.imul(M,oe)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,oe)|0,n=n+Math.imul(T,le)|0,i=(i=i+Math.imul(T,ce)|0)+Math.imul(k,le)|0,a=a+Math.imul(k,ce)|0,n=n+Math.imul(_,he)|0,i=(i=i+Math.imul(_,fe)|0)+Math.imul(b,he)|0,a=a+Math.imul(b,fe)|0;var Se=(c+(n=n+Math.imul(y,de)|0)|0)+((8191&(i=(i=i+Math.imul(y,me)|0)+Math.imul(v,de)|0))<<13)|0;c=((a=a+Math.imul(v,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,K))+Math.imul(j,$)|0,a=Math.imul(j,K),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ne)|0,n=n+Math.imul(C,ae)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,oe)|0,n=n+Math.imul(M,le)|0,i=(i=i+Math.imul(M,ce)|0)+Math.imul(S,le)|0,a=a+Math.imul(S,ce)|0,n=n+Math.imul(T,he)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(k,he)|0,a=a+Math.imul(k,fe)|0;var Ee=(c+(n=n+Math.imul(_,de)|0)|0)+((8191&(i=(i=i+Math.imul(_,me)|0)+Math.imul(b,de)|0))<<13)|0;c=((a=a+Math.imul(b,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(R,re)|0,a=a+Math.imul(R,ne)|0,n=n+Math.imul(P,ae)|0,i=(i=i+Math.imul(P,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(I,le)|0,a=a+Math.imul(I,ce)|0,n=n+Math.imul(M,he)|0,i=(i=i+Math.imul(M,fe)|0)+Math.imul(S,he)|0,a=a+Math.imul(S,fe)|0;var Ce=(c+(n=n+Math.imul(T,de)|0)|0)+((8191&(i=(i=i+Math.imul(T,me)|0)+Math.imul(k,de)|0))<<13)|0;c=((a=a+Math.imul(k,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(B,re),i=(i=Math.imul(B,ne))+Math.imul(j,re)|0,a=Math.imul(j,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,oe)|0)+Math.imul(R,ae)|0,a=a+Math.imul(R,oe)|0,n=n+Math.imul(P,le)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(z,le)|0,a=a+Math.imul(z,ce)|0,n=n+Math.imul(C,he)|0,i=(i=i+Math.imul(C,fe)|0)+Math.imul(I,he)|0,a=a+Math.imul(I,fe)|0;var Ie=(c+(n=n+Math.imul(M,de)|0)|0)+((8191&(i=(i=i+Math.imul(M,me)|0)+Math.imul(S,de)|0))<<13)|0;c=((a=a+Math.imul(S,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(B,ae),i=(i=Math.imul(B,oe))+Math.imul(j,ae)|0,a=Math.imul(j,oe),n=n+Math.imul(O,le)|0,i=(i=i+Math.imul(O,ce)|0)+Math.imul(R,le)|0,a=a+Math.imul(R,ce)|0,n=n+Math.imul(P,he)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(z,he)|0,a=a+Math.imul(z,fe)|0;var Le=(c+(n=n+Math.imul(C,de)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(I,de)|0))<<13)|0;c=((a=a+Math.imul(I,me)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(B,le),i=(i=Math.imul(B,ce))+Math.imul(j,le)|0,a=Math.imul(j,ce),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(R,he)|0,a=a+Math.imul(R,fe)|0;var Pe=(c+(n=n+Math.imul(P,de)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(z,de)|0))<<13)|0;c=((a=a+Math.imul(z,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,he),i=(i=Math.imul(B,fe))+Math.imul(j,he)|0,a=Math.imul(j,fe);var ze=(c+(n=n+Math.imul(O,de)|0)|0)+((8191&(i=(i=i+Math.imul(O,me)|0)+Math.imul(R,de)|0))<<13)|0;c=((a=a+Math.imul(R,me)|0)+(i>>>13)|0)+(ze>>>26)|0,ze&=67108863;var De=(c+(n=Math.imul(B,de))|0)+((8191&(i=(i=Math.imul(B,me))+Math.imul(j,de)|0))<<13)|0;return c=((a=Math.imul(j,me))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,l[0]=ge,l[1]=ye,l[2]=ve,l[3]=xe,l[4]=_e,l[5]=be,l[6]=we,l[7]=Te,l[8]=ke,l[9]=Ae,l[10]=Me,l[11]=Se,l[12]=Ee,l[13]=Ce,l[14]=Ie,l[15]=Le,l[16]=Pe,l[17]=ze,l[18]=De,0!==c&&(l[19]=c,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=p),a.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?d(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):m(this,e,t),r},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this.length=0===e?1:this.length,this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==t){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):this.negative&e.negative?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var f=0,p=1;!(t.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;!(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),o.isub(l)):(r.isub(t),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t,r=this,i=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var o=new a(1),s=new a(0),l=i.clone();r.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,u=1;!(r.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;!(i.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(i.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);r.cmp(i)>=0?(r.isub(i),o.isub(s)):(i.isub(r),s.isub(o))}return(t=0===r.cmpn(1)?o:s).cmpn(0)<0&&t.iadd(e),t},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return!(1&this.words[0])},a.prototype.isOdd=function(){return!(1&~this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new T(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}v.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(x,v),x.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,a=o}a>>>=22,e.words[i-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new x;else if("p224"===e)t=new _;else if("p192"===e)t=new b;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return y[e]=t,t},T.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){n(!(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(e,i.addn(1).iushrn(1)),p=this.pow(e,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new k(e)},i(k,T),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},6204:function(e){e.exports=function(e){var t,r,n,i=e.length,a=0;for(t=0;t>>1;if(!(u<=0)){var h,f=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(e,u,f,p))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(t,u,d,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,f,p,0,c,d,m):o(u,r,n,s,f,p,c,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return h}}}function u(e,t){n.push([e,t])}},2455:function(e,t){function r(e){return e?function(e,t,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;fc-l?n?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;f0;){var D=(P-=1)*_,O=w[D],R=w[D+1],F=w[D+2],B=w[D+3],j=w[D+4],N=w[D+5],U=P*b,V=T[U],q=T[U+1],H=1&N,G=!!(16&N),W=u,Z=S,Y=C,X=I;if(H&&(W=C,Z=I,Y=u,X=S),!(2&N&&(F=g(e,O,R,F,W,Z,q),R>=F)||4&N&&(R=y(e,O,R,F,W,Z,V),R>=F))){var $=F-R,K=j-B;if(G){if(e*$*($+K)=p0)&&!(p1>=hi)"),m=u("lo===p0"),g=u("lo>>1,f=2*e,p=h,d=s[f*h+t];c=x?(p=v,d=x):y>=b?(p=g,d=y):(p=_,d=b):x>=b?(p=v,d=x):b>=y?(p=g,d=y):(p=_,d=b);for(var w=f*(u-1),T=f*p,k=0;kr&&i[h+t]>c;--u,h-=o){for(var f=h,p=h+o,d=0;df;++f,l+=s)if(i[l+h]===o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lof;++f,l+=s)if(i[l+h]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lo<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"hi<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lop;++p,l+=s){var d=i[l+h],m=i[l+f];if(dg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"lo<=p0&&p0<=hi":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=t,f=e+t,p=r;n>p;++p,l+=s){var d=i[l+h],m=i[l+f];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"!(lo>=p0)&&!(p1>=hi)":function(e,t,r,n,i,a,o,s){for(var l=2*e,c=l*r,u=c,h=r,f=t,p=e+t,d=r;n>d;++d,c+=l){var m=i[c+f],g=i[c+p];if(!(m>=o||s>=g))if(h===d)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[d];a[d]=a[h],a[h++]=x}}return h}}},4192:function(e){e.exports=function(e,n){n<=4*t?r(0,n-1,e):c(0,n-1,e)};var t=32;function r(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >e;){var c=r[l-2],u=r[l-1];if(cr[t+1])}function l(e,t,r,n){var i=n[e*=2];return i>1,g=m-f,y=m+f,v=p,x=g,_=m,b=y,w=d,T=e+1,k=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(b,w,h)&&(A=b,b=w,w=A),s(v,_,h)&&(A=v,v=_,_=A),s(x,_,h)&&(A=x,x=_,_=A),s(v,b,h)&&(A=v,v=b,b=A),s(_,b,h)&&(A=_,_=b,b=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,_,h)&&(A=x,x=_,_=A),s(b,w,h)&&(A=b,b=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*b],C=h[2*b+1],I=2*v,L=2*_,P=2*w,z=2*p,D=2*m,O=2*d,R=0;R<2;++R){var F=h[I+R],B=h[L+R],j=h[P+R];h[z+R]=F,h[D+R]=B,h[O+R]=j}i(g,e,h),i(y,u,h);for(var N=T;N<=k;++N)if(l(N,M,S,h))N!==T&&n(N,T,h),++T;else if(!l(N,E,C,h))for(;;){if(l(k,E,C,h)){l(k,M,S,h)?(a(N,T,k,h),++T,--k):(n(N,k,h),--k);break}if(--k>>1;a(d,S);var E=0,C=0;for(T=0;T=o)m(u,h,C--,I=I-o|0);else if(I>=0)m(l,c,E--,I);else if(I<=-o){I=-I-o|0;for(var L=0;L>>1;a(d,E);var C=0,I=0,L=0;for(k=0;k>1==d[2*k+3]>>1&&(z=2,k+=1),P<0){for(var D=-(P>>1)-1,O=0;O>1)-1,0===z?m(l,c,C--,D):1===z?m(u,h,I--,D):2===z&&m(f,p,L--,D)}},scanBipartite:function(e,t,r,n,i,s,u,h,f,p,y,v){var x=0,_=2*e,b=t,w=t+e,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,C);var I=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,I++,M);else{var z=v[M],D=_*M,O=y[D+t+1],R=y[D+t+1+e];e:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=_-o;else{var M=p[_-=1],S=g*_,E=f[S+t+1],C=f[S+t+1+e];e:for(var I=0;I=0;--I)if(l[I]===_){for(D=I+1;D0;){for(var p=r.pop(),d=(u=-1,h=-1,l=o[s=r.pop()],1);d=0||(t.flip(s,p),i(e,t,r,u,s,h),i(e,t,r,s,h,u),i(e,t,r,h,p,u),i(e,t,r,p,u,h))}}},5023:function(e,t,r){var n,i=r(2478);function a(e,t,r,n,i,a,o){this.cells=e,this.neighbor=t,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(e,t){return e[0]-t[0]||e[1]-t[1]||e[2]-t[2]}e.exports=function(e,t,r){var n=function(e,t){for(var r=e.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(e,t,r){for(var n=0,i=0;i1&&i(r[f[p-2]],r[f[p-1]],a)>0;)e.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)e.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(e,t){return(e.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(e,t,r){var n=this.stars;o(n[e],t,r),o(n[t],r,e),o(n[r],e,t)},a.addTriangle=function(e,t,r){var n=this.stars;n[e].push(t,r),n[t].push(r,e),n[r].push(e,t)},a.opposite=function(e,t){for(var r=this.stars[t],n=1,i=r.length;nt[2]?1:0)}function y(e,t,r){if(0!==e.length){if(t)for(var n=0;n=0;--a){var x=t[u=(S=n[a])[0]],_=x[0],b=x[1],w=e[_],T=e[b];if((w[0]-T[0]||w[1]-T[1])<0){var k=_;_=b,b=k}x[0]=_;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?t.push([M,E,A]):t.push([M,E]),M=E}i?t.push([M,b,A]):t.push([M,b])}return f}(e,t,f,m,r),v=d(e,g);return y(t,v,r),!!v||f.length>0||m.length>0}},3637:function(e,t,r){e.exports=function(e,t,r,n){var a=s(t,e),h=s(n,r),f=u(a,h);if(0===o(f))return null;var p=u(h,s(e,r)),d=i(p,f),m=c(a,d);return l(e,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(e,t){return a(n(e[0],t[1]),n(e[1],t[0]))}},3642:function(e){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(e,t,r){var n=r(3642),i=r(395);function a(e){return[e[0]/255,e[1]/255,e[2]/255,e[3]]}function o(e){for(var t,r="#",n=0;n<3;++n)r+=("00"+(t=(t=e[n]).toString(16))).substr(t.length);return r}function s(e){return"rgba("+e.join(",")+")"}e.exports=function(e){var t,r,l,c,u,h,f,p,d,m;if(e||(e={}),p=(e.nshades||72)-1,f=e.format||"hex",(h=e.colormap)||(h="jet"),"string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():"number"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=u.map((function(e){return Math.round(e.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=u.map((function(e,t){var r=u[t].index,n=u[t].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(m=0;m0||l(e,t,a)?-1:1:0===s?c>0||l(e,t,r)?1:-1:i(c-s)}var h=n(e,t,r);return h>0?o>0&&n(e,t,a)>0?1:-1:h<0?o>0||n(e,t,a)>0?1:-1:n(e,t,a)>0||l(e,t,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(e,t,r){var n=a(e[0],-t[0]),i=a(e[1],-t[1]),l=a(r[0],-t[0]),c=a(r[1],-t[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(e){e.exports=function(e){return e<0?-1:e>0?1:0}},8507:function(e){e.exports=function(e,n){var i=e.length,a=e.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return e[0]-n[0];case 2:return e[0]+e[1]-n[0]-n[1]||t(e[0],e[1])-t(n[0],n[1]);case 3:var o=e[0]+e[1],s=n[0]+n[1];if(a=o+e[2]-(s+n[2]))return a;var l=t(e[0],e[1]),c=t(n[0],n[1]);return t(l,e[2])-t(c,n[2])||t(l+e[2],o)-t(c+n[2],s);case 4:var u=e[0],h=e[1],f=e[2],p=e[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||t(u,h,f,p)-t(d,m,g,y,d)||t(u+h,u+f,u+p,h+f,h+p,f+p)-t(d+m,d+g,d+y,m+g,m+y,g+y)||t(u+h+f,u+h+p,u+f+p,h+f+p)-t(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=e.slice().sort(r),x=n.slice().sort(r),_=0;_e[r][0]&&(r=n);return tr?[[r],[t]]:[[t]]}},4750:function(e,t,r){e.exports=function(e){var t=n(e),r=t.length;if(r<=2)return[];for(var i=new Array(r),a=t[r-1],o=0;o=t[l]&&(s+=1);a[o]=s}}return e}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(e){e.exports=function(e,t,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(e.length){a||(a=new Array(e.length));for(var p=e.length-1;p>=0;--p)a[p]=c*e[p]+u*t[p]+h*r[p]+f*n[p];return a}return c*e+u*t+h*r+f*n},e.exports.derivative=function(e,t,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(e.length){a||(a=new Array(e.length));for(var u=e.length-1;u>=0;--u)a[u]=o*e[u]+s*t[u]+l*r[u]+c*n[u];return a}return o*e+s*t+l*r[u]+c*n}},7642:function(e,t,r){var n=r(8954),i=r(1682);function a(e,t){this.point=e,this.index=t}function o(e,t){for(var r=e.point,n=t.point,i=r.length,a=0;a=2)return!1;e[r]=n}return!0})):b.filter((function(e){for(var t=0;t<=s;++t){var r=y[e[t]];if(r<0)return!1;e[t]=r}return!0})),1&s)for(u=0;u>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1048576),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}},1338:function(e){function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(r=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n=r-1){f=l.length-1;var d=e-t[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(t[r-1],0);h=0;--r)if(e[--t])return!1;return!0},s.jump=function(e){var t=this.lastT(),r=this.dimension;if(!(e0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(e){var t=this.lastT(),r=this.dimension;if(!(e1e-6?1/s:0;this._time.push(e);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(e){var t=this.dimension;if(!(e0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(e){var t=this.lastT(),r=this.dimension;if(!(e<=t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=e-t,h=u>1e-6?1/u:0;this._time.push(e);for(var f=r;f>0;--f){var p=arguments[f];n.push(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(e){var t=this.lastT();if(!(e=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(e){function t(e,t,r,n,i,a){this._color=e,this.key=t,this.value=r,this.left=n,this.right=i,this._count=a}function r(e){return new t(e._color,e.key,e.value,e.left,e.right,e._count)}function n(e,r){return new t(e,r.key,r.value,r.left,r.right,r._count)}function i(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function a(e,t){this._compare=e,this.root=t}e.exports=function(e){return new a(e||p,null)};var o=a.prototype;function s(e,t){var r;return t.left&&(r=s(e,t.left))?r:(r=e(t.key,t.value))||(t.right?s(e,t.right):void 0)}function l(e,t,r,n){if(t(e,n.key)<=0){var i;if(n.left&&(i=l(e,t,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(e,t,r,n.right)}function c(e,t,r,n,i){var a,o=r(e,i.key),s=r(t,i.key);return o<=0&&(i.left&&(a=c(e,t,r,n,i.left))||s>0&&(a=n(i.key,i.value)))?a:s>0&&i.right?c(e,t,r,n,i.right):void 0}function u(e,t){this.tree=e,this._stack=t}Object.defineProperty(o,"keys",{get:function(){var e=[];return this.forEach((function(t,r){e.push(t)})),e}}),Object.defineProperty(o,"values",{get:function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(e,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(e,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new t(0,e,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new t(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new t(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var f=l[h-1];if(s=l[h],1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f)if(f.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).left===p?m.left=f:m.right=f);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).left===p?m.left=s:m.right=s);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else if(f.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).right===p?m.right=f:m.left=f);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).right===p?m.right=s:m.left=s);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(e,t,r){if(this.root)switch(arguments.length){case 1:return s(e,this.root);case 2:return l(t,this._compare,e,this.root);case 3:return this._compare(t,r)>=0?void 0:c(t,r,this._compare,e,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.left;return new u(this,e)}}),Object.defineProperty(o,"end",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.right;return new u(this,e)}}),o.at=function(e){if(e<0)return new u(this,[]);for(var t=this.root,r=[];;){if(r.push(t),t.left){if(e=t.right._count)break;t=t.right}return new u(this,[])},o.ge=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(e){for(var t=this._compare,r=this.root,n=[];r;){var i=t(e,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(e){var t=this.find(e);return t?t.remove():this},o.get=function(e){for(var t=this._compare,r=this.root;r;){var n=t(e,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=u.prototype;function f(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e._color=t._color,e._count=t._count}function p(e,t){return et?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var e=this._stack;if(0===e.length)return this.tree;var o=new Array(e.length),s=e[e.length-1];o[o.length-1]=new t(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=e.length-2;l>=0;--l)(s=e[l]).left===e[l+1]?o[l]=new t(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new t(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(t=e[l],0===l)return void(t._color=1);if((a=e[l-1]).left===t){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),void(e[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).left===a?c.left=s:c.right=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),e[l-1]=o,e[l]=a,l+11&&((c=e[l-2]).right===a?c.right=o:c.left=o),void(e[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).right===a?c.right=s:c.left=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).right===a?c.right=o:c.left=o),e[l-1]=o,e[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var e=0,t=this._stack;if(0===t.length){var r=this.tree.root;return r?r._count:0}t[t.length-1].left&&(e=t[t.length-1].left._count);for(var n=t.length-2;n>=0;--n)t[n+1]===t[n].right&&(++e,t[n].left&&(e+=t[n].left._count));return e},enumerable:!0}),h.next=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.right)for(t=t.right;t;)e.push(t),t=t.left;else for(e.pop();e.length>0&&e[e.length-1].right===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].right)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}}),h.update=function(e){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new t(i._color,i.key,e,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new t(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new t(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.prev=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.left)for(t=t.left;t;)e.push(t),t=t.right;else for(e.pop();e.length>0&&e[e.length-1].left===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].left)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}})},3837:function(e,t,r){e.exports=function(e,t){var r=new p(e);return r.update(t),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(e){return Array.isArray(e)||function(e){return c.isView(e)&&!(e instanceof u)}(e)}function f(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function p(e){this.gl=e,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=a(e)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(e){function t(t,r,n){if(n in e){var i,a=e[n],o=this[n];(t?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}e=e||{};var r,a=t.bind(this,!1,Number),o=t.bind(this,!1,Boolean),l=t.bind(this,!1,String),c=t.bind(this,!0,(function(e){if(h(e)){if(3===e.length)return[+e[0],+e[1],+e[2],1];if(4===e.length)return[+e[0],+e[1],+e[2],+e[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in e)for(var p=e.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if("ticks"in e)for(r=e.ticks,u=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in e||"tickSpacing"in e||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(d=0;d<3;++d)r[d].sort((function(e,t){return e.x-t.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor");var y=[{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]}],v=[{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&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(e,t,r,n,i){for(var a=e.primalOffset,o=e.primalMinor,s=e.mirrorOffset,l=e.mirrorMinor,c=n[t],u=0;u<3;++u)if(t!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(e){};var _=[0,0,0],b=[0,0,0],w=[0,0,0];d.draw=function(e){e=e||x;for(var t=this.gl,r=e.model||l,n=e.view||l,i=e.projection||l,a=this.bounds,s=e._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,p=n[12],d=n[13],m=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*m+i[15]*T)/t.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);t=this.gl;var S,E,C,I,L,P,z,D,O,R,F,B,j=v;for(A=0;A<3;++A)this.backgroundEnable[A]?j[A]=h[A]:j[A]=0;for(this._background.draw(r,n,i,a,j,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var N=[0,0,0];h[A]>0?N[A]=a[1][A]:N[A]=a[0][A];for(var U=0;U<2;++U){var V=(A+1+U)%3,q=(A+1+(1^U))%3;this.gridEnable[V]&&this._lines.drawGrid(V,q,this.bounds,N,this.gridColor[V],this.gridWidth[V]*this.pixelRatio)}for(U=0;U<2;++U)V=(A+1+U)%3,q=(A+1+(1^U))%3,this.zeroEnable[q]&&Math.min(a[0][q],a[1][q])<=0&&Math.max(a[0][q],a[1][q])>=0&&this._lines.drawZero(V,q,this.bounds,N,this.zeroLineColor[q],this.zeroLineWidth[q]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var H=f(_,M[A].primalMinor),G=f(b,M[A].mirrorMinor),W=this.lineTickLength;for(U=0;U<3;++U){var Z=k/r[5*U];H[U]*=W[U]*Z,G[U]*=W[U]*Z}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,H,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,G,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function Y(e){(C=[0,0,0])[e]=1}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var X=M[A].primalMinor,$=M[A].mirrorMinor,K=f(w,M[A].primalOffset);for(U=0;U<3;++U)this.lineTickEnable[A]&&(K[U]+=k*X[U]*Math.max(this.lineTickLength[U],0)/r[5*U]);var J=[0,0,0];if(J[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),C=[0,0,0],P=$,void 0,void 0,void 0,void 0,void 0,void 0,D=((I=A)+2)%3,O=(L=X)[z=(I+1)%3],R=L[D],F=P[z],B=P[D],O>0&&B>0||O>0&&B<0||O<0&&B>0||O<0&&B<0?Y(z):(R>0&&F>0||R>0&&F<0||R<0&&F>0||R<0&&F<0)&&Y(D),U=0;U<3;++U)K[U]+=k*X[U]*this.tickPad[U]/r[5*U];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],K,this.tickColor[A],J,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(Y(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),U=0;U<3;++U)K[U]+=k*X[U]*this.labelPad[U]/r[5*U];K[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],K,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(e,t,r){e.exports=function(e){for(var t=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var m=-1;m<=1;m+=2)h[u]=m,t.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(e,new Float32Array(t)),v=n(e,new Uint16Array(r),e.ELEMENT_ARRAY_BUFFER),x=i(e,[{buffer:y,type:e.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:e.FLOAT,size:3,offset:12,stride:24}],v),_=a(e);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(e,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(e,t,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:e,view:t,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(e,t,r){e.exports=function(e,t,r,a,p){i(s,t,e),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var _=0;_<2;++_){u[1]=a[_][1];for(var b=0;b<2;++b)u[0]=a[b][0],f(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(j=R^1<c[B][0]&&(B=j))}var N=m;N[0]=N[1]=N[2]=0,N[n.log2(F^R)]=R&F,N[n.log2(R^B)]=R&B;var U=7^B;U===w||U===O?(U=7^F,N[n.log2(B^U)]=U&B):N[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);t.Q=function(e){return i(e,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);t.bg=function(e){return i(e,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(e,t,r){e.exports=function(e,t,r,a,s,l){var c=n(e),h=i(e,[{buffer:c,size:3}]),f=o(e);f.attributes.position.location=0;var p=new u(e,f,c,h);return p.update(t,r,a,s,l),p};var n=r(2762),i=r(8116),a=r(4359),o=r(1879).Q,s=window||c.global||{},l=s.__TEXT_CACHE||{};function u(e,t,r,n){this.gl=e,this.shader=t,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}s.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(e,t,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=e,i.view=t,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(e,t,r,n,i){var o=[];function s(e,t,r,n,i,s){var c=[r.style,r.weight,r.variant,r.family].join("_"),u=l[c];u||(u=l[c]={});var h=u[t];h||(h=u[t]=function(e,t){try{return a(e,t)}catch(t){return console.warn('error vectorizing text:"'+e+'" error:',t),{cells:[],positions:[]}}}(t,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];o.push(f*x[0],-f*x[1],e)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(e[0][d]+e[1][d]),t[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(e*t*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var h=""+c;h.length=e[0][i];--o)a.push({x:o*t[i],text:r(t[i],o)});n.push(a)}return n},t.equal=function(e,t){for(var r=0;r<3;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return e.bufferSubData(t,a,i),r}function u(e,t){for(var r=n.malloc(e.length,t),i=e.length,a=0;a=0;--n){if(t[n]!==r)return!1;r*=e[n]}return!0}(e.shape,e.stride))0===e.offset&&e.data.length===e.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,e.data,t):this.length=c(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var s=n.malloc(e.size,r),l=a(s,e.shape);i.assign(l,e),this.length=c(this.gl,this.type,this.length,this.usage,t<0?s:s.subarray(0,e.size),t),n.free(s)}}else if(Array.isArray(e)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(e,"uint16"):u(e,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,t<0?h:h.subarray(0,e.length),t),n.free(h)}else if("object"==typeof e&&"number"==typeof e.length)this.length=c(this.gl,this.type,this.length,this.usage,e,t);else{if("number"!=typeof e&&void 0!==e)throw new Error("gl-buffer: Invalid data type");if(t>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(e|=0)<=0&&(e=1),this.gl.bufferData(this.type,0|e,this.usage),this.length=e}},e.exports=function(e,t,r,n){if(r=r||e.ARRAY_BUFFER,n=n||e.DYNAMIC_DRAW,r!==e.ARRAY_BUFFER&&r!==e.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(n!==e.DYNAMIC_DRAW&&n!==e.STATIC_DRAW&&n!==e.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 i=e.createBuffer(),a=new s(e,r,i,0,n);return a.update(t),a}},6405:function(e,t,r){var n=r(2931);e.exports=function(e,t){var r=e.positions,i=e.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:e.vertexIntensityBounds,vectors:[],cells:[],coneOffset:e.coneOffset,colormap:e.colormap};if(0===e.positions.length)return t&&(t[0]=[0,0,0],t[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,m=[],g=1/0,y=!1,v="raw"===e.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];t&&(t[0]=T,t[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=e.coneSize||(v?1:.5);e.absoluteConeSize&&(M=e.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(e){this.pickId=e},p.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,"lightPosition"in e&&(this.lightPosition=e.lightPosition),"opacity"in e&&(this.opacity=e.opacity),"ambient"in e&&(this.ambientLight=e.ambient),"diffuse"in e&&(this.diffuseLight=e.diffuse),"specular"in e&&(this.specularLight=e.specular),"roughness"in e&&(this.roughness=e.roughness),"fresnel"in e&&(this.fresnel=e.fresnel),void 0!==e.tubeScale&&(this.tubeScale=e.tubeScale),void 0!==e.vectorScale&&(this.vectorScale=e.vectorScale),void 0!==e.coneScale&&(this.coneScale=e.coneScale),void 0!==e.coneOffset&&(this.coneOffset=e.coneOffset),e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e){for(var t=u({colormap:e,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=t[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(e.colormap)),this.texture.generateMipmap());var r=e.cells,n=e.positions,i=e.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=e.meshColor||[1,1,1,1],p=e.vertexIntensity,d=1/0,m=-1/0;if(p)if(e.vertexIntensityBounds)d=+e.vertexIntensityBounds[0],m=+e.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||h,n=e.view||h,i=e.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(e){if(!e||e.id!==this.pickId)return null;var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=t),i},p.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()},e.exports=function(e,t,r){var s=r.shaders;1===arguments.length&&(e=(t=e).gl);var l=function(e,t){var r=n(e,t.meshShader.vertex,t.meshShader.fragment,null,t.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(e,s),u=function(e,t){var r=n(e,t.pickShader.vertex,t.pickShader.fragment,null,t.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(e,s),h=o(e,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=e.LINEAR_MIPMAP_LINEAR,h.magFilter=e.LINEAR;var p=i(e),d=i(e),m=i(e),g=i(e),y=i(e),v=new f(e,h,l,u,p,d,y,m,g,a(e,[{buffer:p,type:e.FLOAT,size:4},{buffer:y,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:e.FLOAT,size:4},{buffer:g,type:e.FLOAT,size:2},{buffer:d,type:e.FLOAT,size:4}]),r.traceType||"cone");return v.update(t),v}},614:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(e){e.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(e,t,r){var n=r(737);e.exports=function(e){return n[e]}},9165:function(e,t,r){e.exports=function(e){var t=e.gl,r=n(t),o=i(t,[{buffer:r,type:t.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:t.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:t.FLOAT,size:3,offset:28,stride:40}]),l=a(t);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(t,r,o,l);return c.update(e),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.shader=n,this.buffer=t,this.vao=r,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 l=s.prototype;function c(e,t){for(var r=0;r<3;++r)e[0][r]=Math.min(e[0][r],t[r]),e[1][r]=Math.max(e[1][r],t[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(e){var t=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=e.view||o,i=r.projection=e.projection||o;r.model=e.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(e._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/t.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)t.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&t.drawArrays(t.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var e=new Array(3),t=0;t<3;++t){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+t)%3]=i,r.push(a)}e[t]=r}return e}();function h(e,t,r,n){for(var i=u[n],a=0;a0&&((p=u.slice())[s]+=d[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,p[0],p[1],p[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,p),o+=2+h(i,p,m,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(e,t,r){var n=r(7766);e.exports=function(e,t,r,n){i||(i=e.FRAMEBUFFER_UNSUPPORTED,a=e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=e.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(e,t){var r=e.getParameter(t.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>e.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=e.UNSIGNED_BYTE,p=e.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=e.FLOAT}else n.preferFloat&&h>0&&p&&(f=e.FLOAT);var m=!0;"depth"in n&&(m=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(e,t,r,f,h,m,g,c)};var i,a,o,s,l=null;function c(e){return[e.getParameter(e.FRAMEBUFFER_BINDING),e.getParameter(e.RENDERBUFFER_BINDING),e.getParameter(e.TEXTURE_BINDING_2D)]}function u(e,t){e.bindFramebuffer(e.FRAMEBUFFER,t[0]),e.bindRenderbuffer(e.RENDERBUFFER,t[1]),e.bindTexture(e.TEXTURE_2D,t[2])}function h(e){switch(e){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(e,t,r,i,a,o){if(!i)return null;var s=n(e,t,r,a,i);return s.magFilter=e.NEAREST,s.minFilter=e.NEAREST,s.mipSamples=1,s.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,o,e.TEXTURE_2D,s.handle,0),s}function p(e,t,r,n,i){var a=e.createRenderbuffer();return e.bindRenderbuffer(e.RENDERBUFFER,a),e.renderbufferStorage(e.RENDERBUFFER,n,t,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,i,e.RENDERBUFFER,a),a}function d(e,t,r,n,i,a,o,s){this.gl=e,this._shape=[0|t,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?d?e.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(e.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?e._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?e._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(e._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(e._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(e.handle),e.handle=null,e.depth&&(e.depth.dispose(),e.depth=null),e._depth_rb&&(r.deleteRenderbuffer(e._depth_rb),e._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");e._shape[0]=t,e._shape[1]=r;for(var a=c(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];t.createShader=function(e){return i(e,a,o,null,l)},t.createPickShader=function(e){return i(e,a,s,null,l)}},5714:function(e,t,r){e.exports=function(e){var t=e.gl||e.scene&&e.scene.gl,r=h(t);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(t);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(t),l=i(t,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(t,u);d.wrap=t.REPEAT;var m=new y(t,r,o,s,l,d);return m.update(e),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(e,t){for(var r=0,n=0;n<3;++n){var i=e[n]-t[n];r+=i*i}return Math.sqrt(r)}function m(e){for(var t=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)t[0][r]=Math.max(e[0][r],t[0][r]),t[1][r]=Math.min(e[1][r],t[1][r]);return t}function g(e,t,r,n){this.arcLength=e,this.position=t,this.index=r,this.dataCoordinate=n}function y(e,t,r,n,i,a){this.gl=e,this.shader=t,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(e){this.pickId=e},v.drawTransparent=v.draw=function(e){if(this.vertexCount){var t=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(e){if(this.vertexCount){var t=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(e){var t,r;this.dirty=!0;var n=!!e.connectGaps;"dashScale"in e&&(this.dashScale=e.dashScale),this.hasAlpha=!1,"opacity"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=e.position||e.positions;if(f){var p=e.color||e.colors||[0,0,0,1],m=e.lineWidth||1,g=!1;e:for(t=1;t0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue e}h[0][r]=Math.min(h[0][r],_[r],b[r]),h[1][r]=Math.max(h[1][r],_[r],b[r])}Array.isArray(p[0])?(y=p.length>t-1?p[t-1]:p.length>0?p[p.length-1]:[0,0,0,1],v=p.length>t?p[t]:p.length>0?p[p.length-1]:[0,0,0,1]):y=v=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>t-1?m[t-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(_,b),g){for(r=0;r<2;++r)i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],T,-x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],s,-x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in e){var k=e.dashes.slice();for(k.unshift(0),t=1;t1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[f,s(e,g),g]}},840:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},t.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},t.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},t.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(e,t,r){var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,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=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(e){this.pickId=e},k.highlight=function(e){if(e&&this.contourEnable){for(var t=f(this.cells,this.intensity,e.intensity),r=t.cells,n=t.vertexIds,i=t.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),t.drawArrays(t.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(e){if(!e||e.id!==this.pickId)return null;for(var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions,i=new Array(r.length),a=0;aMath.abs(t))c.rotate(a,0,0,-e*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*t/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(e,t,r){var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){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 g(e){var t=Math.round(Math.log(Math.abs(e))/Math.log(10));if(t<0){var r=Math.round(Math.pow(10,-t));return Math.ceil(e*r)/r}return t>0?(r=Math.round(Math.pow(10,t)),Math.ceil(e/r)*r):Math.ceil(e)}function y(e){return"boolean"!=typeof e||e}e.exports={createScene:function(e){(e=e||{}).camera=e.camera||{};var t=e.canvas;t||(t=document.createElement("canvas"),e.container?e.container.appendChild(t):document.body.appendChild(t));var r=e.gl;if(r||(e.glOptions&&(d=!!e.glOptions.preserveDrawingBuffer),r=function(e,t){var r=null;try{(r=e.getContext("webgl",t))||(r=e.getContext("experimental-webgl",t))}catch{return null}return r}(t,e.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var v=e.bounds||[[-10,-10,-10],[10,10,10]],x=new m,_=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),b=p(r),w=e.cameraObject&&!0===e.cameraObject._ortho||e.camera.projection&&"orthographic"===e.camera.projection.type||!1,T={eye:e.camera.eye||[2,0,0],center:e.camera.center||[0,0,0],up:e.camera.up||[0,1,0],zoomMin:e.camera.zoomMax||.1,zoomMax:e.camera.zoomMin||100,mode:e.camera.mode||"turntable",_ortho:w},k=e.axes||{},A=i(r,k);A.enable=!k.disable;var M=e.spikes||{},S=o(r,M),E=[],C=[],I=[],L=[],P=!0,z=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},O=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=e.cameraObject||n(t,T),F={gl:r,contextLost:!1,pixelRatio:e.pixelRatio||1,canvas:t,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:O,aspect:e.aspectRatio||[1,1,1],pickRadius:e.pickRadius||10,zNear:e.zNear||.01,zFar:e.zFar||1e3,fovy:e.fovy||Math.PI/4,clearColor:e.clearColor||[0,0,0,0],autoResize:y(e.autoResize),autoBounds:y(e.autoBounds),autoScale:!!e.autoScale,autoCenter:y(e.autoCenter),clipToBounds:y(e.clipToBounds),snapToData:!!e.snapToData,onselect:e.onselect||null,onrender:e.onrender||null,onclick:e.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(e){this.aspect[0]=e.x,this.aspect[1]=e.y,this.aspect[2]=e.z,z=!0},setBounds:function(e,t){this.bounds[0][e]=t.min,this.bounds[1][e]=t.max},setClearColor:function(e){this.clearColor=e},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)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function j(){if(!F._stopped&&F.autoResize){var e=t.parentNode,r=1,n=1;e&&e!==document.body?(r=e.clientWidth,n=e.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==t.width||a!==t.height){t.width=i,t.height=a;var o=t.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function N(){for(var e=E.length,t=L.length,n=0;n0&&0===I[t-1];)I.pop(),L.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&j(),window.addEventListener("resize",j),F.update=function(e){F._stopped||(e=e||{},P=!0,z=!0)},F.add=function(e){F._stopped||(e.axes=A,E.push(e),C.push(-1),P=!0,z=!0,N())},F.remove=function(e){if(!F._stopped){var t=E.indexOf(e);t<0||(E.splice(t,1),C.pop(),P=!0,z=!0,N())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",j),t.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var e=0;ex.distance)continue;for(var c=0;c1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),e[0]=s*c+l*p,e[1]=s*u+l*d,e[2]=s*h+l*m,e[3]=s*f+l*g,e}},5964:function(e){e.exports=function(e){return e||0===e?e.toString():""}},9366:function(e,t,r){var n=r(4359);e.exports=function(e,t,r){var a=[t.style,t.weight,t.variant,t.family].join("_"),o=i[a];if(o||(o=i[a]={}),e in o)return o[e];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:t.family,fontStyle:t.style,fontWeight:t.weight,fontVariant:t.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(e,s);s.triangles=!1;var c,u,h=n(e,s);if(r&&1!==r){for(c=0;c max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(e,t){var r=n(e,t),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}t.createPerspective=function(e){return y(e,h)},t.createOrtho=function(e){return y(e,f)},t.createProject=function(e){return y(e,p)},t.createPickPerspective=function(e){return y(e,d)},t.createPickOrtho=function(e){return y(e,m)},t.createPickProject=function(e){return y(e,g)}},8418:function(e,t,r){var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(e){return Array.isArray(e)||function(e){return f.isView(e)&&!(e instanceof p)}(e)}function m(e,t){var r=e[0],n=e[1],i=e[2],a=e[3];return e[0]=t[0]*r+t[4]*n+t[8]*i+t[12]*a,e[1]=t[1]*r+t[5]*n+t[9]*i+t[13]*a,e[2]=t[2]*r+t[6]*n+t[10]*i+t[14]*a,e[3]=t[3]*r+t[7]*n+t[11]*i+t[15]*a,e}function g(e,t,r,n){return m(n,n),m(n,n),m(n,n)}function y(e,t){this.index=e,this.dataCoordinate=this.position=t}function v(e){return!0===e||e>1?1:e}function x(e,t,r,n,i,a,o,s,l,c,u,h){this.gl=e,this.pixelRatio=1,this.shader=t,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,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=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(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}e.exports=function(e){var t=e.gl,r=l.createPerspective(t),n=l.createOrtho(t),o=l.createProject(t),s=l.createPickPerspective(t),c=l.createPickOrtho(t),u=l.createPickProject(t),h=i(t),f=i(t),p=i(t),d=i(t),m=new x(t,r,n,o,h,f,p,d,a(t,[{buffer:h,size:3,type:t.FLOAT},{buffer:f,size:4,type:t.FLOAT},{buffer:p,size:2,type:t.FLOAT},{buffer:d,size:4,type:t.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(e),m};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(e){this.pickId=e},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(e){return e[0]=e[1]=e[2]=0,e}function I(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,e}function L(e,t,r,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[r]=n,e}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(e,t,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(e,t,r,n){var i,a=t.axesProject,o=t.gl,l=e.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=t.axesBounds,d=function(e){for(var t=E,r=0;r<2;++r)for(var n=0;n<3;++n)t[r][n]=Math.max(Math.min(e[r][n],1e8),-1e8);return t}(t.clipBounds);i=t.axes&&t.axes.lastCubeProps?t.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,e.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=t.highlightId,l.highlightScale=t.highlightScale,l.clipBounds=d,l.pickGroup=t.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=t.projectScale[m],l.opacity=t.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=p[0][m]:y[12+m]=p[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,_=(m+2)%3,P=C(w),z=C(T);P[x]=1,z[_]=1;var D=g(0,0,0,I(k,P)),O=g(0,0,0,I(A,z));if(Math.abs(D[1])>Math.abs(O[1])){var R=D;D=O,O=R,R=P,P=z,z=R;var F=x;x=_,_=F}D[0]<0&&(P[x]=-1),O[1]>0&&(z[_]=-1);var B=0,j=0;for(v=0;v<4;++v)B+=Math.pow(c[4*x+v],2),j+=Math.pow(c[4*_+v],2);P[x]/=Math.sqrt(B),z[_]/=Math.sqrt(j),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=L(S,d[0],m,-1e8),l.fragClipBounds[1]=L(S,d[1],m,1e8),t.vao.bind(),t.vao.draw(o.TRIANGLES,t.vertexCount),t.lineWidth>0&&(o.lineWidth(t.lineWidth*n),t.vao.draw(o.LINES,t.lineVertexCount,t.vertexCount)),t.vao.unbind()}}(t,r,n,i),a===r.hasAlpha||o){e.bind();var c=e.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function D(e,t,r,i){var a;a=d(e)?t=this.pointCount||t<0)return null;var r=this.points[t],n=this._selectResult;n.index=t;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(e){if(e){var t=e.index,r=255&t,n=t>>8&255,i=t>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(e){if("perspective"in(e=e||{})&&(this.useOrtho=!e.perspective),"orthographic"in e&&(this.useOrtho=!!e.orthographic),"lineWidth"in e&&(this.lineWidth=e.lineWidth),"project"in e)if(d(e.project))this.axesProject=e.project;else{var t=!!e.project;this.axesProject=[t,t,t]}if("projectScale"in e)if(d(e.projectScale))this.projectScale=e.projectScale.slice();else{var r=+e.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in e){d(e.projectOpacity)?this.projectOpacity=e.projectOpacity.slice():(r=+e.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in e&&(this.opacity=v(e.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=e.position,l={family:e.font||"normal",style:e.fontStyle||"normal",weight:e.fontWeight||"normal",variant:e.fontVariant||"normal"},c=e.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,O=_,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),j=d(y)&&d(y[0]);e:for(n=0;n0?1-S[0][0]:Z<0?1+S[1][0]:1,Y*=Y>0?1-S[0][1]:Y<0?1+S[1][1]:1],$=A.cells||[],K=A.positions||[];for(k=0;k<$.length;++k)for(var J=$[k],Q=0;Q<3;++Q){for(var ee=0;ee<3;++ee)C[3*z+ee]=T[ee];for(ee=0;ee<4;++ee)I[4*z+ee]=R[ee];P[z]=x;var te=K[J[Q]];L[2*z]=q*(G*te[0]-W*te[1]+X[0]),L[2*z+1]=q*(W*te[0]+G*te[1]+X[1]),z+=1}for($=M.edges,K=M.positions,k=0;k<$.length;++k)for(J=$[k],Q=0;Q<2;++Q){for(ee=0;ee<3;++ee)C[3*O+ee]=T[ee];for(ee=0;ee<4;++ee)I[4*O+ee]=F[ee];P[O]=x,te=K[J[Q]],L[2*O]=q*(G*te[0]-W*te[1]+X[0]),L[2*O+1]=q*(W*te[0]+G*te[1]+X[1]),O+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=_,this.lineVertexCount=b,this.pointBuffer.update(C),this.colorBuffer.update(I),this.glyphBuffer.update(L),this.idBuffer.update(P),o.free(C),o.free(I),o.free(L),o.free(P)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},3589:function(e,t,r){e.exports=function(e,t){var r=t[0],a=t[1];return new l(e,n(e,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(e,t,r,n,i){this.coord=[e,t],this.id=r,this.value=n,this.distance=i}function l(e,t,r){this.gl=e,this.fbo=t,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(t.bind(),e.readPixels(0,0,t.shape[0],t.shape[1],e.RGBA,e.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(e){if(this.gl){this.fbo.shape=e;var t=this.fbo.shape[0],r=this.fbo.shape[1];if(r*t*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*t*4)),a=0;ar)for(e=r;et)for(e=t;e=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;b[v]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,_,b);for(var e=0;e=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(e,t,p[0],i,d,a,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);l(e,t,p,i,d,a,h)}}}return a};var n=r(8866);function i(e,t,r,n,i,a){this._gl=e,this._wrapper=t,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(e,t,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,e||a.FLOAT,!!t,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(e,t,r,n){return this._constFunc(this._locations[this._index],e,t,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(e){return e!==this._locations[this._index]&&(this._locations[this._index]=0|e,this._wrapper.program=null),0|e}});var o=[function(e,t,r){return void 0===r.length?e.vertexAttrib1f(t,r):e.vertexAttrib1fv(t,r)},function(e,t,r,n){return void 0===r.length?e.vertexAttrib2f(t,r,n):e.vertexAttrib2fv(t,r)},function(e,t,r,n,i){return void 0===r.length?e.vertexAttrib3f(t,r,n,i):e.vertexAttrib3fv(t,r)},function(e,t,r,n,i,a){return void 0===r.length?e.vertexAttrib4f(t,r,n,i,a):e.vertexAttrib4fv(t,r)}];function s(e,t,r,n,a,s,l){var c=o[a],u=new i(e,t,r,n,a,c);Object.defineProperty(s,l,{set:function(t){return e.disableVertexAttribArray(n[r]),c(e,n[r],t),t},get:function(){return u},enumerable:!0})}function l(e,t,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+v);e["uniformMatrix"+y+"fv"](s[h],!1,f);break}throw new i("","Unknown uniform data type for "+name+": "+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(v.charAt(0)){case"b":case"i":e["uniform"+y+"iv"](s[h],f);break;case"v":e["uniform"+y+"fv"](s[h],f);break;default:throw new i("","Unrecognized data type for vector "+name+": "+v)}}}}}}function u(e,t){if("object"!=typeof t)return[[e,t]];var r=[];for(var n in t){var i=t[n],a=e;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function h(e,t,n){if("object"==typeof n){var u=f(n);Object.defineProperty(e,t,{get:a(u),set:c(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(e,t,{get:l(n),set:c(n),enumerable:!0,configurable:!1}):e[t]=function(e){switch(e){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var t=e.indexOf("vec");if(0<=t&&t<=1&&e.length===4+t){if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===e.charAt(0)?o(r,!1):o(r,0)}if(0===e.indexOf("mat")&&4===e.length){var r;if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+e);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+e)}}(r[n].type)}function f(e){var t;if(Array.isArray(e)){t=new Array(e.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l"u"?r(606):WeakMap),o=0;function s(e,t,r,n,i,a,o){this.id=e,this.src=t,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(e){this.gl=e,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var e=this.cache,t=e.gl,r=this.programs,n=0,i=r.length;n 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(e,t,r){var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(e,t){var r,n=e.length;for(r=0;rt)return r-1}return r},s=function(e,t,r){return er?r:e},l=function(e){var t=1/0;e.sort((function(e,t){return e-t}));for(var r=e.length,n=1;nh-1||v>f-1||x>p-1)return n.create();var _,b,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][m],C=a[1][v],I=a[2][g],L=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-I)/(a[2][x]-I);switch(isFinite(L)||(L=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,y=h-1-y),r.reversedY&&(m=f-1-m,v=f-1-v),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=v*p,_=d*p*f,b=y*p*f;break;case 4:k=g,A=x,_=d*p,b=y*p,w=m*p*h,T=v*p*h;break;case 3:w=m,T=v,k=g*f,A=x*f,_=d*f*p,b=y*f*p;break;case 2:w=m,T=v,_=d*f,b=y*f,k=g*f*h,A=x*f*h;break;case 1:_=d,b=y,k=g*h,A=x*h,w=m*h*p,T=v*h*p;break;default:_=d,b=y,w=m*h,T=v*h,k=g*h*f,A=x*h*f}var D=i[_+w+k],O=i[_+w+A],R=i[_+T+k],F=i[_+T+A],B=i[b+w+k],j=i[b+w+A],N=i[b+T+k],U=i[b+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,D,B,L),n.lerp(q,O,j,L),n.lerp(H,R,N,L),n.lerp(G,F,U,L);var W=n.create(),Z=n.create();n.lerp(W,V,H,P),n.lerp(Z,q,G,P);var Y=n.create();return n.lerp(Y,W,Z,z),Y}(t,e,p)},x=e.getDivergence||function(e,t){var r=n.create(),i=1e-4;n.add(r,e,[i,0,0]);var a=v(r);n.subtract(a,a,t),n.scale(a,a,1/i),n.add(r,e,[0,i,0]);var o=v(r);n.subtract(o,o,t),n.scale(o,o,1/i),n.add(r,e,[0,0,i]);var s=v(r);return n.subtract(s,s,t),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},_=[],b=t[0][0],w=t[0][1],T=t[0][2],k=t[1][0],A=t[1][1],M=t[1][2],S=10*n.distance(t[0],t[1])/c,E=S*S,C=1,I=0,L=r.length;L>1&&(C=function(e){for(var t=[],r=[],n=[],i={},a={},o={},s=e.length,c=0;cI&&(I=N),B.push(N),_.push({points:D,velocities:O,divergences:B});for(var U=0;U<100*c&&D.lengthk||gA||yM));){U++;var V=n.clone(R),q=n.squaredLength(V);if(0===q)break;q>E&&n.scale(V,V,S/Math.sqrt(q)),n.add(V,V,z),R=v(V),n.squaredDistance(F,V)-E>-1e-4*E&&(D.push(V),F=V,O.push(R),j=x(V,R),N=n.length(j),isFinite(N)&&N>I&&(I=N),B.push(N)),z=V}}var H=function(e,t,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(e,r,a,o)})),h=[],f=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * (view * worldPosition);\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);t.createShader=function(e){var t=n(e,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createPickShader=function(e){var t=n(e,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createContourShader=function(e){var t=n(e,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t},t.createPickContourShader=function(e){var t=n(e,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t}},9499:function(e,t,r){e.exports=function(e){var t=e.gl,r=v(t),n=_(t),s=x(t),l=b(t),c=i(t),u=a(t,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(t),f=a(t,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(t),d=a(t,[{buffer:p,size:2,type:t.FLOAT}]),m=o(t,1,S,t.RGBA,t.UNSIGNED_BYTE);m.minFilter=t.LINEAR,m.magFilter=t.LINEAR;var g=new E(t,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in e)y[T]=e[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[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 M(e,t,r,n,i){this.position=e,this.index=t,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var e=0;e<3;++e){var t=A[e],r=(e+2)%3;t[(e+1)%3+0]=1,t[r+3]=1,t[e+6]=1}}();var S=256;function E(e,t,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=e,this.shape=t,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,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=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.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 C=E.prototype;C.genColormap=function(e,t){var r=!1,n=u([l({colormap:e,nshades:S,format:"rgba"}).map((function(e,n){var i=t?function(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}(n/255,t):e[3];return i<1&&(r=!0),[e[0],e[1],e[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(e){this.pickId=e};var I=[0,0,0],L={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 P(e,t){var r,n,i,a=t.axes&&t.axes.lastCubeProps.axis||I,o=t.showSurface,s=t.showContour;for(r=0;r<3;++r)for(o=o||t.surfaceProject[r],n=0;n<3;++n)s=s||t.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=t.axesBounds[+(a[r]>0)][r],p(l,e.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=e.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var z={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},D=T.slice(),O=[1,0,0,0,1,0,0,0,1];function R(e,t){e=e||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=e.model||T,n.view=e.view||T,n.projection=e.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)!this.surfaceProject[i]||!this.vertexCount||(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=t[1]*(e.value[1]+(15&e.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=i+u,d=s+f,g=h*(f?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(p,d)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(b-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/t[0],r.uv[1]=o/t[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(e,t){var r=t.shape.slice(),n=e.shape.slice();c.assign(e.lo(1,1).hi(r[0],r[1]),t),c.assign(e.lo(1).hi(r[0],1),t.hi(r[0],1)),c.assign(e.lo(1,n[1]-1).hi(r[0],1),t.lo(0,r[1]-1).hi(r[0],1)),c.assign(e.lo(0,1).hi(1,r[1]),t.hi(1)),c.assign(e.lo(n[0]-1,1).hi(1,r[1]),t.lo(r[0]-1)),e.set(0,0,t.get(0,0)),e.set(0,n[1]-1,t.get(0,r[1]-1)),e.set(n[0]-1,0,t.get(r[0]-1,0)),e.set(n[0]-1,n[1]-1,t.get(r[0]-1,r[1]-1))},C.update=function(e){e=e||{},this.objectOffset=e.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in e&&(this.contourWidth=B(e.contourWidth,Number)),"showContour"in e&&(this.showContour=B(e.showContour,Boolean)),"showSurface"in e&&(this.showSurface=!!e.showSurface),"contourTint"in e&&(this.contourTint=B(e.contourTint,Boolean)),"contourColor"in e&&(this.contourColor=N(e.contourColor)),"contourProject"in e&&(this.contourProject=B(e.contourProject,(function(e){return B(e,Boolean)}))),"surfaceProject"in e&&(this.surfaceProject=e.surfaceProject),"dynamicColor"in e&&(this.dynamicColor=N(e.dynamicColor)),"dynamicTint"in e&&(this.dynamicTint=B(e.dynamicTint,Number)),"dynamicWidth"in e&&(this.dynamicWidth=B(e.dynamicWidth,Number)),"opacity"in e&&(this.opacity=e.opacity),"opacityscale"in e&&(this.opacityscale=e.opacityscale),"colorBounds"in e&&(this.colorBounds=e.colorBounds),"vertexColor"in e&&(this.vertexColor=e.vertexColor?1:0),"colormap"in e&&this._colorMap.setPixels(this.genColormap(e.colormap,this.opacityscale));var t=e.field||e.coords&&e.coords[2]||null,r=!1;if(t||(t=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in e||"coords"in e){var i=(t.shape[0]+2)*(t.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[t.shape[0]+2,t.shape[1]+2]),this.padField(this._field[2],t),this.shape=t.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(e.coords){var l=e.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(e.ticks){var u=e.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xe=0;xe<5;++xe)J.pop();U-=1}continue e}J.push(ne[0],ne[1],oe[0],oe[1],ne[2]),U+=1}}re.push(U)}this._contourOffsets[Q]=te,this._contourCounts[Q]=re}var _e=s.mallocFloat(J.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,t.stride.slice()),c=0;"float32"===r?c=e.FLOAT:"float64"===r?(c=e.FLOAT,l=!1,r="float32"):"uint8"===r?c=e.UNSIGNED_BYTE:(c=e.UNSIGNED_BYTE,l=!1,r="uint8");var h=0;if(2===o.length)h=e.LUMINANCE,o=[o[0],o[1],1],t=n(t.data,o,[t.stride[0],t.stride[1],1],t.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])h=e.ALPHA;else if(2===o[2])h=e.LUMINANCE_ALPHA;else if(3===o[2])h=e.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");h=e.RGBA}}c===e.FLOAT&&!e.getExtension("OES_texture_float")&&(c=e.UNSIGNED_BYTE,l=!1);var p,g,y=t.size;if(l)p=0===t.offset&&t.data.length===y?t.data:t.data.subarray(t.offset,t.offset+y);else{var v=[o[2],o[2]*o[0],1];g=a.malloc(y,r);var x=n(g,o,v,0);"float32"!==r&&"float64"!==r||c!==e.UNSIGNED_BYTE?i.assign(x,t):u(x,t),p=g.subarray(0,y)}var _=m(e);return e.texImage2D(e.TEXTURE_2D,0,h,o[0],o[1],0,h,c,p),l||a.free(g),new f(e,_,o[0],o[1],h,c)}(e,t)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(e){return typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLVideoElement<"u"&&e instanceof HTMLVideoElement||typeof ImageData<"u"&&e instanceof ImageData}var u=function(e,t){i.muls(e,t,255)};function h(e,t,r){var n=e.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(t<0||t>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return e._shape=[t,r],e.bind(),n.texImage2D(n.TEXTURE_2D,0,e.format,t,r,0,e.format,e.type,null),e._mipLevels=[0],e}function f(e,t,r,n,i,a){this.gl=e,this.handle=t,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=e.NEAREST,this._minFilter=e.NEAREST,this._wrapS=e.CLAMP_TO_EDGE,this._wrapT=e.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(e){return o.wrapS=e}},{get:function(){return o._wrapT},set:function(e){return o.wrapT=e}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(e){return o.width=e}},{get:function(){return o._shape[1]},set:function(e){return o.height=e}}]),this._shapeVector=l}var p=f.prototype;function d(e,t){return 3===e.length?1===t[2]&&t[1]===e[0]*e[2]&&t[0]===e[2]:1===t[0]&&t[1]===e[0]}function m(e){var t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function g(e,t,r,n,i){var a=e.getParameter(e.MAX_TEXTURE_SIZE);if(t<0||t>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===e.FLOAT&&!e.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(e);return e.texImage2D(e.TEXTURE_2D,0,n,t,r,0,n,i,null),new f(e,o,t,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),this._minFilter=e}},magFilter:{get:function(){return this._magFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),this._magFilter=e}},mipSamples:{get:function(){return this._anisoSamples},set:function(e){var t=this._anisoSamples;if(this._anisoSamples=0|Math.max(e,1),t!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,e),this._wrapS=e}},wrapT:{get:function(){return this._wrapT},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,e),this._wrapT=e}},wrap:{get:function(){return this._wrapVector},set:function(e){if(Array.isArray(e)||(e=[e,e]),2!==e.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var t=0;t<2;++t)if(l.indexOf(e[t])<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);this._wrapS=e[0],this._wrapT=e[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),e}},shape:{get:function(){return this._shapeVector},set:function(e){if(Array.isArray(e)){if(2!==e.length)throw new Error("gl-texture2d: Invalid texture shape")}else e=[0|e,0|e];return h(this,0|e[0],0|e[1]),[0|e[0],0|e[1]]}},width:{get:function(){return this._shape[0]},set:function(e){return h(this,e|=0,this._shape[1]),e}},height:{get:function(){return this._shape[1]},set:function(e){return e|=0,h(this,this._shape[0],e),e}}}),p.bind=function(e){var t=this.gl;return void 0!==e&&t.activeTexture(t.TEXTURE0+(0|e)),t.bindTexture(t.TEXTURE_2D,this.handle),void 0!==e?0|e:t.getParameter(t.ACTIVE_TEXTURE)-t.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var e=Math.min(this._shape[0],this._shape[1]),t=0;e>0;++t,e>>>=1)this._mipLevels.indexOf(t)<0&&this._mipLevels.push(t)},p.setPixels=function(e,t,r,o){var s=this.gl;this.bind(),Array.isArray(t)?(o=r,r=0|t[1],t=0|t[0]):(t=t||0,r=r||0),o=o||0;var l=c(e)?e:e.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,t,r,this.format,this.type,l);else{if(!(e.shape&&e.stride&&e.data))throw new Error("gl-texture2d: Unsupported data type");if(e.shape.length<2||t+e.shape[1]>this._shape[1]>>>o||r+e.shape[0]>this._shape[0]>>>o||t<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(e,t,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=d(p,h.stride.slice());if("float32"===f?m=e.FLOAT:"float64"===f?(m=e.FLOAT,y=!1,f="float32"):"uint8"===f?m=e.UNSIGNED_BYTE:(m=e.UNSIGNED_BYTE,y=!1,f="uint8"),2===p.length)g=e.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=e.ALPHA;else if(2===p[2])g=e.LUMINANCE_ALPHA;else if(3===p[2])g=e.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=e.RGBA}p[2]}if((g===e.LUMINANCE||g===e.ALPHA)&&(s===e.LUMINANCE||s===e.ALPHA)&&(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data):x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _;_=l===e.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var b=n(_,p,[p[2],p[2]*p[0],1]);m===e.FLOAT&&l===e.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,_.subarray(0,v)),l===e.FLOAT?a.freeFloat32(_):a.freeUint8(_)}}(s,t,r,o,this.format,this.type,this._mipLevels,e)}}},1433:function(e){e.exports=function(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(e){e.exports=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}},3126:function(e){e.exports=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},3990:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},1091:function(e){e.exports=function(){var e=new Float32Array(3);return e[0]=0,e[1]=0,e[2]=0,e}},5911:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e}},5455:function(e,t,r){e.exports=r(7056)},7056:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(e,t,r){e.exports=r(6690)},6690:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}},244:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}},2613:function(e){e.exports=1e-6},9922:function(e,t,r){e.exports=function(e,t){var r=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(e){e.exports=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}},2681:function(e){e.exports=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}},5137:function(e,t,r){e.exports=function(e,t,r,i,a,o){var s,l;for(t||(t=3),r||(r=0),l=i?Math.min(i*t+r,e.length):e.length,s=r;s0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e}},7636:function(e){e.exports=function(e,t){t=t||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}},6894:function(e){e.exports=function(e,t,r,n){var i=r[1],a=r[2],o=t[1]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=t[0],e[1]=i+o*c-s*l,e[2]=a+o*l+s*c,e}},109:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[2],o=t[0]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+s*l+o*c,e[1]=t[1],e[2]=a+s*c-o*l,e}},8692:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[1],o=t[0]-i,s=t[1]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+o*c-s*l,e[1]=a+o*l+s*c,e[2]=t[2],e}},2447:function(e){e.exports=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}},6621:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}},8489:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}},1463:function(e){e.exports=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}},6141:function(e,t,r){e.exports=r(2953)},5486:function(e,t,r){e.exports=r(3066)},2953:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}},3066:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}},2229:function(e,t,r){e.exports=r(6843)},6843:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}},492:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}},5673:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}},264:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+p*-o+h*-l-f*-s,e[1]=h*c+p*-s+f*-o-u*-l,e[2]=f*c+p*-l+u*-s-h*-o,e}},4361:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}},2335:function(e){e.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},2933:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},7536:function(e){e.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},4691:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}},3750:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},3390:function(e){e.exports=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i}},9970:function(e,t,r){e.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(e){e.exports=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},6808:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}},2573:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}},160:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}},2334:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}},3576:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}},1498:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},5177:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}},9131:function(e,t,r){var n=r(5177),i=r(9288);e.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),n(e,e),i(e,e,t),e}},9288:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}},4844:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}},4578:function(e){e.exports=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}},7960:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a}},483:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}},6860:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}},5352:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}},4041:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+p*-o+h*-l-f*-s,e[1]=h*c+p*-s+f*-o-u*-l,e[2]=f*c+p*-l+u*-s-h*-o,e[3]=t[3],e}},1848:function(e,t,r){var n=r(4905),i=r(6468);e.exports=function(e){for(var t=Array.isArray(e)?e:n(e),r=0;r0)continue;r=e.slice(0,1).join("")}return j(r),L+=r.length,(S=S.slice(r.length)).length}}function q(){if(/[^\d\w_]/.test(t)){var e=S.join("");return M=B[e]?v:F[e]?y:g,j(S.join("")),M=l,k}return S.push(t),r=t,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,m=5,g=6,y=7,v=8,x=9,_=10,b=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(e,t,r){var n=r(6852);n=n.slice().filter((function(e){return!/^(gl\_|texture)/.test(e)})),e.exports=n.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(e){e.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(e,t,r){var n=r(620);e.exports=n.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(e){e.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(e){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(e,t,r){var n=r(5874);e.exports=function(e,t){var r=n(t),i=[];return(i=i.concat(r(e))).concat(r(null))}},3236:function(e){e.exports=function(e){"string"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}},8954:function(e,t,r){e.exports=function(e,t){var r=e.length;if(0===r)throw new Error("Must have at least d+1 points");var i=e[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=e.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);f[u]=y,p[u]=y}for(p[i+1]=h,u=0;u<=i;++u){d=f[u].vertices;var v=f[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)v[m]=h;else for(var _=0;_<=i;++_)f[_].vertices.indexOf(x)<0&&(v[m]=f[_])}}var b=new c(i,o,p),w=!!t;for(u=i+1;u0;)for(var s=(e=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];i[h]=f<0?t:a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=t?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];e:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=e;var p=this.orient();if(a[u]=f,p<0){s=h;continue e}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[t];t.lastVisited=r,t.vertices[t.vertices.indexOf(-1)]=r,t.boundary=!1,c.push(t);for(var f=[];h.length>0;){var p=(t=h.pop()).vertices,d=t.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=e):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(t);if(!(A<0))for(b[A]=k,T[m]=y,w[g]=-1,T[g]=t,d[g]=k,k.flip(),_=0;_<=n;++_){var M=w[_];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var I=w[C];I<0||C===_||(S[E++]=I)}f.push(new o(S,k,_))}}}}}for(f.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&e)){var h=o[0];o[0]=o[1],o[1]=h}t.push(o)}}return t}},3352:function(e,t,r){var n=r(2478);function i(e,t,r,n,i){this.mid=e,this.left=t,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(t?t.count:0)+(r?r.count:0)+n.length}e.exports=function(e){return e&&0!==e.length?new y(g(e)):new y(null)};var a=i.prototype;function o(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function s(e,t){var r=g(t);e.mid=r.mid,e.left=r.left,e.right=r.right,e.leftPoints=r.leftPoints,e.rightPoints=r.rightPoints,e.count=r.count}function l(e,t){var r=e.intervals([]);r.push(t),s(e,r)}function c(e,t){var r=e.intervals([]),n=r.indexOf(t);return n<0?0:(r.splice(n,1),s(e,r),1)}function u(e,t,r){for(var n=0;n=0&&e[n][1]>=t;--n){var i=r(e[n]);if(i)return i}}function f(e,t){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(t+1)?l(this,e):this.left.insert(e):this.left=g([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?l(this,e):this.right.insert(e):this.right=g([e]);else{var r=n.ge(this.leftPoints,e,d),i=n.ge(this.rightPoints,e,m);this.leftPoints.splice(r,0,e),this.rightPoints.splice(i,0,e)}},a.remove=function(e){var t=this.count-this.leftPoints;if(e[1]3*(t-1)?c(this,e):2===(s=this.left.remove(e))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(e[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(t-1)?c(this,e):2===(s=this.right.remove(e))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,e,d);athis.mid?this.right&&(r=this.right.queryPoint(e,t))?r:h(this.rightPoints,e,t):f(this.leftPoints,t);var r},a.queryInterval=function(e,t,r){var n;return ethis.mid&&this.right&&(n=this.right.queryInterval(e,t,r))?n:tthis.mid?h(this.rightPoints,e,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(e){this.root?this.root.insert(e):this.root=new i(e[0],null,null,[e],[e])},v.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},v.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},v.queryInterval=function(e,t,r){if(e<=t&&this.root)return this.root.queryInterval(e,t,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9507:function(e){e.exports=!0},7163:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},5219:function(e){e.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},395:function(e){e.exports=function(e,t,r){return e*(1-r)+t*r}},2652:function(e,t,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(e,t,r,n,i){e[0]=t[0]*n+r[0]*i,e[1]=t[1]*n+r[1]*i,e[2]=t[2]*n+r[2]*i}e.exports=function(e,t,r,i,g,y){if(t||(t=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,e)||(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8)))return!1;var v=u[3],x=u[7],_=u[11],b=u[12],w=u[13],T=u[14],k=u[15];if(0!==v||0!==x||0!==_){if(f[0]=v,f[1]=x,f[2]=_,f[3]=k,!s(h,h))return!1;l(h,h),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o}(g,f,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(t[0]=b,t[1]=w,t[2]=T,function(e,t){e[0][0]=t[0],e[0][1]=t[1],e[0][2]=t[2],e[1][0]=t[4],e[1][1]=t[5],e[1][2]=t[6],e[2][0]=t[8],e[2][1]=t[9],e[2][2]=t[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var A=0;A<3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(e){e.exports=function(e,t){var r=t[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)e[i]=t[i]*n;return!0}},7442:function(e,t,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(e){return[e||0,e||0,e||0]}e.exports=function(e,t,r,h){if(0===o(t)||0===o(r))return!1;var f=a(t,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(e,t,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());e.exports=function(e,t,r,a,o,s){return n.identity(e),n.fromRotationTranslation(e,s,t),e[3]=o[0],e[7]=o[1],e[11]=o[2],e[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(e,e,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(e,e,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(e,e,i)),n.scale(e,e,r),e}},1811:function(e,t,r){var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),f=[0,0,0];function p(e){this._components=e.slice(),this._time=[0],this.prevMatrix=e.slice(),this.nextMatrix=e.slice(),this.computedMatrix=e.slice(),this.computedInverse=e.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]}e.exports=function(e){return new p((e=e||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(e){var t=this._time,r=n.le(t,e),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===t.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=t[r+1]-t[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(e-t[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,_=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(e){if(!(e1&&n(e[o[u-2]],e[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(e[s[u-2]],e[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(i=0,o.length);i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(e,t,r){e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return"altKey"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),"shiftKey"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),"ctrlKey"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),"metaKey"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function c(e,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(e=0|s.buttons),(e!==r||c!==i||u!==a||l(s))&&(r=0|e,i=c||0,a=u||0,t&&t(r,i,a,o))}function u(e){c(0,e)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function f(e){l(e)&&t&&t(r,i,a,o)}function p(e){0===n.buttons(e)?c(0,e):c(r,e)}function d(e){c(r|n.buttons(e),e)}function m(e){c(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener("mousemove",p),e.addEventListener("mousedown",d),e.addEventListener("mouseup",m),e.addEventListener("mouseleave",u),e.addEventListener("mouseenter",u),e.addEventListener("mouseout",u),e.addEventListener("mouseover",u),e.addEventListener("blur",h),e.addEventListener("keyup",f),e.addEventListener("keydown",f),e.addEventListener("keypress",f),e!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:e};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener("mousemove",p),e.removeEventListener("mousedown",d),e.removeEventListener("mouseup",m),e.removeEventListener("mouseleave",u),e.removeEventListener("mouseenter",u),e.removeEventListener("mouseout",u),e.removeEventListener("mouseover",u),e.removeEventListener("blur",h),e.removeEventListener("keyup",f),e.removeEventListener("keydown",f),e.removeEventListener("keypress",f),e!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i=e.clientX||0,a=e.clientY||0,o=function(e){return e===window||e===document||e===document.body?t:e.getBoundingClientRect()}(r);return n[0]=i-o.left,n[1]=a-o.top,n}},4687:function(e,t){function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if("object"==typeof e){if("buttons"in e)return e.buttons;if("which"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<=0)return 1< 0"),"function"!=typeof e.vertex&&t("Must specify vertex creation function"),"function"!=typeof e.cell&&t("Must specify cell creation function"),"function"!=typeof e.phase&&t("Must specify phase function");for(var o=e.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(e,t,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(e,t,r,n.mallocUint32,n.freeUint32)}(e.vertex,e.cell,e.phase,0,r,s)};var i={"false,0,1":function(e,t,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),I=n(E),L=0,P=0,z=-1,D=-1,O=0,R=0|-u,F=0|u,B=0,j=-u-1|0,N=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[L++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[L]=r(c,o,s,l),O=C[L+z],B=C[L+R],U=C[L+j],(P!==O||P!==B||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,O,B,U,o,s,l),V=I[L]=S++),L+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[L]=r(c,o,s,l),O=C[L+z],B=C[L+R],U=C[L+j],(P!==O||P!==B||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,O,B,U,o,s,l),V=I[L]=S++,U!==B&&t(I[L+R],V,_,w,B,U,o,s,l)),L+=1,g+=T,A=2;A0){if(A=1,C[L++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[L]=r(c,o,s,l),B=C[L+R],O=C[L+z],U=C[L+j],(P!==B||P!==O||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,B,O,U,o,s,l),V=I[L]=S++),L+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[L]=r(c,o,s,l),B=C[L+R],O=C[L+z],U=C[L+j],(P!==B||P!==O||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,B,O,U,o,s,l),V=I[L]=S++,U!==B&&t(I[L+R],V,w,v,U,B,o,s,l)),L+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),e.pick(0,-1,1).lo(1).hi(a[1]-2)),t(e.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),e.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),t(e.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),e.pick(-1,0,0).lo(1).hi(a[0]-2)),t(e.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),e.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),t(e.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),e.set(0,0,0,0),e.set(0,0,1,0),e.set(a[0]-1,0,0,0),e.set(a[0]-1,0,1,0),e.set(0,a[1]-1,0,0),e.set(0,a[1]-1,1,0),e.set(a[0]-1,a[1]-1,0,0),e.set(a[0]-1,a[1]-1,1,0),e}}e.exports=function(e,t,r){if(Array.isArray(r)||(r=n(t.dimension,"string"==typeof r?r:"clamp")),0===t.size)return e;if(0===t.dimension)return e.set(0),e;var i=function(e){var t=e.join();if(a=u[t])return a;for(var r=e.length,n=[h,f],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[t]=a,a}(r);return i(e,t)}},4317:function(e){function t(e,t){var r=Math.floor(t),n=t-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|e[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=p,A=h-u*p,M=f-l*h,S=g,E=d-u*g,C=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|e[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=u,_=c-l*u,b=f,w=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|e[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|e[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=f,A=u-c*f,M=h-s*u,S=m,E=p-c*m,C=d-s*p;for(T=0;Tr;){y=0,v=m-o;t:for(g=0;g_)break t;v+=h,y+=f}for(y=m,v=m-o,g=0;g>1,H=q-N,G=q+N,W=U,Z=H,Y=q,X=G,$=V,K=i+1,J=a-1,Q=!0,ee=0,te=0,re=0,ne=h,ie=t(ne),ae=t(ne);A=l*W,M=l*Z,j=s;e:for(k=0;k0){g=W,W=Z,Z=g;break e}if(re<0)break e;j+=p}A=l*X,M=l*$,j=s;e:for(k=0;k0){g=X,X=$,$=g;break e}if(re<0)break e;j+=p}A=l*W,M=l*Y,j=s;e:for(k=0;k0){g=W,W=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*Y,j=s;e:for(k=0;k0){g=Z,Z=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*W,M=l*X,j=s;e:for(k=0;k0){g=W,W=X,X=g;break e}if(re<0)break e;j+=p}A=l*Y,M=l*X,j=s;e:for(k=0;k0){g=Y,Y=X,X=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*$,j=s;e:for(k=0;k0){g=Z,Z=$,$=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*Y,j=s;e:for(k=0;k0){g=Z,Z=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*X,M=l*$,j=s;e:for(k=0;k0){g=X,X=$,$=g;break e}if(re<0)break e;j+=p}for(A=l*W,M=l*Z,S=l*Y,E=l*X,C=l*$,I=l*U,L=l*q,P=l*V,B=0,j=s,k=0;k0)){if(re<0){for(A=l*_,M=l*K,S=l*J,j=s,k=0;k0)for(;;){for(b=s+J*l,B=0,k=0;k0)){for(b=s+J*l,B=0,k=0;kV){e:for(;;){for(b=s+K*l,B=0,j=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(e,t,l);return n(l,c)}},446:function(e,t,r){var n=r(7640),i={};e.exports=function(e){var t=e.order,r=e.dtype,a=[t,r].join(":"),o=i[a];return o||(i[a]=o=n(t,r)),o(e),e}},9618:function(e,t,r){var n=r(7163),i=typeof Float64Array<"u";function a(e,t){return e[0]-t[0]}function o(){var e,t=this.stride,r=new Array(t.length);for(e=0;e=0&&(t+=a*(r=0|e),i-=r),new n(this.data,i,a,t)},i.step=function(e){var t=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof e&&((a=0|e)<0?(i+=r*(t-1),t=o(-t/a)):t=o(t/a),r*=a),new n(this.data,t,r,i)},i.transpose=function(e){e=void 0===e?0:0|e;var t=this.shape,r=this.stride;return new n(this.data,t[e],r[e],this.offset)},i.pick=function(e){var r=[],n=[],i=this.offset;return"number"==typeof e&&e>=0?i=i+this.stride[0]*e|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,t[r.length+1])(this.data,r,n,i)},function(e,t,r,i){return new n(e,t[0],r[0],i)}},2:function(e,t,r){function n(e,t,r,n,i,a){this.data=e,this.shape=[t,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=e,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(t,r,n){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]=n},i.get=function(t,r){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]},i.index=function(e,t){return this.offset+this.stride[0]*e+this.stride[1]*t},i.hi=function(e,t){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,this.stride[0],this.stride[1],this.offset)},i.lo=function(e,t){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof e&&e>=0&&(r+=s*(i=0|e),a-=i),"number"==typeof t&&t>=0&&(r+=l*(i=0|t),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(e,t){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof e&&((l=0|e)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof t&&((l=0|t)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(e,t){e=void 0===e?0:0|e,t=void 0===t?1:0|t;var r=this.shape,i=this.stride;return new n(this.data,r[e],r[t],i[e],i[t],this.offset)},i.pick=function(e,r){var n=[],i=[],a=this.offset;return"number"==typeof e&&e>=0?a=a+this.stride[0]*e|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,t[n.length+1])(this.data,n,i,a)},function(e,t,r,i){return new n(e,t[0],t[1],r[0],r[1],i)}},3:function(e,t,r){function n(e,t,r,n,i,a,o,s){this.data=e,this.shape=[t,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=e,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var e=Math.abs(this.stride[0]),t=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return e>t?t>r?[2,1,0]:e>r?[1,2,0]:[1,0,2]:e>r?[2,0,1]:r>t?[0,1,2]:[0,2,1]}}),i.set=function(t,r,n,i){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(t,r,n){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]},i.index=function(e,t,r){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r},i.hi=function(e,t,r){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(e,t,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof e&&e>=0&&(i+=c*(a=0|e),o-=a),"number"==typeof t&&t>=0&&(i+=u*(a=0|t),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(e,t,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return"number"==typeof e&&((h=0|e)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),"number"==typeof t&&((h=0|t)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(e,t,r){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[e],i[t],i[r],a[e],a[t],a[r],this.offset)},i.pick=function(e,r,n){var i=[],a=[],o=this.offset;return"number"==typeof e&&e>=0?o=o+this.stride[0]*e|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,t[i.length+1])(this.data,i,a,o)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],r[0],r[1],r[2],i)}},4:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c){this.data=e,this.shape=[t,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=e,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(t,r,n,i){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(e,t,r,n){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n},i.hi=function(e,t,r,i){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(e,t,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof e&&e>=0&&(a+=h*(o=0|e),s-=o),"number"==typeof t&&t>=0&&(a+=f*(o=0|t),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(e,t,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return"number"==typeof e&&((d=0|e)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),"number"==typeof t&&((d=0|t)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),"number"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),"number"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(e,t,r,i){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[e],a[t],a[r],a[i],o[e],o[t],o[r],o[i],this.offset)},i.pick=function(e,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof e&&e>=0?s=s+this.stride[0]*e|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,t[a.length+1])(this.data,a,o,s)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],r[0],r[1],r[2],r[3],i)}},5:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c,u,h){this.data=e,this.shape=[t,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=e,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a,o){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(t,r,n,i,a){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(e,t,r,n,i){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(e,t,r,i,a){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(e,t,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof e&&e>=0&&(o+=p*(s=0|e),l-=s),"number"==typeof t&&t>=0&&(o+=d*(s=0|t),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(e,t,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof e&&((y=0|e)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof t&&((y=0|t)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(e,t,r,i,a){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[e],o[t],o[r],o[i],o[a],s[e],s[t],s[r],s[i],s[a],this.offset)},i.pick=function(e,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof e&&e>=0?l=l+this.stride[0]*e|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,t[o.length+1])(this.data,o,s,l)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],t[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(e,t){var r=-1===t?"T":String(t),n=s[r];return-1===t?n(e):0===t?n(e,c[e][0]):n(e,c[e],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(e,t,r,a){if(void 0===e)return(0,c.array[0])([]);"number"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var o=t.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=t[s]}if(void 0===a)for(a=0,s=0;s>>0;e.exports=function(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e===t)return e;if(0===e)return t<0?-i:i;var r=n.hi(e),o=n.lo(e);return t>e==e>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(e,t){t.vertexNormals=function(e,t,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var _=i[c],b=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}}for(o=0;oa)for(b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(x=0;x<3;++x)_[x]=0}return i},t.faceNormals=function(e,t,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(e){e.exports=function(e,t,r,n,i,a,o,s,l,c){var u=t+a+c;if(h>0){var h=Math.sqrt(u+1);e[0]=.5*(o-l)/h,e[1]=.5*(s-n)/h,e[2]=.5*(r-a)/h,e[3]=.5*h}else{var f=Math.max(t,a,c);h=Math.sqrt(2*f-u+1),t>=f?(e[0]=.5*h,e[1]=.5*(i+r)/h,e[2]=.5*(s+n)/h,e[3]=.5*(o-l)/h):a>=f?(e[0]=.5*(r+i)/h,e[1]=.5*h,e[2]=.5*(l+o)/h,e[3]=.5*(s-n)/h):(e[0]=.5*(n+s)/h,e[1]=.5*(o+l)/h,e[2]=.5*h,e[3]=.5*(r-i)/h)}return e}},9977:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.rotation||[0,0,0,1],n=e.radius||1;t=[].slice.call(t,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,t,Math.log(n));return i.setDistanceLimits(e.zoomMin,e.zoomMax),("eye"in e||"up"in e)&&i.lookAt(0,e.eye,e.center,e.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function c(e,t,r,n){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2)+Math.pow(n,2))}function u(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=c(r,n,i,a);o>1e-6?(e[0]=r/o,e[1]=n/o,e[2]=i/o,e[3]=a/o):(e[0]=e[1]=e[2]=0,e[3]=1)}function h(e,t,r){this.radius=n([r]),this.center=n(t),this.rotation=n(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 f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(e){this.radius.curve(e),this.center.curve(e),this.rotation.curve(e);var t=this.computedRotation;u(t,t);var r=this.computedMatrix;a(r,t);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r},f.idle=function(e){this.center.idle(e),this.radius.idle(e),this.rotation.idle(e)},f.flush=function(e){this.center.flush(e),this.radius.flush(e),this.rotation.flush(e)},f.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*t+a*r,w=h*t+o*r,T=f*t+s*r;this.center.move(e,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(e,Math.log(k))},f.rotate=function(e,t,r,n){this.recalcMatrix(e),t=t||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=t*a+r*u,y=t*o+r*h,v=t*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,I=M*w+E*_+S*x-A*b,L=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){x=p,_=d,b=m;var z=Math.sin(n)/l(x,_,b);x*=z,_*=z,b*=z,P=P*(w=Math.cos(t))-(C=C*w+P*x+I*b-L*_)*x-(I=I*w+P*_+L*x-C*b)*_-(L=L*w+P*b+C*_-I*x)*b}var D=c(C,I,L,P);D>1e-6?(C/=D,I/=D,L/=D,P/=D):(C=I=L=0,P=1),this.rotation.set(e,C,I,L,P)},f.lookAt=function(e,t,r,n){this.recalcMatrix(e),r=r||this.computedCenter,t=t||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,t,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(e,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-t[c],2);this.radius.set(e,.5*Math.log(Math.max(l,1e-6))),this.center.set(e,r[0],r[1],r[2])},f.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},f.setMatrix=function(e,t){var r=this.computedRotation;s(r,t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]),u(r,r),this.rotation.set(e,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,t);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(e);var h=Math.exp(this.computedRadius[0]);this.center.set(e,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(e)}else this.center.idle(e),this.radius.idle(e)},f.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},f.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},f.getDistanceLimits=function(e){var t=this.radius.bounds;return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},f.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]}},f.fromJSON=function(e){var t=this.lastT(),r=e.center;r&&this.center.set(t,r[0],r[1],r[2]);var n=e.rotation;n&&this.rotation.set(t,n[0],n[1],n[2],n[3]);var i=e.distance;i&&i>0&&this.radius.set(t,Math.log(i)),this.setDistanceLimits(e.zoomMin,e.zoomMax)}},1371:function(e,t,r){var n=r(3233);e.exports=function(e,t,r){return n(r=typeof r<"u"?r+"":" ",t)+e}},3202:function(e){e.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}},3088:function(e,t,r){e.exports=function(e,t){for(var r=0|t.length,i=e.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&u(o,l),s}function f(e,r){var i=a[r][e][0],o=[e];u(i,r);for(var s=i[1^r];;){for(;s!==e;)o.push(s),s=h(o[o.length-2],s,!1);if(a[0][e].length+a[1][e].length===0)break;var l=o[o.length-1],c=e,f=o[1],p=h(l,c,!0);if(n(t[l],t[c],t[f],t[p])<0)break;o.push(e),s=h(l,c)}return o}for(o=0;o0;){a[0][o].length;var m=f(o,p);(l=m)[1]===l[l.length-1]?d.push.apply(d,m):(d.length>0&&c.push(d),d=m)}d.length>0&&c.push(d)}return c};var n=r(3140)},5609:function(e,t,r){e.exports=function(e,t){for(var r=n(e,t.length),i=new Array(t.length),a=new Array(t.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var c=r[p];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(p=0;p0;){var B=R.pop(),j=E[B];l(j,(function(e,t){return e-t}));var N,U=j.length,V=F[B];for(0===V&&(N=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0!==V)||O(q=d[H])||(q.reverse(),N.push(q))}0===V&&r.push(N)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(e,t){for(var r=new Array(e),n=0;n0&&t[i]===r[0]))return 1;a=e[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(g.slabs,g.coordinates);return 0===a.length?y:function(e,t){return function(r){return e(r[0],r[1])?0:t(r)}}(l(a),y)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(e){for(var t={},r=0;r=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d):(k=0,p>=0?(A=0,v=d):-p>=h?(A=1,v=h+2*p+d):v=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,v=d):-f>=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d;else{var M=1/T;v=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(_=h+p)>(x=u+f)?(b=_-x)>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,_<=0?(A=1,v=h+2*p+d):p>=0?(A=0,v=d):v=p*(A=-p/h)+d):A<0?(_=c+f)>(x=u+p)?(b=_-x)>=(w=c-2*u+h)?(A=1,k=0,v=h+2*p+d):v=(k=1-(A=b/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,_<=0?(k=1,v=c+2*f+d):f>=0?(k=0,v=d):v=f*(k=-f/c)+d):(b=h+p-u-f)<=0?(k=0,A=1,v=h+2*p+d):b>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=e[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}e[r++]=s}}return e.length=r,e}},3233:function(e){var t,r="";e.exports=function(e,n){if("string"!=typeof e)throw new TypeError("expected a string");if(1===n)return e;if(2===n)return e+e;var i=e.length*n;if(t!==e||typeof t>"u")t=e,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=e),n>>=1,e+=e;return r=(r+=e).substr(0,i)}},3025:function(e,t,r){e.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(e){e.exports=function(e){for(var t=e.length,r=e[e.length-1],n=t,i=t-2;i>=0;--i){var a=r;(l=(s=e[i])-((r=a+s)-a))&&(e[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=l*n;return o>=s||o<=-s?o:d(e,t,r)},function(e,t,r,n){var i=e[0]-n[0],a=t[0]-n[0],o=r[0]-n[0],s=e[1]-n[1],l=t[1]-n[1],u=r[1]-n[1],h=e[2]-n[2],f=t[2]-n[2],p=r[2]-n[2],d=a*u,g=o*l,y=o*s,v=i*u,x=i*l,_=a*s,b=h*(d-g)+f*(y-v)+p*(x-_),w=(Math.abs(d)+Math.abs(g))*Math.abs(h)+(Math.abs(y)+Math.abs(v))*Math.abs(f)+(Math.abs(x)+Math.abs(_))*Math.abs(p),T=c*w;return b>T||-b>T?b:m(e,t,r,n)}];function y(e){var t=g[e.length];return t||(t=g[e.length]=p(e.length)),t.apply(void 0,e)}function v(e,t,r,n,i,a,o){return function(t,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,s);case 4:return a(t,r,s,l);case 5:return o(t,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,e,t),l=n(i,e,t);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(e,t,r,n){for(var i=0;i<2;++i){var a=e[i],o=t[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)"u"&&(s=function(e){for(var t=e.length,r=0,n=0;n>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.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},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=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|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},2014:function(e,t,r){var n=r(3105),i=r(4623);function a(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:return(s=e[0]+e[1]-t[0]-t[1])||i(e[0],e[1])-i(t[0],t[1]);case 3:var a=e[0]+e[1],o=t[0]+t[1];if(s=a+e[2]-(o+t[2]))return s;var s,l=i(e[0],e[1]),c=i(t[0],t[1]);return(s=i(l,e[2])-i(c,t[2]))||i(l+e[2],a)-i(c+t[2],o);default:var u=e.slice(0);u.sort();var h=t.slice(0);h.sort();for(var f=0;f>1,s=a(e[o],t);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(e,t){for(var r=new Array(e.length),i=0,o=r.length;i=e.length||0!==a(e[g],s)););}return r}function h(e,t){if(t<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);t.push(c)}return s(t)},t.skeleton=h,t.boundary=function(e){for(var t=[],r=0,n=e.length;r>1:(e>>1)-1}function x(e){for(var t=y(e);;){var r=t,n=2*e+1,i=2*(e+1),a=e;if(n0;){var r=v(e);if(!(r>=0&&t0){var e=k[0];return g(0,M-1),M-=1,x(0),e}return-1}function w(e,t){var r=k[e];return c[r]===t?e:(c[r]=-1/0,_(e),b(),c[r]=t,_((M+=1)-1))}function T(e){if(!u[e]){u[e]=!0;var t=s[e],r=l[e];s[r]>=0&&(s[r]=t),l[t]>=0&&(l[t]=r),A[t]>=0&&w(A[t],m(t)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=b();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&t!==r){var n=A[t],i=A[r];n!==i&&I.push([n,i])}})),i.unique(i.normalize(I)),{positions:E,edges:I}};var n=r(3250),i=r(2014)},1303:function(e,t,r){e.exports=function(e,t){var r,a,o,s;if(t[0][0]t[1][0]))return i(t,e);r=t[1],a=t[0]}if(e[0][0]e[1][0]))return-i(e,t);o=e[1],s=e[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(e,t){var r,i,a,o;if(t[0][0]t[1][0])){var s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]),c=Math.min(t[0][1],t[1][1]),u=Math.max(t[0][1],t[1][1]);return lu?s-u:l-u}r=t[1],i=t[0]}e[0][1]0)if(t[0]!==o[1][0])r=e,e=e.right;else{if(l=c(e.right,t))return l;e=e.left}else{if(t[0]!==o[1][0])return e;var l;if(l=c(e.right,t))return l;e=e.left}}return r}function u(e,t,r,n){this.y=e,this.index=t,this.start=r,this.closed=n}function h(e,t,r,n){this.x=e,this.segment=t,this.create=r,this.index=n}s.prototype.castUp=function(e){var t=n.le(this.coordinates,e[0]);if(t<0)return-1;this.slabs[t];var r=c(this.slabs[t],e),i=-1;if(r&&(i=r.value),this.coordinates[t]===e[0]){var s=null;if(r&&(s=r.key),t>0){var u=c(this.slabs[t-1],e);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[t];if(h.length>0){var f=n.ge(h,e[1],l);if(f=h.length)return i;p=h[f]}}if(p.start)if(s){var d=a(s[0],s[1],[e[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==e[1]&&(i=p.index)}}}return i}},5202:function(e,t,r){var n=r(1944),i=r(8210);function a(e,t){var r=i(n(e,t),[t[t.length-1]]);return r[r.length-1]}function o(e,t,r,n){var i=-t/(n-t);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=e.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(e,t,r){var n;!function(){var i={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 a(e){return function(e,t){var r,n,o,s,l,c,u,h,f,p=1,d=e.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",r=r.toString().replace(i.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return m}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){a|=1;var o=[],l=t[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function o(e,t){return a.apply(null,[e].concat(t||[]))}var s=Object.create(null);t.sprintf=a,t.vsprintf=o,typeof window<"u"&&(window.sprintf=a,window.vsprintf=o,void 0!==(n=function(){return{sprintf:a,vsprintf:o}}.call(t,r,t,e))&&(e.exports=n))}()},3711:function(e,t,r){e.exports=function(e,t){if(e.dimension<=0)return{positions:[],cells:[]};if(1===e.dimension)return function(e,t){for(var r=i(e,t),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=(0|o)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([e-.5,t-.5]);break;case 1:u.push([e-.25-.25*(n+r-2*f)/(r-n),t-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([e-.75-.25*(-n-r+2*f)/(n-r),t-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([e-.5,t-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([e-.25-.25*(a+i-2*f)/(i-a),t-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([e-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),t-.5]);break;case 6:u.push([e-.5-.25*(-n-r+a+i)/(n-r+i-a),t-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([e-.75-.25*(a+i-2*f)/(i-a),t-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([e-.75-.25*(-a-i+2*f)/(a-i),t-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([e-.5-.25*(n+r+-a-i)/(r-n+a-i),t-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([e-.5-.5*(-n-r-a-i+4*f)/(n-r+a-i),t-.5]);break;case 11:u.push([e-.25-.25*(-a-i+2*f)/(a-i),t-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([e-.5,t-.5-.5*(-i-r-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([e-.75-.25*(n+r-2*f)/(r-n),t-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([e-.25-.25*(-n-r+2*f)/(n-r),t-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(e,t,r,n,i,a,o,s,l){i?s.push([e,t]):s.push([t,e])}});return function(e,t){var r=[],i=[];return n(e,r,i,t),{positions:r,cells:i}}}},o={}},665:function(e,t,r){var n=r(3202);e.exports=o;var i=96;function a(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*o(r[1],e)}function o(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 function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=a(r,"font-size")/128;return t.removeChild(r),n}(e,t);case"em":return a(t,"font-size");case"rem":return a(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 i;case"cm":return i/2.54;case"mm":return i/25.4;case"pt":return i/72;case"pc":return i/6}return 1}},7261:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.up||[0,1,0],n=e.right||h(r),i=e.radius||1,a=e.theta||0,u=e.phi||0;if(t=[].slice.call(t,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in e){var p=e.eye,d=[p[0]-t[0],p[1]-t[1],p[2]-t[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),i=c(d[0],d[1],d[2]);var m=l(r,d)/i,g=l(n,d)/i;u=Math.acos(m),a=Math.acos(g)}return i=Math.log(i),new f(e.zoomMin,e.zoomMax,t,r,n,i,a,u)};var n=r(9215),i=r(7608),a=r(6079),o=r(5911),s=r(3536),l=r(244);function c(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function u(e){return Math.min(1,Math.max(-1,e))}function h(e){var t=Math.abs(e[0]),r=Math.abs(e[1]),n=Math.abs(e[2]),i=[0,0,0];t>Math.max(r,n)?i[2]=1:r>Math.max(t,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=e[l]*e[l],o+=i[l]*e[l];for(l=0;l<3;++l)i[l]-=o/a*e[l];return s(i,i),i}function f(e,t,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(e,t),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 c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},p.getDistanceLimits=function(e){var t=this.radius.bounds[0];return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},p.recalcMatrix=function(e){this.center.curve(e),this.up.curve(e),this.right.curve(e),this.radius.curve(e),this.angle.curve(e);for(var t=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=t[a]*r[a],n+=t[a]*t[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=t[a]*i/n,u+=r[a]*r[a],t[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,t,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=x,k=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=b*r[a]+w*f[a]+T*t[a];E[4*a+1]=k*r[a]+A*f[a]+M*t[a],E[4*a+2]=C,E[4*a+3]=0}var I=E[1],L=E[5],P=E[9],z=E[2],D=E[6],O=E[10],R=L*O-P*D,F=P*z-I*O,B=I*D-L*z,j=c(R,F,B);for(R/=j,F/=j,B/=j,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=_[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var N=0;N<3;++N)u+=E[a+4*N]*S[N];E[12+a]=-u}E[15]=1},p.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r};var d=[0,0,0];p.rotate=function(e,t,r,n){if(this.angle.move(e,t,r),n){this.recalcMatrix(e);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,d),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(e,o[0],o[1],o[2]),this.right.set(e,s[0],s[1],s[2])}},p.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*t+a*r,g=(h/=d)*t+o*r,y=(f/=d)*t+s*r;this.center.move(e,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(e,Math.log(v))},p.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},p.setMatrix=function(e,t,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;t||(this.recalcMatrix(e),t=this.computedMatrix);var s=t[a],l=t[a+4],h=t[a+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),m=Math.max(f,p,d);f===m?(s=s<0?-1:1,l=h=0):d===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=t[o],_=t[o+4],b=t[o+8],w=x*s+_*l+b*h,T=c(x-=s*w,_-=l*w,b-=h*w),k=l*(b/=T)-h*(_/=T),A=h*(x/=T)-s*b,M=s*_-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(e,H,G,W),this.radius.idle(e),this.up.jump(e,s,l,h),this.right.jump(e,x,_,b),2===a){var E=t[1],C=t[5],I=t[9],L=E*x+C*_+I*b,P=E*k+C*A+I*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,L)}else{var z=t[2],D=t[6],O=t[10],R=z*s+D*l+O*h,F=z*x+D*_+O*b,B=z*k+D*A+O*M;y=Math.asin(u(R)),v=Math.atan2(B,F)}this.angle.jump(e,v,y),this.recalcMatrix(e);var j=t[2],N=t[6],U=t[10],V=this.computedMatrix;i(V,t);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Z=Math.exp(this.computedRadius[0]);this.center.jump(e,H-j*Z,G-N*Z,W-U*Z)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(e){this.center.idle(e),this.up.idle(e),this.right.idle(e),this.radius.idle(e),this.angle.idle(e)},p.flush=function(e){this.center.flush(e),this.up.flush(e),this.right.flush(e),this.radius.flush(e),this.angle.flush(e)},p.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},p.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=t[0]-r[0],h=t[1]-r[1],f=t[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l,x=c(m,g,y),x<1e-6))){m/=x,g/=x,y/=x,this.up.set(e,i,a,o),this.right.set(e,m,g,y),this.center.set(e,r[0],r[1],r[2]),this.radius.set(e,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,I=C[C.length-1],L=C[C.length-2];I%=2*Math.PI;var P=Math.abs(I+2*Math.PI-E),z=Math.abs(I-E),D=Math.abs(I-2*Math.PI-E);P0?r.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(p(e),0,e)}function m(e){return new Uint16Array(p(2*e),0,e)}function g(e){return new Uint32Array(p(4*e),0,e)}function y(e){return new Int8Array(p(e),0,e)}function v(e){return new Int16Array(p(2*e),0,e)}function x(e){return new Int32Array(p(4*e),0,e)}function _(e){return new Float32Array(p(4*e),0,e)}function b(e){return new Float64Array(p(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(p(e),0,e):d(e)}function T(e){return s?new BigUint64Array(p(8*e),0,e):null}function k(e){return l?new BigInt64Array(p(8*e),0,e):null}function A(e){return new DataView(p(e),0,e)}function M(e){e=n.nextPow2(e);var t=n.log2(e),r=h[t];return r.length>0?r.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))h[n.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength,r=0|n.log2(t);u[r].push(e)}},t.freeUint8=t.freeUint16=t.freeUint32=t.freeBigUint64=t.freeInt8=t.freeInt16=t.freeInt32=t.freeBigInt64=t.freeFloat32=t.freeFloat=t.freeFloat64=t.freeDouble=t.freeUint8Clamped=t.freeDataView=function(e){f(e.buffer)},t.freeArrayBuffer=f,t.freeBuffer=function(e){h[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return p(e);switch(t){case"uint8":return d(e);case"uint16":return m(e);case"uint32":return g(e);case"int8":return y(e);case"int16":return v(e);case"int32":return x(e);case"float":case"float32":return _(e);case"double":case"float64":return b(e);case"uint8_clamped":return w(e);case"bigint64":return k(e);case"biguint64":return T(e);case"buffer":return M(e);case"data":case"dataview":return A(e);default:return null}return null},t.mallocArrayBuffer=p,t.mallocUint8=d,t.mallocUint16=m,t.mallocUint32=g,t.mallocInt8=y,t.mallocInt16=v,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=_,t.mallocFloat64=t.mallocDouble=b,t.mallocUint8Clamped=w,t.mallocBigUint64=T,t.mallocBigInt64=k,t.mallocDataView=A,t.mallocBuffer=M,t.clearCache=function(){for(var e=0;e<32;++e)c.UINT8[e].length=0,c.UINT16[e].length=0,c.UINT32[e].length=0,c.INT8[e].length=0,c.INT16[e].length=0,c.INT32[e].length=0,c.FLOAT[e].length=0,c.DOUBLE[e].length=0,c.BIGUINT64[e].length=0,c.BIGINT64[e].length=0,c.UINT8C[e].length=0,u[e].length=0,h[e].length=0}},1755:function(e){function t(e){this.roots=new Array(e),this.ranks=new Array(e);for(var t=0;t0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(e){return e})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",b(function(e,t,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(I=0;I-1?parseInt(e[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),z*=Math.pow(.75,l-s),n=n.replace("?px ",F())),P+=.25*k*(l-s)}if(!0===o.superscripts){var c=e.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(e[1+c]):0,m=h>-1?parseInt(r[1+h]):0;p!==m&&(n=n.replace(F(),"?px "),z*=Math.pow(.75,m-p),n=n.replace("?px ",F())),P-=.25*k*(m-p)}if(!0===o.bolds){var g=e.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!v&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=e.indexOf(f)>-1,_=r.indexOf(f)>-1;!x&&_&&(n="italic "+n),x&&!_&&(n=n.replace("italic ",""))}t.font=n}for(C=0;C",a="",o=i.length,s=a.length,l=t[0]===d||t[0]===y,c=0,u=-s;c>-1&&!(-1===(c=r.indexOf(i,c))||(u=r.indexOf(a,c+o),-1===u)||u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(t[0]);-1===f?n[h]+=t:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,m=r.substr(p,u-p).indexOf(i);c=-1!==m?m:u+s}return n}function _(e,t,r,i){var c=function(e,t){var r=n(e,128);return t?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(e,i),u=function(e,t,r){for(var n=t.textAlign||"start",i=t.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=e.length,l=0;l=0?t[a]:i}))},has___:{value:x((function(t){var n=v(t);return n?r in n:e.indexOf(t)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=e.indexOf(n))>=0?t[a]=i:(a=e.length,t[a]=i,e[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=e.indexOf(n))<0||(a=e.length-1,e[i]=void 0,t[i]=t[a],e[i]=e[a],e.length=a,t.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(e,t){return this.get___(e,t)},writable:!0,configurable:!0},has:{value:function(e){return this.has___(e)},writable:!0,configurable:!0},set:{value:function(e,t){return this.set___(e,t)},writable:!0,configurable:!0},delete:{value:function(e){return this.delete___(e)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof m||_();var e,n=new r,i=void 0,a=!1;return e=t?function(e,t){return n.set(e,t),n.has(e)||(i||(i=new m),i.set(e,t)),this}:function(e,t){if(a)try{n.set(e,t)}catch{i||(i=new m),i.set___(e,t)}else n.set(e,t);return this},Object.create(m.prototype,{get___:{value:x((function(e,t){return i?n.has(e)?n.get(e):i.get___(e,t):n.get(e,t)}))},has___:{value:x((function(e){return n.has(e)||!!i&&i.has___(e)}))},set___:{value:x(e)},delete___:{value:x((function(e){var t=!!n.delete(e);return i&&i.delete___(e)||t}))},permitHostObjects___:{value:x((function(e){if(e!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&typeof Proxy<"u"&&(Proxy=void 0),n.prototype=m.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),e.exports=m)}function g(e){e.permitHostObjects___&&e.permitHostObjects___(g)}function y(e){return!(e.substr(0,8)==l&&"___"===e.substr(e.length-3))}function v(e){if(e!==Object(e))throw new TypeError("Not an object: "+e);var t=e[c];if(t&&t.key===e)return t;if(s(e)){t={key:e};try{return o(e,c,{value:t,writable:!1,enumerable:!1,configurable:!1}),t}catch{return}}}function x(e){return e.prototype=null,Object.freeze(e)}function _(){!p&&typeof console<"u"&&(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(e,t,r){var n=r(8284);e.exports=function(){var e={};return function(t){if(("object"!=typeof t||null===t)&&"function"!=typeof t)throw new Error("Weakmap-shim: Key must be object");var r=t.valueOf(e);return r&&r.identity===e?r:n(t,e)}}},8284:function(e){e.exports=function(e,t){var r={identity:t},n=e.valueOf;return Object.defineProperty(e,"valueOf",{value:function(e){return e!==t?n.apply(this,arguments):r},writable:!0}),r}},606:function(e,t,r){var n=r(236);e.exports=function(){var e=n();return{get:function(t,r){var n=e(t);return n.hasOwnProperty("value")?n.value:r},set:function(t,r){return e(t).value=r,this},has:function(t){return"value"in e(t)},delete:function(t){return delete e(t).value}}}},3349:function(e){var t,r,n=function(){return function(e,t,r,n,i,a){var o=e[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(f+p)/(f-p)),n+=h,++l[0]}}};e.exports=(t=n.bind(void 0,{funcName:"zeroCrossings"}),r={},function(e,n,i){var a=e.dtype,o=e.order,s=[a,o.join()].join(),l=r[s];return l||(r[s]=l=t([a,o])),l(e.shape.slice(0),e.data,e.stride,0|e.offset,n,i)})},781:function(e,t,r){e.exports=function(e,t){var r=[];return t=+t||0,n(e.hi(e.shape[0]-1),r,t),r};var n=r(3349)},7790:function(){}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch{if("object"==typeof window)return window}}(),n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var i=n(1964);t.exports=i}()}}),Xd=m({"node_modules/color-name/index.js"(e,t){t.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]}}}),$d=m({"node_modules/color-normalize/node_modules/color-parse/index.js"(e,t){var r=Xd();t.exports=function(e){var t,i,a=[],o=1;if("string"==typeof e)if(e=e.toLowerCase(),r[e])a=r[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var s=e.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[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],c="rgb"===l;i=s=l.replace(/a$/,"");var u="cmyk"===s?4:"gray"===s?1:3;a=t[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,t){if(/%$/.test(e))return t===u?parseFloat(e)/100:"rgb"===s?255*parseFloat(e)/100:parseFloat(e);if("h"===s[t]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==n[e])return n[e]}return parseFloat(e)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(a=[e[0],e[1],e[2]],i="rgb",o=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(i="rgb",a=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",a=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),o=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(o/=100)):(i="rgb",a=[e>>>16,(65280&e)>>>8,255&e]);return{space:i,values:a,alpha:o}};var n={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),Kd=m({"node_modules/color-normalize/node_modules/color-rgba/index.js"(e,t){var r=$d();t.exports=function(e){Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var t,n=r(e);if(!n.space)return[];var i=[0,0,0],a="h"===n.space[0]?[360,100,100]:[255,255,255];return(t=Array(3))[0]=Math.min(Math.max(n.values[0],i[0]),a[0]),t[1]=Math.min(Math.max(n.values[1],i[1]),a[1]),t[2]=Math.min(Math.max(n.values[2],i[2]),a[2]),"h"===n.space[0]&&(t=function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}(t)),t.push(Math.min(Math.max(n.alpha,0),1)),t}}}),Jd=m({"node_modules/clamp/index.js"(e,t){t.exports=function(e,t,r){return tr?r:e:et?t:e}}}),Qd=m({"node_modules/dtype/index.js"(e,t){t.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}}}}),em=m({"node_modules/color-normalize/index.js"(e,t){var r=Kd(),n=Jd(),i=Qd();t.exports=function(e,t){("float"===t||!t)&&(t="array"),"uint"===t&&(t="uint8"),"uint_clamped"===t&&(t="uint8_clamped");var a,o=new(i(t))(4),s="uint8"!==t&&"uint8_clamped"!==t;return(!e.length||"string"==typeof e)&&((e=r(e))[0]/=255,e[1]/=255,e[2]/=255),(a=e)instanceof Uint8Array||a instanceof Uint8ClampedArray||Array.isArray(a)&&(a[0]>1||0===a[0])&&(a[1]>1||0===a[1])&&(a[2]>1||0===a[2])&&(!a[3]||a[3]>1)?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(s?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:1):(o[0]=n(Math.floor(255*e[0]),0,255),o[1]=n(Math.floor(255*e[1]),0,255),o[2]=n(Math.floor(255*e[2]),0,255),o[3]=null==e[3]?255:n(Math.floor(255*e[3]),0,255)),o)}}}),tm=m({"src/lib/str2rgbarray.js"(e,t){var r=em();t.exports=function(e){return e?r(e):[0,0,0,1]}}}),rm=m({"src/lib/gl_format_color.js"(e,t){var r=M(),n=F(),i=em(),a=Yt(),o=G().defaultLine,s=I().isArrayOrTypedArray,l=i(o);function c(e,t){var r=e;return r[3]*=t,r}function u(e){if(r(e))return l;var t=i(e);return t.length?t:l}function h(e){return r(e)?e:1}t.exports={formatColor:function(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var o,f,p,d,m,g=s(n),y=s(t),v=a.extractOpts(e),x=[];if(o=void 0!==v.colorscale?a.makeColorScaleFuncFromTrace(e):u,f=g?function(e,t){return void 0===e[t]?l:i(o(e[t]))}:u,p=y?function(e,t){return void 0===e[t]?1:h(e[t])}:h,g||y)for(var _=0;_0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*n,l[1]*n]}return o}t.exports=function(e,t,r){var i=[n(e.x,e.error_x,t[0],r.xaxis),n(e.y,e.error_y,t[1],r.yaxis),n(e.z,e.error_z,t[2],r.zaxis)],a=function(e){for(var t=0;t-1?-1:e.indexOf("right")>-1?1:0}function x(e){return null==e?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function _(e,t){return t(4*e)}function b(e){return f[e]}function w(e,t,r,n,i){var a=null;if(s.isArrayOrTypedArray(e)){a=[];for(var o=0;o=0){var E=function(e,t,r){var n,i=(r+1)%3,a=(r+2)%3,s=[],l=[];for(n=0;n=0&&h("surfacecolor",p||d);for(var m=["x","y","z"],g=0;g<3;++g){var y="projection."+m[g];h(y+".show")&&(h(y+".opacity"),h(y+".scale"))}var v=r.getComponentMethod("errorbars","supplyDefaults");v(e,t,p||d||c,{axis:"z"}),v(e,t,p||d||c,{axis:"y",inherit:"z"}),v(e,t,p||d||c,{axis:"x",inherit:"z"})}else t.visible=!1}}}),cm=m({"src/traces/scatter3d/calc.js"(e,t){var r=ai(),n=ii();t.exports=function(e,t){var i=[{x:!1,y:!1,trace:t,t:{}}];return r(i,t),n(e,t),i}}}),um=m({"node_modules/get-canvas-context/index.js"(e,t){t.exports=function(e,t){if("string"!=typeof e)throw new TypeError("must specify type string");if(t=t||{},typeof document>"u"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");"number"==typeof t.width&&(r.width=t.width),"number"==typeof t.height&&(r.height=t.height);var n,i=t;try{var a=[e];0===e.indexOf("webgl")&&a.push("experimental-"+e);for(var o=0;o/g," "));l[c]=p,u.tickmode=h}}for(t.ticks=l,c=0;c<3;++c)for(a[c]=.5*(e.glplot.bounds[0][c]+e.glplot.bounds[1][c]),d=0;d<2;++d)t.bounds[d][c]=e.glplot.bounds[d][c];e.contourLevels=function(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;ar.deltaY?1.1:.9090909090909091,a=e.glplot.getAspectratio();e.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(e)}}),!!l&&{passive:!1}),e.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==e.fullSceneLayout.dragmode&&0!==e.camera.mouseListener.buttons){var t=n();e.graphDiv.emit("plotly_relayouting",t)}})),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",(function(r){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:r,layer:e.id})}),!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0},T.render=function(){var e,t=this,r=t.graphDiv,n=t.svgContainer,i=t.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._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),x(t),t.glplot.axes.update(t.axesOptions);for(var c=Object.keys(t.traces),h=null,d=t.glplot.selection,m=0;m")):"isosurface"===e.type||"volume"===e.type?(T.valueLabel=f.hoverLabelText(t._mockAxis,t._mockAxis.d2l(d.traceCoordinate[3]),e.valuehoverformat),E.push("value: "+T.valueLabel),d.textLabel&&E.push(d.textLabel),S=E.join("
")):S=d.textLabel;var C={x:d.traceCoordinate[0],y:d.traceCoordinate[1],z:d.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};p.appendArrayPointValue(C,_,w),e._module.eventData&&(C=_._module.eventData(C,d,_,{},w));var I={points:[C]};if(t.fullSceneLayout.hovermode){var L=[];p.loneHover({trace:_,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:S,name:h.name,color:p.castHoverOption(_,w,"bgcolor")||h.color,borderColor:p.castHoverOption(_,w,"bordercolor"),fontFamily:p.castHoverOption(_,w,"font.family"),fontSize:p.castHoverOption(_,w,"font.size"),fontColor:p.castHoverOption(_,w,"font.color"),nameLength:p.castHoverOption(_,w,"namelength"),textAlign:p.castHoverOption(_,w,"align"),hovertemplate:u.castOption(_,w,"hovertemplate"),hovertemplateLabels:u.extendFlat({},C,T),eventData:[C]},{container:n,gd:r,inOut_bbox:L}),C.bbox=L[0]}d.distance<5&&(d.buttons||b)?r.emit("plotly_click",I):r.emit("plotly_hover",I),this.oldEventData=I}else p.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;t.drawAnnotations(t)},T.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){e.glplot.gl.isContextLost()?requestAnimationFrame(t):e.initializeGLPlot()?e.plot.apply(e,e.plotArgs):u.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(t)};var A=["xaxis","yaxis","zaxis"];function M(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=A[i],o=a.charAt(0),s=n[a],l=t[o],c=t[o+"calendar"],h=t["_"+o+"length"];if(u.isArrayOrTypedArray(l))for(var f,p=0;p<(h||l.length);p++)if(u.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][o])g[0][o]=-1,g[1][o]=1;else{var L=g[1][o]-g[0][o];g[0][o]-=L/32,g[1][o]+=L/32}if(x=[g[0][o],g[1][o]],x=_(x,l),g[0][o]=x[0],g[1][o]=x[1],l.isReversed()){var P=g[0][o];g[0][o]=g[1][o],g[1][o]=P}}else x=l.range,g[0][o]=l.r2l(x[0]),g[1][o]=l.r2l(x[1]);g[0][o]===g[1][o]&&(g[0][o]-=1,g[1][o]+=1),y[o]=g[1][o]-g[0][o],l.range=[g[0][o],g[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var z,D=u.aspectmode;if("cube"===D)z=[1,1,1];else if("manual"===D){var O=u.aspectratio;z=[O.x,O.y,O.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=v[c=(l=u[A[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}z="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=z[0],u.aspectratio.y=h.aspectratio.y=z[1],u.aspectratio.z=h.aspectratio.z=z[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var B=u.domain||null,j=t._size||null;if(B&&j){var N=n.container.style;N.position="absolute",N.left=j.l+B.x[0]*j.w+"px",N.top=j.t+(1-B.y[1])*j.h+"px",N.width=j.w*(B.x[1]-B.x[0])+"px",N.height=j.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},T.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)},T.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),function(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:!0===e._ortho?"orthographic":"perspective"}}}(e.camera)},T.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,function(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]]}(r)),t.glplot.setAspectratio(e.aspectratio),"orthographic"===r.projection.type!==t.camera._ortho&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())},T.isCameraChanged=function(e){var t,r,n,i,a,o,s=this.getCamera(),l=u.nestedProperty(e,this.id+".camera").get(),c=!1;if(void 0===l)c=!0;else{for(var h=0;h<3;h++)for(var f=0;f<3;f++)if(t=s,i=f,void 0,void 0,o=["x","y","z"],!(r=l)[(a=["up","center","eye"])[n=h]]||t[a[n]][o[i]]!==r[a[n]][o[i]]){c=!0;break}(!l.projection||s.projection&&s.projection.type!==l.projection.type)&&(c=!0)}return c},T.isAspectChanged=function(e){var t=this.glplot.getAspectratio(),r=u.nestedProperty(e,this.id+".aspectratio").get();return void 0===r||r.x!==t.x||r.y!==t.y||r.z!==t.z},T.saveLayout=function(e){var t,r,n,i,a,o,s=this,l=s.fullLayout,h=s.isCameraChanged(e),f=s.isAspectChanged(e),p=h||f;if(p){var d={};h&&(t=s.getCamera(),n=(r=u.nestedProperty(e,s.id+".camera")).get(),d[s.id+".camera"]=n),f&&(i=s.glplot.getAspectratio(),o=(a=u.nestedProperty(e,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",e,l._preGUI,d),h&&(r.set(t),u.nestedProperty(l,s.id+".camera").set(t)),f&&(a.set(i),u.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},T.updateFx=function(e,t){var r=this,n=r.camera;if(n)if("orbit"===e)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===e){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,h=o.up.z;if(h/Math.sqrt(s*s+l*l+h*h)<.999){var f=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[f]=p;var m=i.layout;c.call("_storeDirectGUIEdit",m,a._preGUI,d),o.up=p,u.nestedProperty(m,f).set(p)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t},T.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(r),t.glplot.redraw();var n=t.glplot.gl,i=n.drawingBufferWidth,a=n.drawingBufferHeight;n.bindFramebuffer(n.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);n.readPixels(0,0,i,a,n.RGBA,n.UNSIGNED_BYTE,o),function(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)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,c=s.getContext("2d",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),e){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(r),l},T.setConvert=function(){for(var e=0;e<3;e++){var t=this.fullSceneLayout[A[e]];f.setConvert(t,this.fullLayout),t.setScale=u.noop}},T.make4thDimension=function(){var e=this,t=e.graphDiv._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(e._mockAxis,t)},t.exports=w}}),ym=m({"src/plots/gl3d/layout/attributes.js"(e,t){t.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),vm=m({"src/plots/gl3d/layout/axis_attributes.js"(e,t){var r=W(),n=Lt(),i=B().extendFlat,a=De().overrideAll;t.exports=a({visible:n.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:r.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:n.color,categoryorder:n.categoryorder,categoryarray:n.categoryarray,title:{text:n.title.text,font:n.title.font},type:i({},n.type,{values:["-","linear","log","date","category"]}),autotypenumbers:n.autotypenumbers,autorange:n.autorange,autorangeoptions:{minallowed:n.autorangeoptions.minallowed,maxallowed:n.autorangeoptions.maxallowed,clipmin:n.autorangeoptions.clipmin,clipmax:n.autorangeoptions.clipmax,include:n.autorangeoptions.include,editType:"plot"},rangemode:n.rangemode,minallowed:n.minallowed,maxallowed:n.maxallowed,range:i({},n.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,mirror:n.mirror,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,tickfont:n.tickfont,tickangle:n.tickangle,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,minexponent:n.minexponent,separatethousands:n.separatethousands,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:n.showline,linecolor:n.linecolor,linewidth:n.linewidth,showgrid:n.showgrid,gridcolor:i({},n.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:n.gridwidth,zeroline:n.zeroline,zerolinecolor:n.zerolinecolor,zerolinewidth:n.zerolinewidth},"plot","from-root")}}),xm=m({"src/plots/gl3d/layout/layout_attributes.js"(e,t){var r=vm(),n=Ma().attributes,i=B().extendFlat,a=ct().counterRegex;function o(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"}}t.exports={_arrayAttrRegexps:[a("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(o(0,0,1),{}),center:i(o(0,0,0),{}),eye:i(o(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:n({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:r,yaxis:r,zaxis:r,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"}}}),_m=m({"src/plots/gl3d/layout/axis_defaults.js"(e,t){var r=F().mix,n=ct(),i=vt(),a=vm(),o=wi(),s=Ai(),l=["xaxis","yaxis","zaxis"],c=13600/187;t.exports=function(e,t,u){var h,f;function p(e,t){return n.coerce(h,f,a,e,t)}for(var d=0;d.999)&&(g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",a.getDfltFromLayout("hovermode"))}t.exports=function(e,t,n){var i=t._basePlotModules.length>1;a(e,t,n,{type:c,attributes:s,handleDefaults:u,fullLayout:t,font:t.font,fullData:n,getDfltFromLayout:function(t){if(!i&&r.validate(e[t],s[t]))return e[t]},autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,calendar:t.calendar})}}}),wm=m({"src/plots/gl3d/index.js"(e){var t=De().overrideAll,r=U(),n=gm(),i=Tt().getSubplotData,a=ct(),o=Mt(),s="gl3d",l="scene";e.name=s,e.attr=l,e.idRoot=l,e.idRegex=e.attrRegex=a.counterRegex("scene"),e.attributes=ym(),e.layoutAttributes=xm(),e.baseLayoutAttrOverrides=t({hoverlabel:r.hoverlabel},"plot","nested"),e.supplyLayoutDefaults=bm(),e.plot=function(e){for(var t=e._fullLayout,r=e._fullData,a=t._subplots[s],o=0;o0){r=p[n];break}return r}function y(e,t){if(!(e<1||t<1)){for(var r=m(e),n=m(t),i=1,a=0;a_;)r--,r/=g(r),++r1?n:1},f.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,i=e[0].shape[0],a=e[0].shape[1],o=0|Math.floor(e[0].shape[0]*t+1),s=0|Math.floor(e[0].shape[1]*r+1),l=1+i+1,c=1+a+1,u=n(new Float32Array(l*c),[l,c]),h=[1/t,0,0,0,1/r,0,0,0,1],f=0;f0&&null!==this.contourStart[e]&&null!==this.contourEnd[e]&&this.contourEnd[e]>this.contourStart[e]))for(i[e]=!0,t=this.contourStart[e];tv&&(this.minValues[m]=v),this.maxValues[m]l&&(t.isomin=null,t.isomax=null);var c=o("x"),u=o("y"),h=o("z"),f=o("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],i),o("valuehoverformat"),["x","y","z"].forEach((function(e){o(e+"hoverformat");var t="caps."+e;o(t+".show")&&o(t+".fill");var r="slices."+e;o(r+".show")&&(o(r+".fill"),o(r+".locations"))})),o("spaceframe.show")&&o("spaceframe.fill"),o("surface.show")&&(o("surface.count"),o("surface.fill"),o("surface.pattern")),o("contour.show")&&(o("contour.color"),o("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(e){o(e)})),a(e,t,i,o,{prefix:"",cLetter:"c"}),t._length=null):t.visible=!1}t.exports={supplyDefaults:function(e,t,n,a){o(e,t,0,a,(function(n,a){return r.coerce(e,t,i,n,a)}))},supplyIsoDefaults:o}}}),Dm=m({"src/traces/streamtube/calc.js"(e,t){var r=ct(),n=Zt();function i(e){var t,n,i,o,s,l,c,u,h,f,p,d,m=e._x,g=e._y,y=e._z,v=e._len,x=-1/0,_=1/0,b=-1/0,w=1/0,T=-1/0,k=1/0,A="";for(v&&(c=m[0],h=g[0],p=y[0]),v>1&&(u=m[v-1],f=g[v-1],d=y[v-1]),t=0;tu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function F(e,t){return null===e?t:e}function B(e,t,r){I();var n=[t],i=[r];if(s>=1)n=[t],i=[r];else if(s>0){var a=function(e,t){var r=e[0],n=e[1],i=e[2],a=function(e,t,r){for(var n=[],i=0;i-1?r[c]:C(u,h,f);l[c]=d>-1?d:P(u,h,f,F(e,p))}z(l[0],l[1],l[2])}}function j(e,t,r,n){var i=e[3];in&&(i=n);for(var a=(e[3]-i)/(e[3]-t[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*e[s]+a*t[s];return o}function N(e,t,r){return e>=t&&e<=r}function U(e){var t=.001*(E-S);return e>=S-t&&e<=E+t}function V(t){for(var r=[],n=0;n<4;n++){var i=t[n];r.push([e._x[i],e._y[i],e._z[i],e._value[i]])}return r}function q(e,t,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(t[0][3],n,i),N(t[1][3],n,i),N(t[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(e,t,r){return U(t[0][3])&&U(t[1][3])&&U(t[2][3])?(B(e,t,r),!0):a<3&&q(e,t,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(e,t,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],f=t[a[2]],p=j(f,u,n,i),d=j(f,h,n,i);o=l(e,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(e,[u,h,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],f=t[a[2]],p=j(h,u,n,i),d=j(f,u,n,i);o=l(e,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(e,t,r,n){var i=!1,a=V(t),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(e,t,r){var n=function(n,i,a){B(e,[t[n],t[i],t[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(e,a,t)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]];if(m)i=B(e,[c,u,h],[t[l[0]],t[l[1]],t[l[2]]])||i;else{var p=j(f,c,r,n),d=j(f,u,r,n),g=j(f,h,r,n);i=B(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]],p=j(h,c,r,n),d=j(h,u,r,n),g=j(f,u,r,n),y=j(f,c,r,n);m?(i=B(e,[c,y,p],[t[l[0]],-1,-1])||i,i=B(e,[u,d,g],[t[l[1]],-1,-1])||i):i=function(e,t,r){var n=function(e,n,i){B(null,[t[e],t[n],t[i]],[r[e],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]],p=j(u,c,r,n),d=j(h,c,r,n),g=j(f,c,r,n);m?(i=B(e,[c,p,d],[t[l[0]],-1,-1])||i,i=B(e,[c,d,g],[t[l[0]],-1,-1])||i,i=B(e,[c,g,p],[t[l[0]],-1,-1])||i):i=B(null,[p,d,g],[-1,-1,-1])||i,s=!0}})),i}function G(e,t,r,n,i,a,o,s,l,c,u){var h=!1;return d&&(R(e,"A")&&(h=H(null,[t,r,n,a],c,u)||h),R(e,"B")&&(h=H(null,[r,n,i,l],c,u)||h),R(e,"C")&&(h=H(null,[r,a,o,l],c,u)||h),R(e,"D")&&(h=H(null,[n,a,s,l],c,u)||h),R(e,"E")&&(h=H(null,[r,n,a,l],c,u)||h)),m&&(h=H(e,[r,n,a,l],c,u)||h),h}function W(e,t,r,n,i,a,o,s){return[!0===s[0]||q(e,V([t,r,n]),[t,r,n],a,o),!0===s[1]||q(e,V([n,i,t]),[n,i,t],a,o)]}function Z(e,t,r,n,i,a,o,s,l){return s?W(e,t,r,i,n,a,o,l):W(e,r,i,n,t,a,o,l)}function Y(e,t,r,n,i,a,o){var s,l,c,u,h=!1,f=function(){h=q(e,[s,l,c],[-1,-1,-1],i,a)||h,h=q(e,[c,u,s],[-1,-1,-1],i,a)||h},p=o[0],d=o[1],m=o[2];return p&&(s=D(V([k(t,r-0,n-0)])[0],V([k(t-1,r-0,n-0)])[0],p),l=D(V([k(t,r-0,n-1)])[0],V([k(t-1,r-0,n-1)])[0],p),c=D(V([k(t,r-1,n-1)])[0],V([k(t-1,r-1,n-1)])[0],p),u=D(V([k(t,r-1,n-0)])[0],V([k(t-1,r-1,n-0)])[0],p),f()),d&&(s=D(V([k(t-0,r,n-0)])[0],V([k(t-0,r-1,n-0)])[0],d),l=D(V([k(t-0,r,n-1)])[0],V([k(t-0,r-1,n-1)])[0],d),c=D(V([k(t-1,r,n-1)])[0],V([k(t-1,r-1,n-1)])[0],d),u=D(V([k(t-1,r,n-0)])[0],V([k(t-1,r-1,n-0)])[0],d),f()),m&&(s=D(V([k(t-0,r-0,n)])[0],V([k(t-0,r-0,n-1)])[0],m),l=D(V([k(t-0,r-1,n)])[0],V([k(t-0,r-1,n-1)])[0],m),c=D(V([k(t-1,r-1,n)])[0],V([k(t-1,r-1,n-1)])[0],m),u=D(V([k(t-1,r-0,n)])[0],V([k(t-1,r-0,n-1)])[0],m),f()),h}function X(e,t,r,n,i,a,o,s,l,c,u,h){var f=e;return h?(d&&"even"===e&&(f=null),G(f,t,r,n,i,a,o,s,l,c,u)):(d&&"odd"===e&&(f=null),G(f,l,s,o,a,i,n,r,t,c,u))}function $(e,t,r,n,i){for(var a=[],o=0,s=0;sMath.abs(T-M)?[A,T]:[T,M];ee(r,C[0],C[1])}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(d.id),"x"===r?f.push([d.distRatio,0,0]):"y"===r?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=ie(1,"x"===r?_-1:"y"===r?b-1:w-1);h.length>0&&(n[a]="x"===r?te(t,h,o,s,f,n[a]):"y"===r?re(t,h,o,s,f,n[a]):ne(t,h,o,s,f,n[a]),a++),u.length>0&&(n[a]="x"===r?$(t,u,o,s,n[a]):"y"===r?K(t,u,o,s,n[a]):J(t,u,o,s,n[a]),a++)}var m=e.caps[r];m.show&&m.fill&&(O(m.fill),n[a]="x"===r?$(t,[0,_-1],o,s,n[a]):"y"===r?K(t,[0,b-1],o,s,n[a]):J(t,[0,w-1],o,s,n[a]),a++)}})),0===g&&L(),e._meshX=n,e._meshY=i,e._meshZ=a,e._meshIntensity=o,e._Xs=y,e._Ys=v,e._Zs=x}(),e}t.exports={findNearestOnAxis:l,generateIsoMeshes:f,createIsosurfaceTrace:function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new c(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}}),Bm=m({"src/traces/isosurface/index.js"(e,t){t.exports={attributes:Pm(),supplyDefaults:zm().supplyDefaults,calc:Om(),colorbar:{min:"cmin",max:"cmax"},plot:Fm().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:wm(),categories:["gl3d","showLegend"],meta:{}}}}),jm=m({"lib/isosurface.js"(e,t){t.exports=Bm()}}),Nm=m({"src/traces/volume/attributes.js"(e,t){var r=zt(),n=Pm(),i=Am(),a=q(),o=B().extendFlat,s=De().overrideAll,l=t.exports=s(o({x:n.x,y:n.y,z:n.z,value:n.value,isomin:n.isomin,isomax:n.isomax,surface:n.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:n.slices,caps:n.caps,text:n.text,hovertext:n.hovertext,xhoverformat:n.xhoverformat,yhoverformat:n.yhoverformat,zhoverformat:n.zhoverformat,valuehoverformat:n.valuehoverformat,hovertemplate:n.hovertemplate,hovertemplatefallback:n.hovertemplatefallback},r("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:n.colorbar,opacity:n.opacity,opacityscale:i.opacityscale,lightposition:n.lightposition,lighting:n.lighting,flatshading:n.flatshading,contour:n.contour,hoverinfo:o({},a.hoverinfo),showlegend:o({},a.showlegend,{dflt:!1})}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes"}}),Um=m({"src/traces/volume/defaults.js"(e,t){var r=ct(),n=Nm(),i=zm().supplyIsoDefaults,a=Mm().opacityscaleDefaults;t.exports=function(e,t,o,s){function l(i,a){return r.coerce(e,t,n,i,a)}i(e,t,o,s,l),a(e,t,s,l)}}}),Vm=m({"src/traces/volume/convert.js"(e,t){var r=Yd().gl_mesh3d,n=rm().parseColorScale,i=ct().isArrayOrTypedArray,a=tm(),o=Yt().extractOpts,s=Rm(),l=Fm().findNearestOnAxis,c=Fm().generateIsoMeshes;function u(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],a=this.data._meshZ[t],o=this.data._Ys.length,s=this.data._Zs.length,c=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,h=l(a,this.data._Zs).id,f=e.index=h+s*u+s*o*c;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var p=this.data.hovertext||this.data.text;return i(p)&&void 0!==p[f]?e.textLabel=p[f]:p&&(e.textLabel=p),!0}},h.update=function(e){var t=this.scene,r=t.fullSceneLayout;function i(e,t,r,n){return t.map((function(t){return e.d2l(t,0,n)*r}))}this.data=c(e);var l={positions:s(i(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),i(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),i(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),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:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},u=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=n(e),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new u(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}),qm=m({"src/traces/volume/index.js"(e,t){t.exports={attributes:Nm(),supplyDefaults:Um(),calc:Om(),colorbar:{min:"cmin",max:"cmax"},plot:Vm(),moduleType:"trace",name:"volume",basePlotModule:wm(),categories:["gl3d","showLegend"],meta:{}}}}),Hm=m({"lib/volume.js"(e,t){t.exports=qm()}}),Gm=m({"src/traces/mesh3d/defaults.js"(e,t){var r=He(),n=ct(),i=Ht(),a=Lm();t.exports=function(e,t,o,s){function l(r,i){return n.coerce(e,t,a,r,i)}function c(e){var t=e.map((function(e){var t=l(e);return t&&n.isArrayOrTypedArray(t)?t:null}));return t.every((function(e){return e&&e.length===t[0].length}))&&t}c(["x","y","z"])?(c(["i","j","k"]),(!t.i||t.j&&t.k)&&(!t.j||t.k&&t.i)&&(!t.k||t.i&&t.j)?(r.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],s),["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(e){l(e)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in e?(l("intensity"),l("intensitymode"),i(e,t,s,l,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?l("facecolor"):"vertexcolor"in e?l("vertexcolor"):l("color",o)),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),t._length=null):t.visible=!1):t.visible=!1}}}),Wm=m({"src/traces/mesh3d/calc.js"(e,t){var r=Zt();t.exports=function(e,t){t.intensity&&r(e,t,{vals:t.intensity,containerStr:"",cLetter:"c"})}}}),Zm=m({"src/traces/mesh3d/convert.js"(e,t){var r=Yd().gl_mesh3d,n=Yd().delaunay_triangulate,i=Yd().alpha_shape,a=Yd().convex_hull,o=rm().parseColorScale,s=ct().isArrayOrTypedArray,l=tm(),c=Yt().extractOpts,u=Rm();function h(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}f.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 s(r)&&void 0!==r[t]?e.textLabel=r[t]:r&&(e.textLabel=r),!0}},f.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var s,h=e.x.length,f=u(d(r.xaxis,e.x,t.dataScale[0],e.xcalendar),d(r.yaxis,e.y,t.dataScale[1],e.ycalendar),d(r.zaxis,e.z,t.dataScale[2],e.zcalendar));if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!g(e.i,h)||!g(e.j,h)||!g(e.k,h))return;s=u(m(e.i),m(e.j),m(e.k))}else s=0===e.alphahull?a(f):e.alphahull>0?i(e.alphahull,f):function(e,t){for(var r=["x","y","z"].indexOf(e),i=[],a=t.length,o=0;o2?e.slice(1,t-1):2===t?[(e[0]+e[1])/2]:e}function f(e){var t=e.length;return 1===t?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function p(e,t){var n=e.fullSceneLayout,c=e.dataScale,u=t._len,p={};function d(e,t){var r=n[t],a=c[l[t]];return i.simpleMap(e,(function(e){return r.d2l(e)*a}))}if(p.vectors=s(d(t._u,"xaxis"),d(t._v,"yaxis"),d(t._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=d(t._Xs,"xaxis"),g=d(t._Ys,"yaxis"),y=d(t._Zs,"zaxis");if(p.meshgrid=[m,g,y],p.gridFill=t._gridFill,t._slen)p.startingPositions=s(d(t._startsX,"xaxis"),d(t._startsY,"yaxis"),d(t._startsZ,"zaxis"));else{for(var v=g[0],x=h(m),_=h(y),b=new Array(x.length*_.length),w=0,T=0;To&&(o=e[0]),e[1]s&&(s=e[1])}function c(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(c);break;case"Point":l(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(l)}}for(t in e.arcs.forEach((function(e){for(var t,r=-1,l=e.length;++ro&&(o=t[0]),t[1]s&&(s=t[1])})),e.objects)c(e.objects[t]);return[i,a,o,s]}function i(e,t){var r=t.id,n=t.bbox,i=null==t.properties?{}:t.properties,o=a(e,t);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(e,t){var n=r(e.transform),i=e.arcs;function a(e,t){t.length&&t.pop();for(var r=i[e<0?~e:e],a=0,o=r.length;a1)n=function(e,t,r){var n,i=[],a=[];function o(e){var t=e<0?~e:e;(a[t]||(a[t]=[])).push({i:e,g:n})}function s(e){e.forEach(o)}function l(e){e.forEach(s)}return function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(l)}(t.arcs)}}(t),a.forEach(null==r?function(e){i.push(e[0].i)}:function(e){r(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(0,t,r);else for(i=0,n=new Array(a=e.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(e){return e.length>0}))}}function c(e,t){for(var r=0,n=e.length;r>>1;e[i]=2))throw new Error("n must be ≥2");var r,i=(l=e.bbox||n(e))[0],a=l[1],o=l[2],s=l[3];t={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,h=u(t),f=e.objects,p={};function d(e){return h(e)}function m(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(m)};break;case"Point":t={type:"Point",coordinates:d(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(d)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}for(c in f)p[c]=m(f[c]);return{type:"Topology",bbox:l,transform:t,objects:p,arcs:e.arcs.map((function(e){var t,r=0,n=1,i=e.length,a=new Array(i);for(a[0]=h(e[0],0);++r0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n},e.makeLine=function(e){return 1===e.length?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}},e.makePolygon=function(e){if(1===e.length)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r180?e-360:e<-180?e+360:e},e.bearingToAzimuth=function(e){let t=e%360;return t<0&&(t+=360),t},e.convertArea=function(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let i=n[t];if(!i)throw new Error("invalid original units");let a=n[r];if(!a)throw new Error("invalid final units");return e/i*a},e.convertLength=function(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return f(p(e,t),r)},e.degreesToRadians=function(e){return e%360*Math.PI/180},e.earthRadius=t,e.factors=r,e.feature=i,e.featureCollection=l,e.geometry=function(e,t,r={}){switch(e){case"Point":return a(t).geometry;case"LineString":return s(t).geometry;case"Polygon":return o(t).geometry;case"MultiPoint":return u(t).geometry;case"MultiLineString":return c(t).geometry;case"MultiPolygon":return h(t).geometry;default:throw new Error(e+" is invalid")}},e.geometryCollection=function(e,t,r={}){return i({type:"GeometryCollection",geometries:e},t,r)},e.isNumber=m,e.isObject=function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)},e.lengthToDegrees=function(e,t){return d(p(e,t))},e.lengthToRadians=p,e.lineString=s,e.lineStrings=function(e,t,r={}){return l(e.map((e=>s(e,t))),r)},e.multiLineString=c,e.multiPoint=u,e.multiPolygon=h,e.point=a,e.points=function(e,t,r={}){return l(e.map((e=>a(e,t))),r)},e.polygon=o,e.polygons=function(e,t,r={}){return l(e.map((e=>o(e,t))),r)},e.radiansToDegrees=d,e.radiansToLength=f,e.round=function(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},e.validateBBox=function(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach((e=>{if(!m(e))throw new Error("bbox must only contain numbers")}))},e.validateId=function(e){if(!e)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw new Error("id must be a number or a string")}}}),yg=m({"node_modules/@turf/meta/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=gg();function r(e,t,n){if(null!==e)for(var i,a,o,s,l,c,u,h,f=0,p=0,d=e.type,m="FeatureCollection"===d,g="Feature"===d,y=m?e.features.length:1,v=0;vc||p>u||d>h)return l=r,c=i,u=p,h=d,void(o=0);var m=t.lineString.call(void 0,[l,r],e.properties);if(!1===n(m,i,a,d,o))return!1;o++,l=r})))return!1}}}))}function l(e,r){if(!e)throw new Error("geojson is required");o(e,(function(e,n,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case"LineString":if(!1===r(e,n,i,0,0))return!1;break;case"Polygon":for(var s=0;se+function(e){let t,r=0;switch(e.type){case"Polygon":return i(e.coordinates);case"MultiPolygon":for(t=0;t0){t+=Math.abs(s(e[0]));for(let r=1;r=t?(n+2)%t:n+2],l=i[0]*o,c=a[1]*o;r+=(s[0]*o-l)*Math.sin(c),n++}return r*a}var l=n;e.area=n,e.default=l}}),xg=m({"node_modules/@turf/centroid/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=gg(),r=yg();function n(e,n={}){let i=0,a=0,o=0;return r.coordEach.call(void 0,e,(function(e){i+=e[0],a+=e[1],o++}),!0),t.point.call(void 0,[i/o,a/o],n.properties)}var i=n;e.centroid=n,e.default=i}}),_g=m({"node_modules/@turf/bbox/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=yg();function r(e,r={}){if(null!=e.bbox&&!0!==r.recompute)return e.bbox;let n=[1/0,1/0,-1/0,-1/0];return t.coordEach.call(void 0,e,(e=>{n[0]>e[0]&&(n[0]=e[0]),n[1]>e[1]&&(n[1]=e[1]),n[2]0&&e[t+1][0]<0)return t;return null}switch(t="RUS"===s||"FJI"===s?function(e){var t;if(null===c(e))t=e;else for(t=new Array(e.length),i=0;it?r[n++]=[e[i][0]+360,e[i][1]]:i===t?(r[n++]=e[i],r[n++]=[e[i][0],-90]):r[n++]=e[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(e){l.push(h.tester(e))},a.type){case"MultiPolygon":for(r=0;r0?h.properties.ct=function(e){var t,r=e.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;so&&(o=c,t=l)}else t=r;return a(t).geometry.coordinates}(h):h.properties.ct=[NaN,NaN],n.fIn=e,n.fOut=h,s.push(h)}else l.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete o[r]}switch(r.type){case"FeatureCollection":var f=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+e)):void i++}),50)}))}for(var o=0;o")}function p(e){return e+"°"}}(c,m,e,l[0].t.labels),e.hovertemplate=c.hovertemplate,[e]}}}}),Mg=m({"src/traces/scattergeo/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.lon=t.lon,e.lat=t.lat,e.location=t.loc?t.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e}}}),Sg=m({"src/traces/scattergeo/select.js"(e,t){var r=Xt(),n=S().BADNUM;t.exports=function(e,t){var i,a,o,s,l,c=e.cd,u=e.xaxis,h=e.yaxis,f=[],p=c[0].trace;if(!r.hasMarkers(p)&&!r.hasText(p))return[];if(!1===t)for(l=0;lt?1:e>=t?0:NaN}function r(e){return 1===e.length&&(e=function(e){return function(r,n){return t(e(r),n)}}(e)),{left:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}var n=r(t),i=n.right,a=n.left;function o(e,t){return[e,t]}function s(e){return null===e?NaN:+e}function l(e,t){var r,n,i=e.length,a=0,o=-1,l=0,c=0;if(null==t)for(;++o1)return c/(a-1)}function c(e,t){var r=l(e,t);return r&&Math.sqrt(r)}function u(e,t){var r,n,i,a=e.length,o=-1;if(null==t){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=y?10:a>=v?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=y?10:a>=v?5:a>=x?2:1)}function b(e,t,r){var n=Math.abs(t-e)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=y?i*=10:a>=v?i*=5:a>=x&&(i*=2),t=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e);return o+(+r(e[a+1],a+1,e)-o)*(i-a)}}function k(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(e){if(!(i=e.length))return[];for(var t=-1,r=k(e,M),n=new Array(r);++te?1:t>=e?0:NaN},e.deviation=c,e.extent=u,e.histogram=function(){var e=m,t=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;ah;)f.pop(),--p;var d,m=new Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?f[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},e.mean=function(e,t){var r,n=e.length,i=n,a=-1,o=0;if(null==t)for(;++a=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r},e.min=k,e.pairs=function(e,t){null==t&&(t=o);for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r0)return[e];if((n=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),a=new Array(i=Math.ceil(t-e+1));++s0?1:e<0?-1:0},k=Math.sqrt,A=Math.tan;function M(e){return e>1?0:e<-1?l:Math.acos(e)}function S(e){return e>1?c:e<-1?-c:Math.asin(e)}function E(e){return(e=w(e/2))*e}function C(){}function I(e,t){e&&P.hasOwnProperty(e.type)&&P[e.type](e,t)}var L={Feature:function(e,t){I(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=y(t=(t*=p)/2+u),o=w(t),s=N*o,l=j*a+s*y(i),c=s*n*w(i);U.add(g(c,l)),B=e,j=a,N=o}function Y(e){return[g(e[1],e[0]),S(e[2])]}function X(e){var t=e[0],r=e[1],n=y(r);return[n*y(t),n*w(t),w(r)]}function $(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function K(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function J(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Q(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ee(e){var t=k(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var te,re,ne,ie,ae,oe,se,le,ce,ue,he=r(),fe={point:pe,lineStart:me,lineEnd:ge,polygonStart:function(){fe.point=ye,fe.lineStart=ve,fe.lineEnd=xe,he.reset(),q.polygonStart()},polygonEnd:function(){q.polygonEnd(),fe.point=pe,fe.lineStart=me,fe.lineEnd=ge,U<0?(te=-(ne=180),re=-(ie=90)):he>o?ie=90:he<-o&&(re=-90),ue[0]=te,ue[1]=ne},sphere:function(){te=-(ne=180),re=-(ie=90)}};function pe(e,t){ce.push(ue=[te=e,ne=e]),tie&&(ie=t)}function de(e,t){var r=X([e*p,t*p]);if(le){var n=K(le,r),i=K([n[1],-n[0],0],n);ee(i),i=Y(i);var a,o=e-ae,s=o>0?1:-1,l=i[0]*f*s,c=d(o)>180;c^(s*aeie&&(ie=a):c^(s*ae<(l=(l+360)%360-180)&&lie&&(ie=t)),c?e_e(te,ne)&&(ne=e):_e(e,ne)>_e(te,ne)&&(te=e):ne>=te?(ene&&(ne=e)):e>ae?_e(te,e)>_e(te,ne)&&(ne=e):_e(e,ne)>_e(te,ne)&&(te=e)}else ce.push(ue=[te=e,ne=e]);tie&&(ie=t),le=r,ae=e}function me(){fe.point=de}function ge(){ue[0]=te,ue[1]=ne,fe.point=pe,le=null}function ye(e,t){if(le){var r=e-ae;he.add(d(r)>180?r+(r>0?360:-360):r)}else oe=e,se=t;q.point(e,t),de(e,t)}function ve(){q.lineStart()}function xe(){ye(oe,se),q.lineEnd(),d(he)>o&&(te=-(ne=180)),ue[0]=te,ue[1]=ne,le=null}function _e(e,t){return(t-=e)<0?t+360:t}function be(e,t){return e[0]-t[0]}function we(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tl?e+Math.round(-e/h)*h:e,t]}function Qe(e,t,r){return(e%=h)?t||r?Ke(tt(e),rt(t,r)):tt(e):t||r?rt(t,r):Je}function et(e){return function(t,r){return[(t+=e)>l?t-h:t<-l?t+h:t,r]}}function tt(e){var t=et(e);return t.invert=et(-e),t}function rt(e,t){var r=y(e),n=w(e),i=y(t),a=w(t);function o(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*r+s*n;return[g(l*i-u*a,s*r-c*n),S(u*i+l*a)]}return o.invert=function(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*i-l*a;return[g(l*i+c*a,s*r+u*n),S(u*r-s*n)]},o}function nt(e){function t(t){return(t=e(t[0]*p,t[1]*p))[0]*=f,t[1]*=f,t}return e=Qe(e[0]*p,e[1]*p,e.length>2?e[2]*p:0),t.invert=function(t){return(t=e.invert(t[0]*p,t[1]*p))[0]*=f,t[1]*=f,t},t}function it(e,t,r,n,i,a){if(r){var o=y(t),s=w(t),l=n*r;null==i?(i=t+n*h,a=t-l/2):(i=at(o,i),a=at(o,a),(n>0?ia)&&(i+=n*h));for(var c,u=i;n>0?u>a:u1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}function st(e,t){return d(e[0]-t[0])=0;--a)i.point((h=u[a])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function ut(e){if(t=e.length){for(var t,r,n=0,i=e[0];++n=0?1:-1,D=z*P,O=D>l,R=T*I;if(ht.add(g(R*z*w(D),k*L+R*y(D))),s+=O?P+z*h:P,O^_>=r^E>=r){var F=K(X(x),X(M));ee(F);var B=K(a,F);ee(B);var j=(O^P>=0?-1:1)*S(B[2]);(n>j||n===j&&(F[0]||F[1]))&&(f+=O^P>=0?1:-1)}}return(s<-o||s0){for(f||(a.polygonStart(),f=!0),a.lineStart(),e=0;e1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(mt))}}return p}}function mt(e){return e.length>1}function gt(e,t){return((e=e.x)[0]<0?e[1]-c-o:c-e[1])-((t=t.x)[0]<0?t[1]-c-o:c-t[1])}var yt=dt((function(){return!0}),(function(e){var t,r=NaN,n=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,s){var u=a>0?l:-l,h=d(a-r);d(h-l)0?c:-c),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),e.point(a,n),t=0):i!==u&&h>=l&&(d(r-i)o?m((w(t)*(a=y(n))*w(r)-w(n)*(i=y(t))*w(e))/(i*a*s)):(t+n)/2}(r,n,a,s),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),t=0),e.point(r=a,n=s),i=u},lineEnd:function(){e.lineEnd(),r=n=NaN},clean:function(){return 2-t}}}),(function(e,t,r,n){var i;if(null==e)i=r*c,n.point(-l,i),n.point(0,i),n.point(l,i),n.point(l,0),n.point(l,-i),n.point(0,-i),n.point(-l,-i),n.point(-l,0),n.point(-l,i);else if(d(e[0]-t[0])>o){var a=e[0]0,i=d(t)>o;function a(e,r){return y(e)*y(r)>t}function s(e,r,n){var i=[1,0,0],a=K(X(e),X(r)),s=$(a,a),c=a[0],u=s-c*c;if(!u)return!n&&e;var h=t*s/u,f=-t*c/u,p=K(i,a),m=Q(i,h);J(m,Q(a,f));var g=p,y=$(m,g),v=$(g,g),x=y*y-v*($(m,m)-1);if(!(x<0)){var _=k(x),b=Q(g,(-y-_)/v);if(J(b,m),b=Y(b),!n)return b;var w,T=e[0],A=r[0],M=e[1],S=r[1];A0^b[1]<(d(b[0]-T)l^(T<=b[0]&&b[0]<=A)){var I=Q(g,(-y+_)/v);return J(I,m),[b,Y(I)]}}}function c(t,r){var i=n?e:l-e,a=0;return t<-i?a|=1:t>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return dt(a,(function(e){var t,r,o,u,h;return{lineStart:function(){u=o=!1,h=1},point:function(f,p){var d,m=[f,p],g=a(f,p),y=n?g?0:c(f,p):g?c(f+(f<0?l:-l),p):0;if(!t&&(u=o=g)&&e.lineStart(),g!==o&&(!(d=s(t,m))||st(t,d)||st(m,d))&&(m[2]=1),g!==o)h=0,g?(e.lineStart(),d=s(m,t),e.point(d[0],d[1])):(d=s(t,m),e.point(d[0],d[1],2),e.lineEnd()),t=d;else if(i&&t&&n^g){var v;!(y&r)&&(v=s(m,t,!0))&&(h=0,n?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}g&&(!t||!st(t,m))&&e.point(m[0],m[1]),t=m,o=g,r=y},lineEnd:function(){o&&e.lineEnd(),t=null},clean:function(){return h|(u&&o)<<1}}}),(function(t,n,i,a){it(a,e,r,i,t,n)}),n?[0,-e]:[-l,e-l])}var xt=1e9,_t=-xt;function bt(e,r,n,i){function a(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function s(t,a,o,s){var c=0,h=0;if(null==t||(c=l(t,o))!==(h=l(a,o))||u(t,a)<0^o>0)do{s.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+o+4)%4)!==h);else s.point(a[0],a[1])}function l(t,i){return d(t[0]-e)0?0:3:d(t[0]-n)0?2:1:d(t[1]-r)0?1:0:i>0?3:2}function c(e,t){return u(e.x,t.x)}function u(e,t){var r=l(e,1),n=l(t,1);return r!==n?r-n:0===r?t[1]-e[1]:1===r?e[0]-t[0]:2===r?e[1]-t[1]:t[0]-e[0]}return function(o){var l,u,h,f,p,d,m,g,y,v,x,_=o,b=ot(),w={point:T,lineStart:function(){w.point=k,u&&u.push(h=[]),v=!0,y=!1,m=g=NaN},lineEnd:function(){l&&(k(f,p),d&&y&&b.rejoin(),l.push(b.result())),w.point=T,y&&_.lineEnd()},polygonStart:function(){_=b,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var t=0,r=0,n=u.length;ri&&(f-a)*(i-o)>(p-o)*(e-a)&&++t:p<=i&&(f-a)*(i-o)<(p-o)*(e-a)&&--t;return t}(),n=x&&r,a=(l=t.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&ct(l,c,r,s,o),o.polygonEnd()),_=o,l=u=h=null}};function T(e,t){a(e,t)&&_.point(e,t)}function k(t,o){var s=a(t,o);if(u&&h.push([t,o]),v)f=t,p=o,d=s,v=!1,s&&(_.lineStart(),_.point(t,o));else if(s&&y)_.point(t,o);else{var l=[m=Math.max(_t,Math.min(xt,m)),g=Math.max(_t,Math.min(xt,g))],c=[t=Math.max(_t,Math.min(xt,t)),o=Math.max(_t,Math.min(xt,o))];!function(e,t,r,n,i,a){var o,s=e[0],l=e[1],c=0,u=1,h=t[0]-s,f=t[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0&&(e[0]=s+c*h,e[1]=l+c*f),u<1&&(t[0]=s+u*h,t[1]=l+u*f),!0}}}}}(l,c,e,r,n,i)?s&&(_.lineStart(),_.point(t,o),x=!1):(y||(_.lineStart(),_.point(l[0],l[1])),_.point(c[0],c[1]),s||_.lineEnd(),x=!1)}m=t,g=o,y=s}return w}}var wt,Tt,kt,At=r(),Mt={sphere:C,point:C,lineStart:function(){Mt.point=Et,Mt.lineEnd=St},lineEnd:C,polygonStart:C,polygonEnd:C};function St(){Mt.point=Mt.lineEnd=C}function Et(e,t){wt=e*=p,Tt=w(t*=p),kt=y(t),Mt.point=Ct}function Ct(e,t){e*=p;var r=w(t*=p),n=y(t),i=d(e-wt),a=y(i),o=n*w(i),s=kt*r-Tt*n*a,l=Tt*r+kt*n*a;At.add(g(k(o*o+s*s),l)),wt=e,Tt=r,kt=n}function It(e){return At.reset(),O(e,Mt),+At}var Lt=[null,null],Pt={type:"LineString",coordinates:Lt};function zt(e,t){return Lt[0]=e,Lt[1]=t,It(Pt)}var Dt={Feature:function(e,t){return Rt(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n0&&(i=zt(e[a],e[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))o})).map(u)).concat(t.range(v(s/g)*g,a,g).filter((function(e){return d(e%x)>o})).map(h))}return b.lines=function(){return w().map((function(e){return{type:"LineString",coordinates:e}}))},b.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(p(l).slice(1),f(n).reverse().slice(1),p(c).reverse().slice(1))]}},b.extent=function(e){return arguments.length?b.extentMajor(e).extentMinor(e):b.extentMinor()},b.extentMajor=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],c=+e[0][1],l=+e[1][1],i>n&&(e=i,i=n,n=e),c>l&&(e=c,c=l,l=e),b.precision(_)):[[i,c],[n,l]]},b.extentMinor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],s=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),s>a&&(t=s,s=a,a=t),b.precision(_)):[[r,s],[e,a]]},b.step=function(e){return arguments.length?b.stepMajor(e).stepMinor(e):b.stepMinor()},b.stepMajor=function(e){return arguments.length?(y=+e[0],x=+e[1],b):[y,x]},b.stepMinor=function(e){return arguments.length?(m=+e[0],g=+e[1],b):[m,g]},b.precision=function(t){return arguments.length?(_=+t,u=Vt(s,a,90),h=qt(r,e,_),f=Vt(c,l,90),p=qt(i,n,_),b):_},b.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Gt(e){return e}var Wt,Zt,Yt,Xt,$t=r(),Kt=r(),Jt={point:C,lineStart:C,lineEnd:C,polygonStart:function(){Jt.lineStart=Qt,Jt.lineEnd=rr},polygonEnd:function(){Jt.lineStart=Jt.lineEnd=Jt.point=C,$t.add(d(Kt)),Kt.reset()},result:function(){var e=$t/2;return $t.reset(),e}};function Qt(){Jt.point=er}function er(e,t){Jt.point=tr,Wt=Yt=e,Zt=Xt=t}function tr(e,t){Kt.add(Xt*e-Yt*t),Yt=e,Xt=t}function rr(){tr(Wt,Zt)}var nr,ir,ar,or,sr=1/0,lr=sr,cr=-sr,ur=cr,hr={point:function(e,t){ecr&&(cr=e),tur&&(ur=t)},lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var e=[[sr,lr],[cr,ur]];return cr=ur=-(lr=sr=1/0),e}},fr=0,pr=0,dr=0,mr=0,gr=0,yr=0,vr=0,xr=0,_r=0,br={point:wr,lineStart:Tr,lineEnd:Mr,polygonStart:function(){br.lineStart=Sr,br.lineEnd=Er},polygonEnd:function(){br.point=wr,br.lineStart=Tr,br.lineEnd=Mr},result:function(){var e=_r?[vr/_r,xr/_r]:yr?[mr/yr,gr/yr]:dr?[fr/dr,pr/dr]:[NaN,NaN];return fr=pr=dr=mr=gr=yr=vr=xr=_r=0,e}};function wr(e,t){fr+=e,pr+=t,++dr}function Tr(){br.point=kr}function kr(e,t){br.point=Ar,wr(ar=e,or=t)}function Ar(e,t){var r=e-ar,n=t-or,i=k(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,wr(ar=e,or=t)}function Mr(){br.point=wr}function Sr(){br.point=Cr}function Er(){Ir(nr,ir)}function Cr(e,t){br.point=Ir,wr(nr=ar=e,ir=or=t)}function Ir(e,t){var r=e-ar,n=t-or,i=k(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,vr+=(i=or*e-ar*t)*(ar+e),xr+=i*(or+t),_r+=3*i,wr(ar=e,or=t)}function Lr(e){this._context=e}Lr.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,h)}},result:C};var Pr,zr,Dr,Or,Rr,Fr=r(),Br={point:C,lineStart:function(){Br.point=jr},lineEnd:function(){Pr&&Nr(zr,Dr),Br.point=C},polygonStart:function(){Pr=!0},polygonEnd:function(){Pr=null},result:function(){var e=+Fr;return Fr.reset(),e}};function jr(e,t){Br.point=Nr,zr=Or=e,Dr=Rr=t}function Nr(e,t){Or-=e,Rr-=t,Fr.add(k(Or*Or+Rr*Rr)),Or=e,Rr=t}function Ur(){this._string=[]}function Vr(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function qr(e){return function(t){var r=new Hr;for(var n in e)r[n]=e[n];return r.stream=t,r}}function Hr(){}function Gr(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),O(r,e.stream(hr)),t(hr.result()),null!=n&&e.clipExtent(n),e}function Wr(e,t,r){return Gr(e,(function(r){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+t[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,s])}),r)}function Zr(e,t,r){return Wr(e,[[0,0],t],r)}function Yr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];e.scale(150*i).translate([a,o])}),r)}function Xr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,o])}),r)}Ur.prototype={_radius:4.5,_circle:Vr(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=Vr(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}},Hr.prototype={constructor:Hr,point:function(e,t){this.stream.point(e,t)},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()}};var $r=y(30*p);function Kr(e,t){return+t?function(e,t){function r(n,i,a,s,l,c,u,h,f,p,m,y,v,x){var _=u-n,b=h-i,w=_*_+b*b;if(w>4*t&&v--){var T=s+p,A=l+m,M=c+y,E=k(T*T+A*A+M*M),C=S(M/=E),I=d(d(M)-1)t||d((_*D+b*O)/w-.5)>.3||s*p+l*m+c*y<$r)&&(r(n,i,a,s,l,c,P,z,I,T/=E,A/=E,M,v,x),x.point(P,z),r(P,z,I,T,A,M,u,h,f,p,m,y,v,x))}}return function(t){var n,i,a,o,s,l,c,u,h,f,p,d,m={point:g,lineStart:y,lineEnd:x,polygonStart:function(){t.polygonStart(),m.lineStart=_},polygonEnd:function(){t.polygonEnd(),m.lineStart=y}};function g(r,n){r=e(r,n),t.point(r[0],r[1])}function y(){u=NaN,m.point=v,t.lineStart()}function v(n,i){var a=X([n,i]),o=e(n,i);r(u,h,c,f,p,d,u=o[0],h=o[1],c=n,f=a[0],p=a[1],d=a[2],16,t),t.point(u,h)}function x(){m.point=g,t.lineEnd()}function _(){y(),m.point=b,m.lineEnd=w}function b(e,t){v(n=e,t),i=u,a=h,o=f,s=p,l=d,m.point=v}function w(){r(u,h,c,f,p,d,i,a,n,o,s,l,16,t),m.lineEnd=x,x()}return m}}(e,t):function(e){return qr({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}(e)}var Jr=qr({point:function(e,t){this.stream.point(e*p,t*p)}});function Qr(e,t,r,n,i){function a(a,o){return[t+e*(a*=n),r-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*n,(r-o)/e*i]},a}function en(e,t,r,n,i,a){var o=y(a),s=w(a),l=o*e,c=s*e,u=o/e,h=s/e,f=(s*r-o*t)/e,p=(s*t+o*r)/e;function d(e,a){return[l*(e*=n)-c*(a*=i)+t,r-c*e-l*a]}return d.invert=function(e,t){return[n*(u*e-h*t+f),i*(p-h*e-u*t)]},d}function tn(e){return rn((function(){return e}))()}function rn(e){var t,r,n,i,a,o,s,l,c,u,h=150,d=480,m=250,g=0,y=0,v=0,x=0,_=0,b=0,w=1,T=1,A=null,M=yt,S=null,E=Gt,C=.5;function I(e){return l(e[0]*p,e[1]*p)}function L(e){return(e=l.invert(e[0],e[1]))&&[e[0]*f,e[1]*f]}function P(){var e=en(h,0,0,w,T,b).apply(null,t(g,y)),n=(b?en:Qr)(h,d-e[0],m-e[1],w,T,b);return r=Qe(v,x,_),s=Ke(t,n),l=Ke(r,s),o=Kr(s,C),z()}function z(){return c=u=null,I}return I.stream=function(e){return c&&u===e?c:c=Jr(function(e){return qr({point:function(t,r){var n=e(t,r);return this.stream.point(n[0],n[1])}})}(r)(M(o(E(u=e)))))},I.preclip=function(e){return arguments.length?(M=e,A=void 0,z()):M},I.postclip=function(e){return arguments.length?(E=e,S=n=i=a=null,z()):E},I.clipAngle=function(e){return arguments.length?(M=+e?vt(A=e*p):(A=null,yt),z()):A*f},I.clipExtent=function(e){return arguments.length?(E=null==e?(S=n=i=a=null,Gt):bt(S=+e[0][0],n=+e[0][1],i=+e[1][0],a=+e[1][1]),z()):null==S?null:[[S,n],[i,a]]},I.scale=function(e){return arguments.length?(h=+e,P()):h},I.translate=function(e){return arguments.length?(d=+e[0],m=+e[1],P()):[d,m]},I.center=function(e){return arguments.length?(g=e[0]%360*p,y=e[1]%360*p,P()):[g*f,y*f]},I.rotate=function(e){return arguments.length?(v=e[0]%360*p,x=e[1]%360*p,_=e.length>2?e[2]%360*p:0,P()):[v*f,x*f,_*f]},I.angle=function(e){return arguments.length?(b=e%360*p,P()):b*f},I.reflectX=function(e){return arguments.length?(w=e?-1:1,P()):w<0},I.reflectY=function(e){return arguments.length?(T=e?-1:1,P()):T<0},I.precision=function(e){return arguments.length?(o=Kr(s,C=e*e),z()):k(C)},I.fitExtent=function(e,t){return Wr(I,e,t)},I.fitSize=function(e,t){return Zr(I,e,t)},I.fitWidth=function(e,t){return Yr(I,e,t)},I.fitHeight=function(e,t){return Xr(I,e,t)},function(){return t=e.apply(this,arguments),I.invert=t.invert&&L,P()}}function nn(e){var t=0,r=l/3,n=rn(e),i=n(t,r);return i.parallels=function(e){return arguments.length?n(t=e[0]*p,r=e[1]*p):[t*f,r*f]},i}function an(e,t){var r=w(e),n=(r+w(t))/2;if(d(n)0?t<-c+o&&(t=-c+o):t>c-o&&(t=c-o);var r=i/b(dn(t),n);return[r*w(n*e),i-r*y(n*e)]}return a.invert=function(e,t){var r=i-t,a=T(n)*k(e*e+r*r),o=g(e,d(r))*T(r);return r*n<0&&(o-=l*T(e)*T(r)),[o/n,2*m(b(i/a,1/n))-c]},a}function gn(e,t){return[e,t]}function yn(e,t){var r=y(e),n=e===t?w(e):(r-y(t))/(t-e),i=r/n+e;if(d(n)o&&--i>0);return[e/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Mn.invert=cn(S),Sn.invert=cn((function(e){return 2*m(e)})),En.invert=function(e,t){return[-t,2*m(x(e))-c]},e.geoAlbers=sn,e.geoAlbersUsa=function(){var e,t,r,n,i,a,s=sn(),l=on().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=on().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(e,t){a=[e,t]}};function h(e){var t=e[0],o=e[1];return a=null,r.point(t,o),a||(n.point(t,o),a)||(i.point(t,o),a)}function f(){return e=t=null,h}return h.invert=function(e){var t=s.scale(),r=s.translate(),n=(e[0]-r[0])/t,i=(e[1]-r[1])/t;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(e)},h.stream=function(r){return e&&t===r?e:e=function(e){var t=e.length;return{point:function(r,n){for(var i=-1;++i_e(n[0],n[1])&&(n[1]=i[1]),_e(i[0],n[1])>_e(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,t=0,n=a[r=a.length-1];t<=r;n=i,++t)i=a[t],(s=_e(n[1],i[0]))>o&&(o=s,te=i[0],ne=n[1])}return ce=ue=null,te===1/0||re===1/0?[[NaN,NaN],[NaN,NaN]]:[[te,re],[ne,ie]]},e.geoCentroid=function(e){Te=ke=Ae=Me=Se=Ee=Ce=Ie=Le=Pe=ze=0,O(e,je);var t=Le,r=Pe,n=ze,i=t*t+r*r+n*n;return i2?e[2]+90:90]):[(e=r())[0],e[1],e[2]-90]},r([0,0,90]).scale(159.155)},e.geoTransverseMercatorRaw=En,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Eg()):n((r=r||self).d3=r.d3||{},r.d3)}}),Ig=m({"node_modules/d3-geo-projection/dist/d3-geo-projection.js"(e,t){var r,n;r=e,n=function(e,t,r){var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,h=Math.min,f=Math.pow,p=Math.round,d=Math.sign||function(e){return e>0?1:e<0?-1:0},m=Math.sin,g=Math.tan,y=1e-6,v=1e-12,x=Math.PI,_=x/2,b=x/4,w=Math.SQRT1_2,T=I(2),k=I(x),A=2*x,M=180/x,S=x/180;function E(e){return e>1?_:e<-1?-_:Math.asin(e)}function C(e){return e>1?0:e<-1?x:Math.acos(e)}function I(e){return e>0?Math.sqrt(e):0}function L(e){return(s(e)-s(-e))/2}function P(e){return(s(e)+s(-e))/2}function z(e){var t=g(e/2),r=2*c(o(e/2))/(t*t);function i(e,t){var n=o(e),i=o(t),a=m(t),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(e),l*a]}return i.invert=function(t,i){var s,l=I(t*t+i*i),u=-e/2,h=50;if(!l)return[0,0];do{var f=u/2,p=o(f),d=m(f),g=d/p,v=-c(n(p));u-=s=(2/g*v-r*g-l)/(-v/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>y&&--h>0);var x=m(u);return[a(t*x,l*o(u)),E(i*x/l)]},i}function D(e,t){var r=o(t),n=function(e){return e?e/Math.sin(e):1}(C(r*o(e/=2)));return[2*r*m(e)*n,m(t)*n]}function O(e){var t=m(e),r=o(e),i=e>=0?1:-1,s=g(i*e),l=(1+t-r)/2;function c(e,n){var c=o(n),u=o(e/=2);return[(1+c)*m(e),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*t*u]}return c.invert=function(e,c){var u=0,h=0,f=50;do{var p=o(u),d=m(u),g=o(h),v=m(h),x=1+g,_=x*d-e,b=l+v*r-x*t*p-c,w=x*p/2,T=-d*v,k=t*x*d/2,A=r*g+t*p*v,M=T*k-A*w,S=(b*T-_*A)/M/2,E=(_*k-b*w)/M;n(E)>2&&(E/=2),u-=S,h-=E}while((n(S)>y||n(E)>y)&&--f>0);return i*h>-a(o(u),s)-.001?[2*u,h]:null},c}function R(e,t){var r=g(t/2),n=I(1-r*r),i=1+n*o(e/=2),a=m(e)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}D.invert=function(e,t){if(!(e*e+4*t*t>x*x+y)){var r=e,i=t,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),h=m(i),f=o(i),p=m(2*i),d=h*h,g=f*f,v=c*c,_=1-g*u*u,b=_?C(f*u)*I(s=1/_):s=0,w=2*b*f*c-e,T=b*h-t,k=s*(g*v+b*f*u*d),A=s*(.5*l*p-2*b*h*c),M=.25*s*(p*c-b*h*g*l),S=s*(d*u+b*v*f),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,i-=P}while((n(L)>y||n(P)>y)&&--a>0);return[r,i]}},R.invert=function(e,t){if(t*=3/8,!(e*=3/8)&&n(t)>1)return null;var r=1+e*e+t*t,i=I((r-I(r*r-4*t*t))/2),s=E(i)/3,l=i?function(e){return c(e+I(e*e-1))}(n(t/i))/3:function(e){return c(e+I(e*e+1))}(n(e))/3,u=o(s),h=P(l),f=h*h-u*u;return[2*d(e)*a(L(l)*u,.25-f),2*d(t)*a(h*m(s),.25+f)]};var F=I(8),B=c(1+T);function j(e,t){var r=n(t);return r_){var l=a(s[1],s[0]),c=I(s[0]*s[0]+s[1]*s[1]),u=r*p((l-_)/r)+_,h=a(m(l-=u),2-o(l));l=u+E(x/c*m(h))-h,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(e,n){var s=I(e*e+n*n);if(s>_){var l=a(n,e),c=r*p((l-_)/r)+_,u=l>c?-1:1,h=s*o(c-l),f=1/g(u*C((h-x)/I(x*(x-2*h)+s*s)));l=c+2*i((f+u*I(f*f-3))/3),e=s*o(l),n=s*m(l)}return t.geoAzimuthalEquidistantRaw.invert(e,n)},s}function U(e,r){if(arguments.length<2&&(r=e),1===r)return t.geoAzimuthalEqualAreaRaw;if(r===1/0)return V;function n(n,i){var a=t.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=e,a}return n.invert=function(n,i){var a=t.geoAzimuthalEqualAreaRaw.invert(n/e,i);return a[0]*=r,a},n}function V(e,t){return[e*o(t)/o(t/=2),2*m(t)]}function q(e,t,r){var i,a,o,s=100;r=void 0===r?0:+r,t=+t;do{(a=e(r))===(o=e(r+y))&&(o=a+y),r-=i=-1*y*(a-t)/(a-o)}while(s-- >0&&n(i)>y);return s<0?NaN:r}function H(e,t,r){return void 0===t&&(t=40),void 0===r&&(r=v),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=e(o+g,s),x=e(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(n(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*b-d*_)*A,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return t.invert=H(t),t}function W(e,t){var r,i=e*m(t),a=30;do{t-=r=(t+m(t)-i)/(1+o(t))}while(n(r)>y&&--a>0);return t/2}function Z(e,t,r){function n(n,i){return[e*n*o(i=W(r,i)),t*m(i)]}return n.invert=function(n,i){return i=E(i/t),[n/(e*o(i)),E((2*i+m(2*i))/r)]},n}j.invert=function(e,t){if((a=n(t))v&&--u>0);return[e/(o(l)*(F-1/m(l))),d(t)*l]},V.invert=function(e,t){var r=2*E(t/2);return[e*o(r/2)/o(r),r]};var Y=Z(T/_,T,x),X=2.00276,$=1.11072;function K(e,t){var r=W(x,t);return[X*e/(1/o(t)+$/o(r)),(t+T*m(r))/X]}function J(e){var r=0,n=t.geoProjectionMutator(e),i=n(r);return i.parallel=function(e){return arguments.length?n(r=e*S):r*M},i}function Q(e,t){return[e*o(t),t]}function ee(e){if(!e)return Q;var t=1/g(e);function r(r,n){var i=t+e-n,a=i&&r*o(n)/i;return[i*m(a),t-i*o(a)]}return r.invert=function(r,n){var i=I(r*r+(n=t-n)*n),s=t+e-i;return[i/o(s)*a(r,n),s]},r}function te(e){function t(t,r){var n=_-r,i=n&&t*e*m(n)/n;return[n*m(i)/e,_-n*o(i)]}return t.invert=function(t,r){var n=t*e,i=_-r,o=I(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/e,_-o]},t}K.invert=function(e,t){var r,i,a=X*t,s=t<0?-b:b,l=25;do{i=a-T*m(s),s-=r=(m(2*s)+2*s-x*m(i))/(2*o(2*s)+2+x*o(i)*T*o(s))}while(n(r)>y&&--l>0);return i=a-T*m(s),[e*(1/o(i)+$/o(s))/X,i]},Q.invert=function(e,t){return[e/o(t),t]};var re=Z(1,4/x,x);function ne(e,t,r,i,s,l){var c,u=o(l);if(n(e)>1||n(l)>1)c=C(r*s+t*i*u);else{var h=m(e/2),f=m(l/2);c=2*E(I(h*h+t*i*f*f))}return n(c)>y?[c,a(i*m(l),t*s-r*i*u)]:[0,0]}function ie(e,t,r){return C((e*e+t*t-r*r)/(2*e*t))}function ae(e){return e-2*x*l((e+x)/(2*x))}function oe(e,t,r){for(var n,i=[[e[0],e[1],m(e[1]),o(e[1])],[t[0],t[1],m(t[1]),o(t[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=ne(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=ie(i[0].v[0],i[2].v[0],i[1].v[0]),c=ie(i[0].v[0],i[1].v[0],i[2].v[0]),u=x-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(e,t){var r,n=m(t),a=o(t),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=ne(t-l[1],l[3],l[2],a,n,e-l[0]),!s[r][0])return l.point;s[r][1]=ae(s[r][1]-l.v[1])}var f=h.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=ie(i[r].v[0],s[r][0],s[p][0]);s[r][1]<0&&(d=-d),r?1==r?(d=c-d,f[0]-=s[r][0]*o(d),f[1]-=s[r][0]*m(d)):(d=u-d,f[0]+=s[r][0]*o(d),f[1]+=s[r][0]*m(d)):(f[0]+=s[r][0]*o(d),f[1]-=s[r][0]*m(d))}return f[0]/=3,f[1]/=3,f}}function se(e){return e[0]*=S,e[1]*=S,e}function le(e,r,n){var i=t.geoCentroid({type:"MultiPoint",coordinates:[e,r,n]}),a=[-i[0],-i[1]],o=t.geoRotation(a),s=oe(se(o(e)),se(o(r)),se(o(n)));s.invert=H(s);var l=t.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(e){return arguments.length?c(o(e)):o.invert(c())},l.clipAngle(90)}function ce(e,t){var r=I(1-m(t));return[2/k*e*r,k*(1-r)]}function ue(e){var t=g(e);function r(e,r){return[e,(e?e/m(e):1)*(m(r)*o(e)-t*o(r))]}return r.invert=t?function(e,r){e&&(r*=m(e)/e);var n=o(e);return[e,2*a(I(n*n+t*t-r*r)-n,t-r)]}:function(e,t){return[e,E(e?t*g(e)/e:t)]},r}ce.invert=function(e,t){var r=(r=t/k-1)*r;return[r>0?e*I(x/r)/2:0,E(1-r)]};var he=I(3);function fe(e,t){return[he*e*(2*o(2*t/3)-1)/k,he*k*m(t/3)]}function pe(e){var t=o(e);function r(e,r){return[e*t,m(r)/t]}return r.invert=function(e,r){return[e/t,E(r*t)]},r}function de(e){var t=o(e);function r(e,r){return[e*t,(1+t)*g(r/2)]}return r.invert=function(e,r){return[e/t,2*i(r/(1+t))]},r}function me(e,t){var r=I(8/(3*x));return[r*e*(1-n(t)/x),r*t]}function ge(e,t){var r=I(4-3*m(n(t)));return[2/I(6*x)*e*r,d(t)*I(2*x/3)*(2-r)]}function ye(e,t){var r=I(x*(4+x));return[2/r*e*(1+I(1-4*t*t/(x*x))),4/r*t]}function ve(e,t){var r=(2+_)*m(t);t/=2;for(var i=0,a=1/0;i<10&&n(a)>y;i++){var s=o(t);t-=a=(t+m(t)*(s+2)-r)/(2*s*(1+s))}return[2/I(x*(4+x))*e*(1+o(t)),2*I(x/(4+x))*m(t)]}function xe(e,t){return[e*(1+o(t))/I(2+x),2*t/I(2+x)]}function _e(e,t){for(var r=(1+_)*m(t),i=0,a=1/0;i<10&&n(a)>y;i++)t-=a=(t+m(t)-r)/(1+o(t));return r=I(2+x),[e*(1+o(t))/r,2*t/r]}fe.invert=function(e,t){var r=3*E(t/(he*k));return[k*e/(he*(2*o(2*r/3)-1)),r]},me.invert=function(e,t){var r=I(8/(3*x)),i=t/r;return[e/(r*(1-n(i)/x)),i]},ge.invert=function(e,t){var r=2-n(t)/I(2*x/3);return[e*I(6*x)/(2*r),d(t)*E((4-r*r)/3)]},ye.invert=function(e,t){var r=I(x*(4+x))/2;return[e*r/(1+I(1-t*t*(4+x)/(4*x))),t*r/2]},ve.invert=function(e,t){var r=t*I((4+x)/x)/2,n=E(r),i=o(n);return[e/(2/I(x*(4+x))*(1+i)),E((n+r*(i+2))/(2+_))]},xe.invert=function(e,t){var r=I(2+x),n=t*r/2;return[r*e/(1+o(n)),n]},_e.invert=function(e,t){var r=1+_,n=I(r/2);return[2*e*n/(1+o(t*=n)),E((t+m(t))/r)]};var be=3+2*T;function we(e,t){var r=m(e/=2),n=o(e),a=I(o(t)),s=o(t/=2),l=m(t)/(s+T*n*a),u=I(2/(1+l*l)),h=I((T*s+(n+r)*a)/(T*s+(n-r)*a));return[be*(u*(h-1/h)-2*c(h)),be*(u*l*(h+1/h)-2*i(l))]}we.invert=function(e,t){if(!(r=R.invert(e/1.2,1.065*t)))return null;var r,a=r[0],s=r[1],l=20;e/=be,t/=be;do{var f=a/2,p=s/2,d=m(f),g=o(f),v=m(p),x=o(p),b=o(s),k=I(b),A=v/(x+T*g*k),M=A*A,S=I(2/(1+M)),E=(T*x+(g+d)*k)/(T*x+(g-d)*k),C=I(E),L=C-1/C,P=C+1/C,z=S*L-2*c(C)-e,D=S*A*P-2*i(A)-t,O=v&&w*k*d*M/v,F=(T*g*x+k)/(2*(x+T*g*k)*(x+T*g*k)*k),B=-.5*A*S*S*S,j=B*O,N=B*F,U=(U=2*x+T*k*(g-d))*U*C,V=(T*g*x*k+b)/U,q=-T*d*v/(k*U),H=L*j-2*V/C+S*(V+V/E),G=L*N-2*q/C+S*(q+q/E),W=A*P*j-2*O/(1+M)+S*P*O+S*A*(V-V/E),Z=A*P*N-2*F/(1+M)+S*P*F+S*A*(q-q/E),Y=G*W-Z*H;if(!Y)break;var X=(D*G-z*Z)/Y,$=(z*W-D*H)/Y;a-=X,s=u(-_,h(_,s-$))}while((n(X)>y||n($)>y)&&--l>0);return n(n(s)-_)s){var d=I(f),g=a(h,u),v=i*p(g/i),b=g-v,w=e*o(b),T=(e*m(b)-b*m(w))/(_-w),k=Ie(b,T),A=(x-e)/Le(k,w,x);u=d;var M,S=50;do{u-=M=(e+Le(k,w,u)*A-d)/(k(u)*A)}while(n(M)>y&&--S>0);h=b*m(u),u<_&&(h-=T*(u-_));var E=m(v),C=o(v);c[0]=u*C-h*E,c[1]=u*E+h*C}return c}return l.invert=function(r,l){var c=r*r+l*l;if(c>s){var u=I(c),h=a(l,r),f=i*p(h/i),d=h-f;r=u*o(d),l=u*m(d);for(var g=r-_,y=m(r),b=l/y,w=r<_?1/0:0,T=10;;){var k=e*m(b),A=e*o(b),M=m(A),S=_-A,E=(k-b*M)/S,C=Ie(b,E);if(n(w)y||n(p)>y)&&--v>0);return[d,g]},u}ke.invert=function(e,t){var r=t/(1+Te);return[e&&e/(Te*I(1-r*r)),2*i(r)]},Ae.invert=function(e,t){var r=i(t/k),n=o(r),a=2*r;return[e*k/2/(o(a)*n*n),a]};var ze=Pe(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555),De=Pe(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742),Oe=Pe(5/6*x,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Re(e,t){var r=e*e,n=t*t;return[e*(1-.162388*n)*(.87-952426e-9*r*r),t*(1+n/12)]}Re.invert=function(e,t){var r,i=e,a=t,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-t)/(1+s/4)}while(n(r)>y&&--o>0);o=50,e/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-e)/(.87-.00476213*l)}while(n(r)>y&&--o>0);return[i,a]};var Fe=Pe(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Be(e){var t=e(_,0)[0]-e(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=e(r+i*x,n);return a[0]-=i*t,a}return e.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=e.invert(r+i*t,n),o=a[0]-i*x;return o<-x?o+=2*x:o>x&&(o-=2*x),a[0]=o,a}),r}function je(e,t){var r=d(e),i=d(t),s=o(t),l=o(e)*s,c=m(e)*s,u=m(i*t);e=n(a(c,u)),t=E(l),n(e-_)>y&&(e%=_);var h=function(e,t){if(t===_)return[0,0];var r,i,a=m(t),s=a*a,l=s*s,c=1+l,u=1+3*l,h=1-l,f=E(1/I(c)),p=h+s*c*f,d=(1-a)/p,g=I(d),v=d*c,b=I(v),w=g*h;if(0===e)return[0,-(w+s*b)];var T,k=o(t),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*s+f*u)*M))/(p*p),C=-A*M,L=-A*(s*c*S+d*u*M),P=-2*A*(h*(.5*S/g)-2*s*g*M),z=4*e/x;if(e>.222*x||t.175*x){if(r=(w+s*I(v*(1+l)-w*w))/(1+l),e>x/4)return[r,r];var D=r,O=.5*r;r=.5*(O+D),i=50;do{var R=r*(P+C*I(v-r*r))+L*E(r/b)-z;if(!R)break;R<0?O=r:D=r,r=.5*(O+D)}while(n(D-O)>y&&--i>0)}else{r=y,i=25;do{var F=r*r,B=I(v-F),j=P+C*B,N=r*j+L*E(r/b)-z;r-=T=B?N/(j+(L-C*F)/B):0}while(n(T)>y&&--i>0)}return[r,-w-s*I(v-r*r)]}(e>x/4?_-e:e,t);return e>x/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-i,h}function Ne(e,t){var r,a,l,c,u;if(t=1-y)return r=(1-t)/4,a=P(e),c=function(e){return((e=s(2*e))-1)/(e+1)}(e),l=1/a,[c+r*((u=a*L(e))-e)/(a*a),l-r*c*l*(u-e),l+r*c*l*(u+e),2*i(s(e))-_+r*(u-e)/a];var h=[1,0,0,0,0,0,0,0,0],f=[I(t),0,0,0,0,0,0,0,0],p=0;for(a=I(1-t),u=1;n(f[p]/h[p])>y&&p<8;)r=h[p++],f[p]=(r-a)/2,h[p]=(r+a)/2,a=I(r*a),u*=2;l=u*h[p]*e;do{l=(E(c=f[p]*m(a=l)/h[p])+l)/2}while(--p);return[m(l),c=o(l),c/o(l-a),l]}function Ue(e,t){if(!t)return e;if(1===t)return c(g(e/2+b));for(var r=1,a=I(1-t),o=I(t),s=0;n(o)>y;s++){if(e%x){var l=i(a*g(e)/r);l<0&&(l+=x),e+=l+~~(e/x)*x}else e+=e;o=(r+a)/2,a=I(r*a),o=((r=o)-a)/2}return e/(f(2,s)*r)}function Ve(e,t){var r=(T-1)/(T+1),l=I(1-r*r),u=Ue(_,l*l),h=c(g(x/4+n(t)/2)),f=s(-1*h)/I(r),p=function(e,t){var r=e*e,n=t+1,i=1-r-t*t;return[.5*((e>=0?_:-_)-a(i,2*e)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(f*o(-1*e),f*m(-1*e)),y=function(e,t,r){var a=n(e),o=L(n(t));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+I(c*c-(r-1)*l*4))/2;return[Ue(i(1/I(u)),r)*d(e),Ue(i(I((u/l-1)/r)),1-r)*d(t)]}return[0,Ue(i(o),1-r)*d(t)]}(p[0],p[1],l*l);return[-y[1],(t>=0?1:-1)*(.5*u-y[0])]}function qe(e){var t=m(e),r=o(e),i=He(e);function s(e,a){var s=i(e,a);e=s[0],a=s[1];var l=m(a),c=o(a),u=o(e),h=C(t*l+r*c*u),f=m(h),p=n(f)>y?h/f:1;return[p*r*m(e),(n(e)>_?p:-p)*(t*c-r*l*u)]}return i.invert=He(-e),s.invert=function(e,r){var n=I(e*e+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,h=n*t,f=I(c*c+u*u-h*h),p=a(c*h+u*f,u*h-c*f),d=(n>_?-1:1)*a(e*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function He(e){var t=m(e),r=o(e);return function(e,n){var i=o(n),s=o(e)*i,l=m(e)*i,c=m(n);return[a(l,s*r-c*t),E(c*r+s*t)]}}je.invert=function(e,t){n(e)>1&&(e=2*d(e)-e),n(t)>1&&(t=2*d(t)-t);var r=d(e),i=d(t),s=-r*e,l=-i*t,c=l/s<1,u=function(e,t){for(var r=0,i=1,a=.5,s=50;;){var l=a*a,c=I(a),u=E(1/I(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=I(f),d=f*(1+l),m=p*(1-l),g=I(d-e*e),y=t+m+a*g;if(n(i-r)0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var _=E(c),b=o(_),w=1/b,T=2*c*b,k=(-h*b-(1-c)*((-3*a+u*(1+3*l))*T))/(h*h);return[x/4*(e*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+f*(1+3*l)*T)*E(e/I(d))),_]}(c?l:s,c?s:l),h=u[0],f=u[1],p=o(f);return c&&(h=-_-h),[r*(a(m(h)*p,-m(f))+x),i*E(o(h)*p)]},Ve.invert=function(e,t){var r=(T-1)/(T+1),n=I(1-r*r),o=function(e,t,r){var n,i,a;return e?(n=Ne(e,r),t?(a=(i=Ne(t,1-r))[1]*i[1]+r*n[0]*n[0]*i[0]*i[0],[[n[0]*i[2]/a,n[1]*n[2]*i[0]*i[1]/a],[n[1]*i[1]/a,-n[0]*n[2]*i[0]*i[2]/a],[n[2]*i[1]*i[2]/a,-r*n[0]*n[1]*i[0]/a]]):[[n[0],0],[n[1],0],[n[2],0]]):[[0,(i=Ne(t,1-r))[0]/i[1]],[1/i[1],0],[i[2]/i[1],0]]}(.5*Ue(_,n*n)-t,-e,n*n),l=function(e,t){var r=t[0]*t[0]+t[1]*t[1];return[(e[0]*t[0]+e[1]*t[1])/r,(e[1]*t[0]-e[0]*t[1])/r]}(o[0],o[1]);return[a(l[1],l[0])/-1,2*i(s(-.5*c(r*l[0]*l[0]+r*l[1]*l[1])))-_]};var Ge=E(1-1/3)*M,We=pe(0);function Ze(e){var t=Ge*S,r=ce(x,t)[0]-ce(-x,t)[0],i=We(0,t)[1],a=ce(0,t)[1],o=k-a,s=A/e,c=4/A,f=i+o*o*4/A;function p(p,d){var m,g=n(d);if(g>t){var y=h(e-1,u(0,l((p+x)/s)));(m=ce(p+=x*(e-1)/e-y*s,g))[0]=m[0]*A/r-A*(e-1)/(2*e)+y*A/e,m[1]=i+4*(m[1]-a)*o/A,d<0&&(m[1]=-m[1])}else m=We(p,d);return m[0]*=c,m[1]/=f,m}return p.invert=function(t,p){t/=c;var d=n(p*=f);if(d>i){var m=h(e-1,u(0,l((t+x)/s)));t=(t+x*(e-1)/e-m*s)*r/A;var g=ce.invert(t,.25*(d-i)*A/o+a);return g[0]-=x*(e-1)/e-m*s,p<0&&(g[1]=-g[1]),g}return We.invert(t,p)},p}function Ye(e,t){return[e,1&t?90-y:Ge]}function Xe(e,t){return[e,1&t?-90+y:-Ge]}function $e(e){return[e[0]*(1-y),e[1]]}function Ke(e){var t,r=1+e,i=E(m(1/r)),s=2*I(x/(t=x+4*i*r)),l=.5*s*(r+I(e*(2+e))),c=e*e,u=r*r;function h(h,f){var p,d,g=1-m(f);if(g&&g<2){var y,b=_-f,w=25;do{var T=m(b),k=o(b),A=i+a(T,r-k),M=1+u-2*r*k;b-=y=(b-c*i-r*T+M*A-.5*g*t)/(2*r*T*A)}while(n(y)>v&&--w>0);p=s*I(M),d=h*A/x}else p=s*(e+g),d=h*i/x;return[p*m(d),l-p*o(d)]}return h.invert=function(e,n){var o=e*e+(n-=l)*n,h=(1+u-o/(s*s))/(2*r),f=C(h),p=m(f),d=i+a(p,r-h);return[E(e/I(o))*x/d,E(1-2*(f-c*i-r*p+(1+u-2*r*h)*d)/t)]},h}var Je=.7109889596207567,Qe=.0528035274542;function et(e,t){return t>-Je?((e=Y(e,t))[1]+=Qe,e):Q(e,t)}function tt(e,t){return n(t)>Je?((e=Y(e,t))[1]-=t>0?Qe:-Qe,e):Q(e,t)}function rt(e,t,r,n){var i=I(4*x/(2*r+(1+e-t/2)*m(2*r)+(e+t)/2*m(4*r)+t/2*m(6*r))),a=I(n*m(r)*I((1+e*o(2*r)+t*o(4*r))/(1+e+t))),s=r*c(1);function l(r){return I(1+e*o(2*r)+t*o(4*r))}function c(n){var i=n*r;return(2*i+(1+e-t/2)*m(2*i)+(e+t)/2*m(4*i)+t/2*m(6*i))/r}function u(e){return l(e)*m(e)}var h=function(e,t){var n=r*q(c,s*m(t)/r,t/x);isNaN(n)&&(n=r*d(t));var u=i*l(n);return[u*a*e/x*o(n),u/a*m(n)]};return h.invert=function(e,t){var n=q(u,t*a/i);return[e*x/(o(n)*i*a*l(n)),E(r*c(n/r)/s)]},0===r&&(i=I(n/x),(h=function(e,t){return[e*i,m(t)/i]}).invert=function(e,t){return[e/i,E(t*i)]}),h}function nt(e,t,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,f,p,d,m,g,y,v,x,_;if(f=e(t+.25*(h=r-t)),p=e(r-.25*h),isNaN(f))u.nanEncountered=!0;else{if(!isNaN(p))return _=((g=(d=h*(n+4*f+i)/12)+(m=h*(i+4*p+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+_):Math.abs(_)e?r=n:t=n,n=t+r>>1}while(n>t);var i=c[n+1]-c[n];return i&&(i=(e-c[n+1])/i),(n+1+i)/s}var p=2*h(1)/x*o/r,g=function(e,t){var r=h(n(m(t))),a=i(r)*e;return r/=p,[a,t>=0?r:-r]};return g.invert=function(e,t){var r;return n(t*=p)<1&&(r=d(t)*E(a(n(t))*o)),[e/i(n(t)),r]},g}function ot(e,t){return n(e[0]-t[0])a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}i?s.invert=i(s):e.invert&&(s.invert=function(t,r){for(var i=o[+(r<0)],a=n[+(r<0)],l=0,c=i.length;l=0;--l)n=(t=e[1][l])[0][0],i=t[0][1],a=t[1][1],o=t[2][0],s=t[2][1],c.push(st([[o-y,s-y],[o-y,a+y],[n+y,a+y],[n+y,i-y]],30));return{type:"Polygon",coordinates:[r.merge(c)]}}(t),n=t.map((function(e){return e.map((function(e){return[[e[0][0]*S,e[0][1]*S],[e[1][0]*S,e[1][1]*S],[e[2][0]*S,e[2][1]*S]]}))})),o=n.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),l):n.map((function(e){return e.map((function(e){return[[e[0][0]*M,e[0][1]*M],[e[1][0]*M,e[1][1]*M],[e[2][0]*M,e[2][1]*M]]}))}))},null!=n&&l.lobes(n),l}et.invert=function(e,t){return t>-Je?Y.invert(e,t-Qe):Q.invert(e,t)},tt.invert=function(e,t){return n(t)>Je?Y.invert(e,t+(t>0?Qe:-Qe)):Q.invert(e,t)};var ct=[[[[-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]]]],ut=[[[[-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]]]],ht=[[[[-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]]]],ft=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]],pt=[[[[-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]]]],dt=[[[[-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 mt(e,t){return[3/A*e*I(x*x/3-t*t),t]}function gt(e){function t(t,r){if(n(n(r)-_)2)return null;var o=(t/=2)*t,s=(r/=2)*r,l=2*r/(1+o+s);return l=f((1+l)/(1-l),1/e),[a(2*t,1-o-s)/e,E((l-1)/(l+1))]},t}mt.invert=function(e,t){return[A/3*e/I(x*x/3-t*t),t]};var yt=x/T;function vt(e,t){return[e*(1+I(o(t)))/2,t/(o(t/2)*o(e/6))]}function xt(e,t){var r=e*e,n=t*t;return[e*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),t*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function _t(e,t){return[m(e)/o(t),g(t)*o(e)]}function bt(e){var t=o(e),r=g(b+e/2);function i(i,a){var o=a-e,s=n(o)=0;)f=(h=e[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var h,f=t,p=e[f],d=p[0],g=p[1],v=0,x=0;--f>=0;)v=d+c*(h=v)-u*x,x=g+c*x+u*h,d=(p=e[f])[0]+c*(h=d)-u*g,g=p[1]+c*g+u*h;var _,b,w=(v=d+c*(h=v)-u*x)*v+(x=g+c*x+u*h)*x;c-=_=((d=c*(h=d)-u*g-r)*v+(g=c*g+u*h-s)*x)/w,u-=b=(g*v-d*x)/w}while(n(_)+n(b)>y*y&&--l>0);if(l){var T=I(c*c+u*u),k=2*i(.5*T),A=m(k);return[a(c*A,T*o(k)),T?E(u*A/T):0]}},r}vt.invert=function(e,t){var r=n(e),i=n(t),a=y,s=_;iy||n(_)>y)&&--a>0);return a&&[r,i]},_t.invert=function(e,t){var r=e*e,n=t*t+1,i=r+n,a=e?w*I((i-I(i*i-4*r))/r):1/I(n);return[E(e*a),d(t)*C(a)]},wt.invert=function(e,t){return[e,2.5*i(s(.8*t))-.625*x]};var kt=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],At=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Mt=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],St=[[.9245,0],[0,0],[.01943,0]],Et=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Ct(e,r){var n=t.geoProjection(Tt(e)).rotate(r).clipAngle(90),i=t.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(e){return arguments.length?a(i(e)):i.invert(a())},n}var It=I(6),Lt=I(7);function Pt(e,t){var r=E(7*m(t)/(3*It));return[It*e*(2*o(2*r/3)-1)/Lt,9*m(r/3)/Lt]}function zt(e,t){for(var r,i=(1+w)*m(t),a=t,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)v&&--l>0);return[e/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Rt.invert=function(e,t){for(var r=t/2,i=0,a=1/0;i<10&&n(a)>y;++i){var s=o(t/2);t-=a=(t-g(t/2)-r)/(1-.5/(s*s))}return[2*e/(1+o(t)),t]};var Ft=[[[[-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 Bt(e,t){var r=m(t),i=o(t),a=d(e);if(0===e||n(t)===_)return[0,t];if(0===t)return[e,0];if(n(e)===_)return[e*i,_*r];var s=x/(2*e)-2*e/x,l=2*t/x,c=(1-l*l)/(r-l),u=s*s,h=c*c,f=1+u/h,p=1+h/u,g=(s*r/c-s/2)/f,y=(h*r/u+c/2)/p,v=y*y-(h*r*r/u+c*r-1)/p;return[_*(g+I(g*g+i*i/f)*a),_*(y+I(v<0?0:v)*d(-t*s)*a)]}Bt.invert=function(e,t){var r=(e/=_)*e,n=r+(t/=_)*t,i=x*x;return[e?(n-1+I((1-n)*(1-n)+4*r))/(2*e)*_:0,q((function(e){return n*(x*m(e)-2*e)*x+4*e*e*(t-m(e))+2*x*e-i*t}),0)]};var jt=1.0148,Nt=.23185,Ut=-.14499,Vt=.02406,qt=jt,Ht=5*Nt,Gt=7*Ut,Wt=1.790857183;function Zt(e,t){var r=t*t;return[e,t*(jt+r*r*(Nt+r*(Ut+Vt*r)))]}function Yt(e,t){if(n(t)=0;)if(n=t[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(t.face,r.face),i=function(e,t){var r=$t(e[1],e[0]),n=$t(t[1],t[0]),i=function(e,t){return a(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])}(r,n),s=Kt(r)/Kt(n);return Xt([1,0,e[0][0],0,1,e[0][1]],Xt([s,0,0,0,s,0],Xt([o(i),m(i),0,-m(i),o(i),0],[1,0,-t[0][0],0,1,-t[0][1]])))}(n.map(r.project),n.map(t.project));t.transform=r.transform?Xt(r.transform,i):i;for(var s=r.edges,l=0,c=s.length;lWt?t=Wt:t<-Wt&&(t=-Wt);var r,i=t;do{var a=i*i;i-=r=(i*(jt+a*a*(Nt+a*(Ut+Vt*a)))-t)/(qt+a*a*(Ht+a*(Gt+.21654*a)))}while(n(r)>y);return[e,i]},Yt.invert=function(e,t){if(n(t)y&&--s>0);return l=g(a),[(n(t)n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(e[0],r))return e.push(t),!0}))||e.push([t])})),mr=[],e.length?e.length>1?{type:"MultiPolygon",coordinates:e}:{type:"Polygon",coordinates:e[0]}:null}};function xr(e){var r=e(_,0)[0]-e(-_,0)[0];function i(t,i){var a=n(t)<_,o=e(a?t:t>0?t-x:t+x,i),s=(o[0]-o[1])*w,l=(o[0]+o[1])*w;if(a)return[s,l];var c=r*w,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return e.invert&&(i.invert=function(t,i){var a=(t+i)*w,o=(i-t)*w,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*w,c=a>0^o>0?-1:1,u=-c*t+(o>0?1:-1)*l,h=-c*i+(a>0?1:-1)*l;a=(-u-h)*w,o=(u-h)*w}var f=e.invert(a,o);return s||(f[0]+=a>0?x:-x),f}),t.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function _r(){return xr(Ve).scale(111.48)}function br(e){var t=m(e);function r(r,n){var a=t?g(r*t/2)/t:r/2;if(!n)return[2*a,-e];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-e]}return r.invert=function(r,a){if(n(a+=e)y&&--u>0);var d=r*(h=g(c)),v=g(n(a)0?_:-_)*(f+o*(d-c)/2+o*o*(d-2*f+c)/2)]}function kr(e,t){var r=function(e){function t(t,r){var n=o(r),i=(e-1)/(e-n*o(t));return[i*n*m(t),i*m(r)]}return t.invert=function(t,r){var n=t*t+r*r,i=I(n),o=(e-I(1-n*(e+1)/(e-1)))/((e-1)/i+i/(e-1));return[a(t*o,i*I(1-o*o)),i?E(r*o/i):0]},t}(e);if(!t)return r;var n=o(t),i=m(t);function s(t,a){var o=r(t,a),s=o[1],l=s*i/(e-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(t,a){var o=(e-1)/(e-1-a*i);return r.invert(o*t,o*a*n)},s}wr.forEach((function(e){e[1]*=1.0144})),Tr.invert=function(e,t){var r=t/_,i=90*r,a=h(18,n(i/5)),o=u(0,l(a));do{var s=wr[o][1],c=wr[o+1][1],f=wr[h(19,o+2)][1],p=f-s,d=f-2*c+s,m=2*(n(r)-c)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){i=(t>=0?5:-5)*(y+a);var x,b=50;do{y=(a=h(18,n(i)/5))-(o=l(a)),s=wr[o][1],c=wr[o+1][1],f=wr[h(19,o+2)][1],i-=(x=(t>=0?_:-_)*(c+y*(f-s)/2+y*y*(f-2*c+s)/2)-t)*M}while(n(x)>v&&--b>0);break}}while(--o>=0);var w=wr[o][0],T=wr[o+1][0],k=wr[h(19,o+2)][0];return[e/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),i*S]};var Ar=1e-4,Mr=-180,Sr=Mr+Ar,Er=180-Ar,Cr=-90+Ar,Ir=90-Ar;function Lr(e){return e.length>0}function Pr(e){return Math.floor(1e4*e)/1e4}function zr(e){return-90===e||90===e?[0,e]:[Mr,Pr(e)]}function Dr(e){var t=e[0],r=e[1],n=!1;return t<=Sr?(t=Mr,n=!0):t>=Er&&(t=180,n=!0),r<=Cr?(r=-90,n=!0):r>=Ir&&(r=90,n=!0),n?[t,r]:e}function Or(e){return e.map(Dr)}function Rr(e,t,r){for(var n=0,i=e.length;n=Er||u<=Cr||u>=Ir){a[o]=Dr(l);for(var h=o+1;hSr&&pCr&&d=s)break;r.push({index:-1,polygon:t,ring:a=a.slice(h-1)}),a[0]=zr(a[0][1]),o=-1,s=a.length}}}}function Fr(e){var t,r,n,i,a,o,s=e.length,l={},c={};for(t=0;t0?x-l:l)*M],u=t.geoProjection(e(s)).rotate(c),h=t.geoRotation(c),f=u.center;return delete u.rotate,u.center=function(e){return arguments.length?f(h(e)):h.invert(f())},u.clipAngle(90)}function Vr(e){var r=o(e);function n(e,n){var i=t.geoGnomonicRaw(e,n);return i[0]*=r,i}return n.invert=function(e,n){return t.geoGnomonicRaw.invert(e/r,n)},n}function qr(e,t){return Ur(Vr,e,t)}function Hr(e){if(!(e*=2))return t.geoAzimuthalEquidistantRaw;var r=-e/2,n=-r,i=e*e,s=g(n),l=.5/m(n);function c(t,a){var s=C(o(a)*o(t-r)),l=C(o(a)*o(t-n));return[((s*=s)-(l*=l))/(2*e),(a<0?-1:1)*I(4*i*l-(i-s+l)*(i-s+l))/(2*e)]}return c.invert=function(e,t){var i,c,u=t*t,h=o(I(u+(i=e+r)*i)),f=o(I(u+(i=e+n)*i));return[a(c=h-f,i=(h+f)*s),(t<0?-1:1)*C(I(i*i+c*c)*l)]},c}function Gr(e,t){return Ur(Hr,e,t)}function Wr(e,t){if(n(t)y&&--l>0);return[d(e)*(I(a*a+4)+a)*x/4,_*s]};var Jr=4*x+3*I(3),Qr=2*I(2*x*I(3)/Jr),en=Z(Qr*I(3)/x,Qr,Jr/6);function tn(e,t){return[e*I(1-3*t*t/(x*x)),t]}function rn(e,t){var r=o(t),n=o(e)*r,i=1-n,s=o(e=a(m(e)*r,-m(t))),l=m(e);return[l*(r=I(1-n*n))-s*i,-s*r-l*i]}function nn(e,t){var r=D(e,t);return[(r[0]+e/_)/2,(r[1]+t)/2]}tn.invert=function(e,t){return[e/I(1-3*t*t/(x*x)),t]},rn.invert=function(e,t){var r=(e*e+t*t)/-2,n=I(-r*(2+r)),i=t*r+e*n,o=e*r-t*n,s=I(o*o+i*i);return[a(n*i,s*(1+r)),s?-E(n*o/s):0]},nn.invert=function(e,t){var r=e,i=t,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),h=c*c,f=l*l,p=m(r),d=o(r/2),g=m(r/2),v=g*g,x=1-f*d*d,b=x?C(l*d)*I(s=1/x):s=0,w=.5*(2*b*l*g+r/_)-e,T=.5*(b*c+i)-t,k=.5*s*(f*v+b*l*d*h)+.5/_,A=s*(p*u/4-b*c*g),M=.125*s*(u*g-b*c*f*p),S=.5*s*(h*d+b*v*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,i-=P}while((n(L)>y||n(P)>y)&&--a>0);return[r,i]},e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=function(){var e=_,r=t.geoProjectionMutator(z),n=r(e);return n.radius=function(t){return arguments.length?r(e=t*S):e*M},n.scale(179.976).clipAngle(147)},e.geoAiryRaw=z,e.geoAitoff=function(){return t.geoProjection(D).scale(152.63)},e.geoAitoffRaw=D,e.geoArmadillo=function(){var e=20*S,r=e>=0?1:-1,n=g(r*e),i=t.geoProjectionMutator(O),s=i(e),l=s.stream;return s.parallel=function(t){return arguments.length?(n=g((r=(e=t*S)>=0?1:-1)*e),i(e)):e*M},s.stream=function(t){var i=s.rotate(),c=l(t),u=(s.rotate([0,0]),l(t)),h=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var t=-180*r;r*t<180;t+=90*r)u.point(t,90*r);if(e)for(;r*(t-=3*r*h)>=-180;)u.point(t,r*-a(o(t*S/2),n)*M);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},e.geoArmadilloRaw=O,e.geoAugust=function(){return t.geoProjection(R).scale(66.1603)},e.geoAugustRaw=R,e.geoBaker=function(){return t.geoProjection(j).scale(112.314)},e.geoBakerRaw=j,e.geoBerghaus=function(){var e=5,r=t.geoProjectionMutator(N),n=r(e),i=n.stream,s=.01,l=-o(s*S),c=m(s*S);return n.lobes=function(t){return arguments.length?r(e=+t):e},n.stream=function(t){var r=n.rotate(),u=i(t),h=(n.rotate([0,0]),i(t));return n.rotate(r),u.sphere=function(){h.polygonStart(),h.lineStart();for(var t=0,r=360/e,n=2*x/e,i=90-180/e,u=_;t=0;)e.point((t=r[i])[0],t[1]);e.lineEnd(),e.polygonEnd()},e},n.scale(79.4187).parallel(45).clipAngle(179.999)},e.geoHammerRetroazimuthalRaw=qe,e.geoHealpix=function(){var e=4,n=t.geoProjectionMutator(Ze),i=n(e),a=i.stream;return i.lobes=function(t){return arguments.length?n(e=+t):e},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){t.geoStream(function(e){var t=[].concat(r.range(-180,180+e/2,e).map(Ye),r.range(180,-180-e/2,-e).map(Xe));return{type:"Polygon",coordinates:[180===e?t.map($e):t]}}(180/e),l)},s},i.scale(239.75)},e.geoHealpixRaw=Ze,e.geoHill=function(){var e=1,r=t.geoProjectionMutator(Ke),n=r(e);return n.ratio=function(t){return arguments.length?r(e=+t):e},n.scale(167.774).center([0,18.67])},e.geoHillRaw=Ke,e.geoHomolosine=function(){return t.geoProjection(tt).scale(152.63)},e.geoHomolosineRaw=tt,e.geoHufnagel=function(){var e=1,r=0,n=45*S,i=2,a=t.geoProjectionMutator(rt),o=a(e,r,n,i);return o.a=function(t){return arguments.length?a(e=+t,r,n,i):e},o.b=function(t){return arguments.length?a(e,r=+t,n,i):r},o.psiMax=function(t){return arguments.length?a(e,r,n=+t*S,i):n*M},o.ratio=function(t){return arguments.length?a(e,r,n,i=+t):i},o.scale(180.739)},e.geoHufnagelRaw=rt,e.geoHyperelliptical=function(){var e=0,r=2.5,n=1.183136,i=t.geoProjectionMutator(at),a=i(e,r,n);return a.alpha=function(t){return arguments.length?i(e=+t,r,n):e},a.k=function(t){return arguments.length?i(e,r=+t,n):r},a.gamma=function(t){return arguments.length?i(e,r,n=+t):n},a.scale(152.63)},e.geoHyperellipticalRaw=at,e.geoInterrupt=lt,e.geoInterruptedBoggs=function(){return lt(K,ct).scale(160.857)},e.geoInterruptedHomolosine=function(){return lt(tt,ut).scale(152.63)},e.geoInterruptedMollweide=function(){return lt(Y,ht).scale(169.529)},e.geoInterruptedMollweideHemispheres=function(){return lt(Y,ft).scale(169.529).rotate([20,0])},e.geoInterruptedSinuMollweide=function(){return lt(et,pt,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoInterruptedSinusoidal=function(){return lt(Q,dt).scale(152.63).rotate([-20,0])},e.geoKavrayskiy7=function(){return t.geoProjection(mt).scale(158.837)},e.geoKavrayskiy7Raw=mt,e.geoLagrange=function(){var e=.5,r=t.geoProjectionMutator(gt),n=r(e);return n.spacing=function(t){return arguments.length?r(e=+t):e},n.scale(124.75)},e.geoLagrangeRaw=gt,e.geoLarrivee=function(){return t.geoProjection(vt).scale(97.2672)},e.geoLarriveeRaw=vt,e.geoLaskowski=function(){return t.geoProjection(xt).scale(139.98)},e.geoLaskowskiRaw=xt,e.geoLittrow=function(){return t.geoProjection(_t).scale(144.049).clipAngle(89.999)},e.geoLittrowRaw=_t,e.geoLoximuthal=function(){return J(bt).parallel(40).scale(158.837)},e.geoLoximuthalRaw=bt,e.geoMiller=function(){return t.geoProjection(wt).scale(108.318)},e.geoMillerRaw=wt,e.geoModifiedStereographic=Ct,e.geoModifiedStereographicRaw=Tt,e.geoModifiedStereographicAlaska=function(){return Ct(kt,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},e.geoModifiedStereographicGs48=function(){return Ct(At,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},e.geoModifiedStereographicGs50=function(){return Ct(Mt,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},e.geoModifiedStereographicMiller=function(){return Ct(St,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},e.geoModifiedStereographicLee=function(){return Ct(Et,[165,10]).scale(250).clipAngle(130).center([-165,-10])},e.geoMollweide=function(){return t.geoProjection(Y).scale(169.529)},e.geoMollweideRaw=Y,e.geoMtFlatPolarParabolic=function(){return t.geoProjection(Pt).scale(164.859)},e.geoMtFlatPolarParabolicRaw=Pt,e.geoMtFlatPolarQuartic=function(){return t.geoProjection(zt).scale(188.209)},e.geoMtFlatPolarQuarticRaw=zt,e.geoMtFlatPolarSinusoidal=function(){return t.geoProjection(Dt).scale(166.518)},e.geoMtFlatPolarSinusoidalRaw=Dt,e.geoNaturalEarth2=function(){return t.geoProjection(Ot).scale(175.295)},e.geoNaturalEarth2Raw=Ot,e.geoNellHammer=function(){return t.geoProjection(Rt).scale(152.63)},e.geoNellHammerRaw=Rt,e.geoInterruptedQuarticAuthalic=function(){return lt(U(1/0),Ft).rotate([20,0]).scale(152.63)},e.geoNicolosi=function(){return t.geoProjection(Bt).scale(127.267)},e.geoNicolosiRaw=Bt,e.geoPatterson=function(){return t.geoProjection(Zt).scale(139.319)},e.geoPattersonRaw=Zt,e.geoPolyconic=function(){return t.geoProjection(Yt).scale(103.74)},e.geoPolyconicRaw=Yt,e.geoPolyhedral=Jt,e.geoPolyhedralButterfly=function(e){e=e||function(e){var r=t.geoCentroid({type:"MultiPoint",coordinates:e});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e0?[-r[0],0]:[180-r[0],180])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e2||a[0]!=t[0]||a[1]!=t[1])&&(n.push(a),t=a)}return 1===n.length&&e.length>1&&n.push(r(e[e.length-1])),n}function a(e){return e.map(i)}function o(e){if(null==e)return e;var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(o)};break;case"Point":t={type:"Point",coordinates:r(e.coordinates)};break;case"MultiPoint":t={type:e.type,coordinates:n(e.coordinates)};break;case"LineString":t={type:e.type,coordinates:i(e.coordinates)};break;case"MultiLineString":case"Polygon":t={type:e.type,coordinates:a(e.coordinates)};break;case"MultiPolygon":t={type:"MultiPolygon",coordinates:e.coordinates.map(a)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function s(e){var t={type:"Feature",properties:e.properties,geometry:o(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),t}if(null!=e)switch(e.type){case"Feature":return s(e);case"FeatureCollection":var l={type:"FeatureCollection",features:e.features.map(s)};return null!=e.bbox&&(l.bbox=e.bbox),l;default:return o(e)}return e},e.geoQuincuncial=xr,e.geoRectangularPolyconic=function(){return J(br).scale(131.215)},e.geoRectangularPolyconicRaw=br,e.geoRobinson=function(){return t.geoProjection(Tr).scale(152.63)},e.geoRobinsonRaw=Tr,e.geoSatellite=function(){var e=2,r=0,n=t.geoProjectionMutator(kr),i=n(e,r);return i.distance=function(t){return arguments.length?n(e=+t,r):e},i.tilt=function(t){return arguments.length?n(e,r=t*S):r*M},i.scale(432.147).clipAngle(C(1/e)*M-1e-6)},e.geoSatelliteRaw=kr,e.geoSinuMollweide=function(){return t.geoProjection(et).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoSinuMollweideRaw=et,e.geoSinusoidal=function(){return t.geoProjection(Q).scale(152.63)},e.geoSinusoidalRaw=Q,e.geoStitch=function(e){if(null==e)return e;switch(e.type){case"Feature":return Br(e);case"FeatureCollection":var t={type:"FeatureCollection",features:e.features.map(Br)};return null!=e.bbox&&(t.bbox=e.bbox),t;default:return jr(e)}},e.geoTimes=function(){return t.geoProjection(Nr).scale(146.153)},e.geoTimesRaw=Nr,e.geoTwoPointAzimuthal=qr,e.geoTwoPointAzimuthalRaw=Vr,e.geoTwoPointAzimuthalUsa=function(){return qr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},e.geoTwoPointEquidistant=Gr,e.geoTwoPointEquidistantRaw=Hr,e.geoTwoPointEquidistantUsa=function(){return Gr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},e.geoVanDerGrinten=function(){return t.geoProjection(Wr).scale(79.4183)},e.geoVanDerGrintenRaw=Wr,e.geoVanDerGrinten2=function(){return t.geoProjection(Zr).scale(79.4183)},e.geoVanDerGrinten2Raw=Zr,e.geoVanDerGrinten3=function(){return t.geoProjection(Yr).scale(79.4183)},e.geoVanDerGrinten3Raw=Yr,e.geoVanDerGrinten4=function(){return t.geoProjection(Xr).scale(127.16)},e.geoVanDerGrinten4Raw=Xr,e.geoWagner=Kr,e.geoWagner7=function(){return Kr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},e.geoWagnerRaw=$r,e.geoWagner4=function(){return t.geoProjection(en).scale(176.84)},e.geoWagner4Raw=en,e.geoWagner6=function(){return t.geoProjection(tn).scale(152.63)},e.geoWagner6Raw=tn,e.geoWiechel=function(){return t.geoProjection(rn).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},e.geoWiechelRaw=rn,e.geoWinkel3=function(){return t.geoProjection(nn).scale(158.837)},e.geoWinkel3Raw=nn,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Cg(),Eg()):n(r.d3=r.d3||{},r.d3,r.d3)}}),Lg=m({"src/plots/geo/zoom.js"(e,t){var r=b(),n=ct(),i=He(),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(e,t){return r.behavior.zoom().translate(t.translate()).scale(t.scale())}function u(e,t,r){var a=e.id,o=e.graphDiv,s=o.layout,l=s[a],c=o._fullLayout,u=c[a],h={},f={};function p(e,t){h[a+"."+e]=n.nestedProperty(l,e).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=n.nestedProperty(u,e);r.get()!==t&&(r.set(t),n.nestedProperty(l,e).set(t),f[a+"."+e]=t)}r(p),p("projection.scale",t.scale()/e.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function h(e,t){var n=c(0,t);function i(r){var n=t.invert(e.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return n.on("zoomstart",(function(){r.select(this).style(s)})).on("zoom",(function(){t.scale(r.event.scale).translate(r.event.translate),e.render(!0);var n=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":n[0],"geo.center.lat":n[1]})})).on("zoomend",(function(){r.select(this).style(l),u(e,t,i)})),n}function f(e,t){var n,i,a,o,h,f,p,d,m,g=c(0,t);function y(e){return t.invert(e)}function v(r){var n=t.rotate(),i=t.invert(e.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){r.select(this).style(s),n=r.mouse(this),i=t.rotate(),a=t.translate(),o=i,h=y(n)})).on("zoom",(function(){if(f=r.mouse(this),function(e){var r=y(e);if(!r)return!0;var n=t(r);return Math.abs(n[0]-e[0])>2||Math.abs(n[1]-e[1])>2}(n))return g.scale(t.scale()),void g.translate(t.translate());t.scale(r.event.scale),t.translate([a[0],r.event.translate[1]]),h?y(f)&&(d=y(f),p=[o[0]+(d[0]-h[0]),i[1],i[2]],t.rotate(p),o=p):h=y(n=f),m=!0,e.render(!0);var s=t.rotate(),l=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":l[0],"geo.center.lat":l[1],"geo.projection.rotation.lon":-s[0]})})).on("zoomend",(function(){r.select(this).style(l),m&&u(e,t,v)})),g}function p(e,t){var n,i={r:t.rotate(),k:t.scale()},h=c(0,t),f=function(e){for(var t=0,n=arguments.length,i=[];++td?(a=(h>0?90:-90)-p,i=0):(a=Math.asin(h/d)*o-p,i=Math.sqrt(d*d-h*h));var g=180-a-2*p,v=(Math.atan2(f,u)-Math.atan2(c,i))*o,x=(Math.atan2(f,u)-Math.atan2(c,-i))*o;return m(r[0],r[1],a,v)<=m(r[0],r[1],g,x)?[a,v,r[2]]:[g,x,r[2]]}(p,n,c);(!isFinite(g[0])||!isFinite(g[1])||!isFinite(g[2]))&&(g=c),t.rotate(g),c=g}}else n=d(t,e=a);!function(e){e({type:"zoom"})}(f.of(this,arguments))})),function(e){p++||e({type:"zoomstart"})}(f.of(this,arguments))})).on("zoomend",(function(){var n;r.select(this).style(l),g.call(h,"zoom",null),n=f.of(this,arguments),--p||n({type:"zoomend"}),u(e,t,x)})).on("zoom.redraw",(function(){e.render(!0);var r=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),r.rebind(h,f,"on")}function d(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&function(e){var t=e[0]*a,r=e[1]*a,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}(r)}function m(e,t,r,n){var i=g(r-e),a=g(n-t);return Math.sqrt(i*i+a*a)}function g(e){return(e%360+540)%360-180}function y(e,t,r){var n=r*a,i=e.slice(),o=0===t?1:0,s=2===t?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=e[o]*l-e[s]*c,i[s]=e[s]*l+e[o]*c,i}function v(e,t){for(var r=0,n=0,i=e.length;n0&&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]]]}}t.exports=function(e){return new M(e)},S.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 w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,t)}if(!r){if(this.updateProjection(e,t))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),p.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(e,t){var r=this.graphDiv,s=t[this.id],c=t._size,u=s.domain,h=s.projection,f=s.lonaxis,p=s.lataxis,d=f._ax,g=p._ax,y=this.projection=function(e){var t=e.projection,r=t.type,s=w.projNames[r];s="geo"+l.titleCase(s);for(var c=(n[s]||o[s])(),u=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?w.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],f=function(e){return e?c:[]},p=0;pu*Math.PI/180}return!1},c.getPath=function(){return i().projection(c)},c.getBounds=function(e){return c.getPath().bounds(e)},c.precision(w.precision),e._isSatellite&&c.tilt(t.tilt).distance(t.distance),u&&c.clipAngle(u-w.clipPad),c}(s),v=[[c.l+c.w*u.x[0],c.t+c.h*(1-u.y[1])],[c.l+c.w*u.x[1],c.t+c.h*(1-u.y[0])]],x=s.center||{},_=h.rotation||{},b=f.range||[],T=p.range||[];if(s.fitbounds){d._length=v[1][0]-v[0][0],g._length=v[1][1]-v[0][1],d.range=m(r,d),g.range=m(r,g);var k=(d.range[0]+d.range[1])/2,A=(g.range[0]+g.range[1])/2;if(s._isScoped)x={lon:k,lat:A};else if(s._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,S=w.lonaxisSpan[M]/2||180,C=w.lataxisSpan[M]/2||90;b=[k-S,k+S],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var I=E(b,T);y.fitExtent(v,I);var L=this.bounds=y.getBounds(I),P=this.fitScale=y.scale(),z=y.translate();if(s.fitbounds){var D=y.getBounds(E(d.range,g.range)),O=Math.min((L[1][0]-L[0][0])/(D[1][0]-D[0][0]),(L[1][1]-L[0][1])/(D[1][1]-D[0][1]));isFinite(O)?y.scale(O*P):l.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(h.scale*P);var R=this.midPt=[(L[0][0]+L[1][0])/2,(L[0][1]+L[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(L),s._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(e,t){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(e){return"lonaxis"===e||"lataxis"===e}function l(e){return!!w.lineLayers[e]}function c(e){return!!w.fillLayers[e]}var f=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(e){return l(e)||c(e)?t["show"+e]:!s(e)||t[e].showgrid})),p=n.framework.selectAll(".layer").data(f,String);p.exit().each((function(e){delete a[e],delete o[e],r.select(this).remove()})),p.enter().append("g").attr("class",(function(e){return"layer "+e})).each((function(e){var t=a[e]=r.select(this);"bg"===e?n.bgRect=t.append("rect").style("pointer-events","all"):s(e)?o[e]=t.append("path").style("fill","none"):"backplot"===e?t.append("g").classed("choroplethlayer",!0):"frontplot"===e?t.append("g").classed("scatterlayer",!0):l(e)?o[e]=t.append("path").style("fill","none").style("stroke-miterlimit",2):c(e)&&(o[e]=t.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(e,t,r){var n,i,a,o=t[e],s=w.scopeDefaults[t.scope];"lonaxis"===e?(n=s.lonaxisRange,i=s.lataxisRange,a=function(e,t){return[e,t]}):"lataxis"===e&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(e,t){return[t,e]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};d.setConvert(l,r);var c=d.calcTicks(l);!t.isScoped&&"lonaxis"===e&&c.pop();for(var u=c.length,h=new Array(u),f=0;f-1&&x(r.event,i,[n.xaxis],[n.yaxis],n.id,u),c.indexOf("event")>-1&&f.click(i,r.event))}))}function h(e){return n.projection.invert([e[0]+n.xaxis._offset,e[1]+n.yaxis._offset])}},S.makeFramework=function(){var e=this,t=e.graphDiv,n=t._fullLayout,i="clip"+n._uid+e.id;e.clipDef=n._clips.append("clipPath").attr("id",i),e.clipRect=e.clipDef.append("rect"),e.framework=r.select(e.container).append("g").attr("class","geo "+e.id).call(h.setClipUrl,i,t),e.project=function(t){var r=e.projection(t);return r?[r[0]-e.xaxis._offset,r[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:"y",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(e.mockAxis,n)},S.saveViewInitial=function(e){var t,r=e.center||{},n=e.projection,i=n.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":n.scale},t=e._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:e._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},l.extendFlat(this.viewInitial,t)},S.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var e,t=this.projection,r=t.getPath();function n(e){var r=t(e.lonlat);return r?c(r[0],r[1]):null}function i(e){return t.isLonLatOverEdges(e.lonlat)?"none":null}for(e in this.basePaths)this.basePaths[e].attr("d",r);for(e in this.dataPaths)this.dataPaths[e].attr("d",(function(e){return r(e.geojson)}));for(e in this.dataPoints)this.dataPoints[e].attr("display",i).attr("transform",n)}}}),zg=m({"src/plots/geo/layout_attributes.js"(e,t){var r=G(),n=Ma().attributes,i=Oe().dash,a=hg(),o=De().overrideAll,s=Ye(),l={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:r.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:i};(t.exports=o({domain:n({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:s(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:s(a.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:r.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:r.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:r.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:r.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:r.background},lonaxis:l,lataxis:l},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),Dg=m({"src/plots/geo/layout_defaults.js"(e,t){var r=ct(),n=Gs(),i=Tt().getSubplotData,a=hg(),o=zg(),s=a.axesNames;function l(e,t,n,o){var l=i(o.fullData,"geo",o.id).map((function(e){return e.index})),c=n("resolution"),u=n("scope"),h=a.scopeDefaults[u],f=n("projection.type",h.projType),p=t._isAlbersUsa="albers usa"===f;p&&(u=t.scope="usa");var d=t._isScoped="world"!==u,m=t._isSatellite="satellite"===f,g=t._isConic=-1!==f.indexOf("conic")||"albers"===f,y=t._isClipped=!!a.lonaxisSpan[f];if(!1===e.visible){var v=r.extendDeep({},t._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),t._template=v}for(var x=n("visible"),_=0;_0&&L<0&&(L+=360);var P,z,D,O=(I+L)/2;if(!p){var R=d?h.projRotate:[O,0,0];P=n("projection.rotation.lon",R[0]),n("projection.rotation.lat",R[1]),n("projection.rotation.roll",R[2]),n("showcoastlines",!d&&x)&&(n("coastlinecolor"),n("coastlinewidth")),n("showocean",!!x&&void 0)&&n("oceancolor")}p?(z=-96.6,D=38.7):(z=d?O:P,D=(C[0]+C[1])/2),n("center.lon",z),n("center.lat",D),m&&(n("projection.tilt"),n("projection.distance")),g&&n("projection.parallels",h.projParallels||[0,60]),n("projection.scale"),n("showland",!!x&&void 0)&&n("landcolor"),n("showlakes",!!x&&void 0)&&n("lakecolor"),n("showrivers",!!x&&void 0)&&(n("rivercolor"),n("riverwidth")),n("showcountries",d&&"usa"!==u&&x)&&(n("countrycolor"),n("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(n("showsubunits",x),n("subunitcolor"),n("subunitwidth")),d||n("showframe",x)&&(n("framecolor"),n("framewidth")),n("bgcolor"),n("fitbounds")&&(delete t.projection.scale,d?(delete t.center.lon,delete t.center.lat):y?(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))}t.exports=function(e,t,r){n(e,t,r,{type:"geo",attributes:o,handleDefaults:l,fullData:r,partition:"y"})}}}),Og=m({"src/plots/geo/index.js"(e,t){var r=Tt().getSubplotCalcData,n=ct().counterRegex,i=Pg(),a="geo",o=n(a),s={};s[a]={valType:"subplotid",dflt:a,editType:"calc"},t.exports={attr:a,name:a,idRoot:a,idRegex:o,attrRegex:o,attributes:s,layoutAttributes:zg(),supplyLayoutDefaults:Dg(),plot:function(e){for(var t=e._fullLayout,n=e.calcdata,o=t._subplots[a],s=0;s")}}(e,h,o),[e]}}}),Hg=m({"src/traces/choropleth/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.location=t.location,e.z=t.z;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e.ct=a.ct,e}}}),Gg=m({"src/traces/choropleth/select.js"(e,t){t.exports=function(e,t){var r,n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[];if(!1===t)for(r=0;r=Math.min(P,z)&&p<=Math.max(P,z)?0:1/0}if(A=Math.min(D,O)&&d<=Math.max(D,O)?0:1/0}E=Math.sqrt(A*A+M*M),b=i[k]}}}else for(k=i.length-1;k>-1;k--)w=h[_=i[k]],T=f[_],A=c.c2p(w)-p,M=u.c2p(T)-d,(S=Math.sqrt(A*A+M*M))100},e.isDotSymbol=function(e){return"string"==typeof e?t.DOT_RE.test(e):e>200}}}),Jg=m({"src/traces/scattergl/defaults.js"(e,t){var r=ct(),n=He(),i=Kg(),a=$g(),o=wn(),s=Xt(),l=Gn(),c=Wn(),u=Yn(),h=Xn(),f=Jn(),p=Kn();t.exports=function(e,t,d,m){function g(n,i){return r.coerce(e,t,a,n,i)}var y=!!e.marker&&i.isOpenSymbol(e.marker.symbol),v=s.isBubble(e),x=l(e,t,m,g);if(x){c(e,t,m,g),g("xhoverformat"),g("yhoverformat");var _=x>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function o(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function s(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}t.exports={ge:function(e,t,n,i,a){return s(e,t,n,i,a,r)},gt:function(e,t,r,i,a){return s(e,t,r,i,a,n)},lt:function(e,t,r,n,a){return s(e,t,r,n,a,i)},le:function(e,t,r,n,i){return s(e,t,r,n,i,a)},eq:function(e,t,r,n,i){return s(e,t,r,n,i,o)}}}}),ty=m({"node_modules/pick-by-alias/index.js"(e,t){t.exports=function(e,t,r){var i,a,o={};if("string"==typeof t&&(t=n(t)),Array.isArray(t)){var s={};for(a=0;a1&&(e=arguments),"string"==typeof e?e=e.split(/\s/).map(parseFloat):"number"==typeof e&&(e=[e]),e.length&&"number"==typeof e[0]?t=1===e.length?{width:e[0],height:e[0],x:0,y:0}:2===e.length?{width:e[0],height:e[1],x:0,y:0}:{x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(t={x:(e=r(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"})).left||0,y:e.top||0},null==e.width?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,null==e.height?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}}}),ny=m({"node_modules/array-bounds/index.js"(e,t){t.exports=function(e,t){if(!e||null==e.length)throw Error("Argument should be an array");t=null==t?1:Math.floor(t);for(var r=Array(2*t),n=0;ni&&(i=e[o]),e[o]>>1;t.dtype||(t.dtype="array"),"string"==typeof t.dtype?d=new(u(t.dtype))(g):t.dtype&&(d=t.dtype,Array.isArray(d)&&(d.length=g));for(let e=0;en||s>1073741824){for(let e=0;er+i||b>n+i||T=A||o===s)return;let c=y[a];void 0===s&&(s=c.length);for(let t=o;t=l&&n<=d&&i>=u&&i<=m&&M.push(r)}let h=v[a],f=h[4*o+0],p=h[4*o+1],x=h[4*o+2],_=h[4*o+3],w=function(e,t){let r=null,n=0;for(;null===r;)if(r=e[4*t+n],n++,n>e.length)return null;return r}(h,o+1),S=.5*i,E=a+1;t(r,n,S,E,f,p||x||_||w),t(r,n+S,S,E,p,x||_||w),t(r+S,n,S,E,x,_||w),t(r+S,n+S,S,E,_,w)}(0,0,1,0,0,1),M},d;function w(e,t,r){let n=1,i=.5,a=.5,o=.5;for(let s=0;s1&&(i=1),i<-1&&(i=-1),(e*n-t*r<0?-1:1)*Math.acos(i)};e.default=function(e){var t=e.px,o=e.py,s=e.cx,l=e.cy,c=e.rx,u=e.ry,h=e.xAxisRotation,f=void 0===h?0:h,p=e.largeArcFlag,d=void 0===p?0:p,m=e.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(f*r/360),x=Math.cos(f*r/360),_=x*(t-s)/2+v*(o-l)/2,b=-v*(t-s)/2+x*(o-l)/2;if(0===_&&0===b)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(_,2)/Math.pow(c,2)+Math.pow(b,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var T=function(e,t,n,i,o,s,l,c,u,h,f,p){var d=Math.pow(o,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*o/s*p,_=v*-s/o*f,b=h*x-u*_+(e+n)/2,w=u*x+h*_+(t+i)/2,T=(f-x)/o,k=(p-_)/s,A=(-f-x)/o,M=(-p-_)/s,S=a(1,0,T,k),E=a(T,k,A,M);return 0===c&&E>0&&(E-=r),1===c&&E<0&&(E+=r),[b,w,S,E]}(t,o,s,l,c,u,d,g,v,x,_,b),k=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],C=Math.abs(E)/(r/4);Math.abs(1-C)<1e-7&&(C=1);var I=Math.max(Math.ceil(C),1);E/=I;for(var L=0;L4?(o=g[g.length-4],s=g[g.length-3]):(o=f,s=p),a.push(g)}return a};var r=hy();function n(e,t,r,n){return["C",e,t,r,n,r,n]}function i(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]}}}),py=m({"node_modules/is-svg-path/index.js"(e,t){t.exports=function(e){return"string"==typeof e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4))}}}),dy=m({"node_modules/svg-path-bounds/index.js"(e,t){var r=Jt(),n=uy(),i=fy(),a=py(),o=wu();t.exports=function(e){if(Array.isArray(e)&&1===e.length&&"string"==typeof e[0]&&(e=e[0]),"string"==typeof e&&(o(a(e),"String is not an SVG path."),e=r(e)),o(Array.isArray(e),"Argument should be a string or an array of path segments."),e=n(e),!(e=i(e)).length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],s=0,l=e.length;st[2]&&(t[2]=c[u+0]),c[u+1]>t[3]&&(t[3]=c[u+1]);return t}}}),my=m({"node_modules/normalize-svg-path/index.js"(e,t){var r=Math.PI,n=l(120);function i(e,t,r,n){return["C",e,t,r,n,r,n]}function a(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 o(e,t,i,a,l,c,u,h,f,p){if(p)T=p[0],k=p[1],b=p[2],w=p[3];else{var d=s(e,t,-l);e=d.x,t=d.y;var m=(e-(h=(d=s(h,f,-l)).x))/2,g=(t-(f=d.y))/2,y=m*m/(i*i)+g*g/(a*a);y>1&&(i*=y=Math.sqrt(y),a*=y);var v=i*i,x=a*a,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*i*g/a+(e+h)/2,w=_*-a*m/i+(t+f)/2,T=Math.asin(((t-w)/a).toFixed(9)),k=Math.asin(((f-w)/a).toFixed(9));(T=ek&&(T-=2*r),!u&&k>T&&(k-=2*r)}if(Math.abs(k-T)>n){var A=k,M=h,S=f;k=T+n*(u&&k>T?1:-1);var E=o(h=b+i*Math.cos(k),f=w+a*Math.sin(k),i,a,l,0,u,M,S,[k,A,b,w])}var C=Math.tan((k-T)/4),I=4/3*i*C,L=4/3*a*C,P=[2*e-(e+I*Math.sin(T)),2*t-(t-L*Math.cos(T)),h+I*Math.sin(k),f-L*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,_=d;("C"==t||"S"==t)&&(x+=x-n,_+=_-s),y=["C",x,_,y[1],y[2],y[3],y[4]];break;case"T":"Q"==t||"T"==t?(h=2*p-h,f=2*d-f):(h=p,f=d),y=a(p,d,h,f,y[1],y[2]);break;case"Q":h=y[1],f=y[2],y=a(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=i(p,d,y[1],y[2]);break;case"H":y=i(p,d,y[1],d);break;case"V":y=i(p,d,p,y[1]);break;case"Z":y=i(p,d,c,u)}t=v,p=y[y.length-2],d=y[y.length-1],y.length>4?(n=y[y.length-4],s=y[y.length-3]):(n=p,s=d),r.push(y)}return r}}}),gy=m({"node_modules/draw-svg-path/index.js"(e,t){var r=uy(),n=my(),i={M:"moveTo",C:"bezierCurveTo"};t.exports=function(e,t){e.beginPath(),n(r(t)).forEach((function(t){var r=t[0],n=t.slice(1);e[i[r]].apply(e,n)})),e.closePath()}}}),yy=m({"node_modules/bitmap-sdf/index.js"(e,t){var r=Jd();t.exports=function(e,t){t||(t={});var a,o,s,l,c,u,h,f,p,d,m,g=null==t.cutoff?.25:t.cutoff,y=null==t.radius?8:t.radius,v=t.channel||0;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,u=t.stride?t.stride:Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=(f=e).getContext("2d"),a=f.width,o=f.height,l=(p=h.getImageData(0,0,a,o)).data,u=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e,a=(f=e.canvas).width,o=f.height,l=(p=h.getImageData(0,0,a,o)).data,u=4):window.ImageData&&e instanceof window.ImageData&&(p=e,a=e.width,o=e.height,l=p.data,u=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(a*o),d=0,m=c.length;d0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*u,.5*h),c.scale(g,g),function(){if(null!=r)return r;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return r=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var n=e.getImageData(0,0,1,1);return r=n&&n.data&&255===n.data[3]}()){var y=new Path2D(e);c.fill(y),p&&c.stroke(y)}else{var v=i(e);a(c,v),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=t.cutoff?t.cutoff:.5,radius:null!=t.radius?t.radius:.5*f})}}}),xy=m({"src/traces/scattergl/convert.js"(e,t){var r=M(),n=vy(),i=em(),a=He(),o=ct(),s=o.isArrayOrTypedArray,l=er(),c=_t(),u=rm().formatColor,h=Xt(),f=$t(),p=Kg(),d=Xg(),m=Z().DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=Kt().appendArrayPointValue;function v(e,t){var n,i=e._fullLayout,a=t._length,l=t.textfont,c=t.textposition,u=s(c)?c:[c],h=l.color,f=l.size,p=l.family,d=l.weight,m=l.style,g=l.variant,v={},_=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){v.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(e){return b[e]}:function(){return b};for(n=0;n500?"bold":"normal":e}function _(e,t){var r,n,a=t._length,o=t.marker,l={},c=s(o.symbol),h=s(o.angle),d=s(o.color),m=s(o.line.color),g=s(o.opacity),y=s(o.size),v=s(o.line.width);if(c||(n=p.isOpenSymbol(o.symbol)),c||d||m||g||h){l.symbols=new Array(a),l.angles=new Array(a),l.colors=new Array(a),l.borderColors=new Array(a);var x=o.symbol,_=o.angle,b=u(o,o.opacity,a),w=u(o.line,o.opacity,a);if(!s(w[0])){var T=w;for(w=Array(a),r=0;rd.TOO_MANY_POINTS||h.hasMarkers(t)?"rect":"round";if(c&&t.connectgaps){var f=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=s(u)?u.length>1?u[i]:u[0]:u,y=g[d],v=g[m],x=f?f/.8+1:0,_=-v*x-.5*v;o.offset[i]=[y*x/p,_/p]}}return o}}}}),_y=m({"src/traces/scattergl/scene_update.js"(e,t){var r=ct();t.exports=function(e,t){var n=t._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 t._scene||((n=t._scene={}).init=function(){r.extendFlat(n,a,i)},n.init(),n.update=function(e){var t=r.repeat(e,n.count);if(n.fill2d&&n.fill2d.update(t),n.scatter2d&&n.scatter2d.update(t),n.line2d&&n.line2d.update(t),n.error2d&&n.error2d.update(t.concat(t)),n.select2d&&n.select2d.update(t),n.glText)for(var i=0;i=m,w=2*_,T={},k=y.makeCalcdata(t,"x"),A=v.makeCalcdata(t,"y"),M=o(t,y,"x",k),S=o(t,v,"y",A),E=M.vals,C=S.vals;t._x=E,t._y=C,t.xperiodalignment&&(t._origX=k,t._xStarts=M.starts,t._xEnds=M.ends),t.yperiodalignment&&(t._origY=A,t._yStarts=S.starts,t._yEnds=S.ends);var I=new Array(w),L=new Array(_);for(a=0;a<_;a++)I[2*a]=E[a]===d?NaN:E[a],I[2*a+1]=C[a]===d?NaN:C[a],L[a]=a;if("log"===y.type)for(a=0;a1&&n.extendFlat(s.line,f.linePositions(e,r,i)),s.errorX||s.errorY){var l=f.errorBarPositions(e,r,i,a,o);s.errorX&&n.extendFlat(s.errorX,l.x),s.errorY&&n.extendFlat(s.errorY,l.y)}return s.text&&(n.extendFlat(s.text,{positions:i},f.textPosition(e,r,s.text,s.marker)),n.extendFlat(s.textSel,{positions:i},f.textPosition(e,r,s.text,s.markerSel)),n.extendFlat(s.textUnsel,{positions:i},f.textPosition(e,r,s.text,s.markerUnsel))),s}(e,0,t,I,E,C),D=p(e,x);return u(s,t),b?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=l(t,_),c(e,t,y,v,E,C,P),z.errorX&&g(t,y,z.errorX),z.errorY&&g(t,v,z.errorY),z.fill&&!D.fill2d&&(D.fill2d=!0),z.marker&&!D.scatter2d&&(D.scatter2d=!0),z.line&&!D.line2d&&(D.line2d=!0),(z.errorX||z.errorY)&&!D.error2d&&(D.error2d=!0),z.text&&!D.glText&&(D.glText=!0),z.marker&&(z.marker.snap=_),D.lineOptions.push(z.line),D.errorXOptions.push(z.errorX),D.errorYOptions.push(z.errorY),D.fillOptions.push(z.fill),D.markerOptions.push(z.marker),D.markerSelectedOptions.push(z.markerSel),D.markerUnselectedOptions.push(z.markerUnsel),D.textOptions.push(z.text),D.textSelectedOptions.push(z.textSel),D.textUnselectedOptions.push(z.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=C,T.positions=I,D.count++,[{x:!1,y:!1,t:T,trace:t}]}}}),wy=m({"src/traces/scattergl/edit_style.js"(e,t){var r=ct(),n=W(),i=Z().DESELECTDIM;t.exports={styleTextSelection:function(e){var t,a,o=e[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},m=c.textUnselectedOptions[u]||{},g=r.extendFlat({},p);if(h.length||f.length){var y=d.color,v=m.color,x=p.color,_=r.isArrayOrTypedArray(x);for(g.color=new Array(s._length),t=0;t>>24,n=(16711680&e)>>>16,i=(65280&e)>>>8,a=255&e;return!1===t?[r,n,i,a]:[r/255,n/255,i/255,a/255]}}}),My=m({"node_modules/object-assign/index.js"(e,t){var r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch{return!1}}()?Object.assign:function(e,t){for(var a,o,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;le.length)&&(t=e.length);for(var r=0,n=new Array(t);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),c.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\n// `invariant` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(c.frag=c.frag.replace("smoothstep","smoothStep"),l.frag=l.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(c)}x.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},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nn)?t.tree=c(e,{bounds:h}):n&&n.length&&(t.tree=n),t.tree){var f={primitive:"points",usage:"static",data:t.tree,type:"uint32"};t.elements?t.elements(f):t.elements=o.elements(f)}var p=g.float32(e);return i({data:p,usage:"dynamic"}),a({data:g.fract32(e,p),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),e}},{marker:function(t,r,n){var i=r.activation;if(i.forEach((function(e){return e&&e.destroy&&e.destroy()})),i.length=0,t&&"number"!=typeof t[0]){for(var a=[],s=0,l=Math.min(t.length,r.count);s=0)return a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)t=e;else{t=new Uint8Array(e.length);for(var o=0,s=e.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*e.length/t);if(n>1)for(var i=.25*(e=e.slice()).length%t;i80*r){i=s=e[0],o=l=e[1];for(var x=r;xs&&(s=c),f>l&&(l=f);p=0!==(p=Math.max(s-i,l-o))?32767/p:0}return a(y,v,r,i,o,p,0),v}function n(e,t,r,n,i){var a,o;if(i===S(e,t,r,n)>0)for(a=t;a=t;a-=n)o=k(a,e[a],e[a+1],o);return o&&v(o,o.next)&&(A(o),o=o.next),o}function i(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!v(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function a(e,t,r,n,u,h,f){if(e){!f&&h&&function(e,t,r,n){var i=e;do{0===i.z&&(i.z=p(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,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!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,c*=2}while(o>1)}(i)}(e,n,u,h);for(var d,m,g=e;e.prev!==e.next;)if(d=e.prev,m=e.next,h?s(e,n,u,h):o(e))t.push(d.i/r|0),t.push(e.i/r|0),t.push(m.i/r|0),A(e),e=m.next,g=m.next;else if((e=m)===g){f?1===f?a(e=l(i(e),t,r),t,r,n,u,h,2):2===f&&c(e,t,r,n,u,h):a(i(e),t,r,n,u,h,1);break}}}function o(e){var t=e.prev,r=e,n=e.next;if(y(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,d=n.next;d!==t;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&m(i,s,a,l,o,c,d.x,d.y)&&y(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function s(e,t,r,n){var i=e.prev,a=e,o=e.next;if(y(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,d=sl?s>c?s:c:l>c?l:c,x=u>h?u>f?u:f:h>f?h:f,_=p(d,g,t,r,n),b=p(v,x,t,r,n),w=e.prevZ,T=e.nextZ;w&&w.z>=_&&T&&T.z<=b;){if(w.x>=d&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,f,w.x,w.y)&&y(w.prev,w,w.next)>=0||(w=w.prevZ,T.x>=d&&T.x<=v&&T.y>=g&&T.y<=x&&T!==i&&T!==o&&m(s,u,l,h,c,f,T.x,T.y)&&y(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;w&&w.z>=_;){if(w.x>=d&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,f,w.x,w.y)&&y(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=b;){if(T.x>=d&&T.x<=v&&T.y>=g&&T.y<=x&&T!==i&&T!==o&&m(s,u,l,h,c,f,T.x,T.y)&&y(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function l(e,t,r){var n=e;do{var a=n.prev,o=n.next.next;!v(a,o)&&x(a,n,n.next,o)&&w(a,o)&&w(o,a)&&(t.push(a.i/r|0),t.push(n.i/r|0),t.push(o.i/r|0),A(n),A(n.next),n=e=o),n=n.next}while(n!==e);return i(n)}function c(e,t,r,n,o,s){var l=e;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&g(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),a(l,t,r,n,o,s,0),void a(u,t,r,n,o,s,0)}c=c.next}l=l.next}while(l!==e)}function u(e,t){return e.x-t.x}function h(e,t){var r=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&m(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==c);return r}(e,t);if(!r)return t;var n=T(r,e);return i(n,n.next),i(r,r.next)}function f(e,t){return y(e.prev,e,t.prev)<0&&y(t.next,e,e.next)<0}function p(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function d(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 g(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(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&&x(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(w(e,t)&&w(t,e)&&function(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}(e,t)&&(y(e.prev,e,t.prev)||y(e,t.prev,t))||v(e,t)&&y(e.prev,e,e.next)>0&&y(t.prev,t,t.next)>0)}function y(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function v(e,t){return e.x===t.x&&e.y===t.y}function x(e,t,r,n){var i=b(y(e,t,r)),a=b(y(e,t,n)),o=b(y(r,n,e)),s=b(y(r,n,t));return!!(i!==a&&o!==s||0===i&&_(e,r,t)||0===a&&_(e,n,t)||0===o&&_(r,e,n)||0===s&&_(r,t,n))}function _(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 b(e){return e>0?1:e<0?-1:0}function w(e,t){return y(e.prev,e,e.next)<0?y(e,t,e.next)>=0&&y(e,e.prev,t)>=0:y(e,t,e.prev)<0||y(e,e.next,t)<0}function T(e,t){var r=new M(e.i,e.x,e.y),n=new M(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 k(e,t,r,n){var i=new M(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 A(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 M(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}function S(e,t,r,n){for(var i=0,a=t,o=r-n;a0&&(n+=e[i-1].length,r.holes.push(n))}return r}}}),zy=m({"node_modules/array-normalize/index.js"(e,t){var r=ny();t.exports=function(e,t,n){if(!e||null==e.length)throw Error("Argument should be an array");null==t&&(t=1),null==n&&(n=r(e,t));for(var i=0;i-1}}}),av=m({"node_modules/es5-ext/string/#/contains/index.js"(e,t){t.exports=nv()()?String.prototype.contains:iv()}}),ov=m({"node_modules/d/index.js"(e,t){var r=Gy(),n=Xy(),i=tv(),a=rv(),o=av(),s=t.exports=function(e,t){var n,s,l,c,u;return arguments.length<2||"string"!=typeof e?(c=t,t=e,e=null):c=arguments[2],r(e)?(n=o.call(e,"c"),s=o.call(e,"e"),l=o.call(e,"w")):(n=l=!0,s=!1),u={value:t,configurable:n,enumerable:s,writable:l},c?i(a(c),u):u};s.gs=function(e,t,s){var l,c,u,h;return"string"!=typeof e?(u=s,s=t,t=e,e=null):u=arguments[3],r(t)?n(t)?r(s)?n(s)||(u=s,s=void 0):s=void 0:(u=t,t=s=void 0):t=void 0,r(e)?(l=o.call(e,"c"),c=o.call(e,"e")):(l=!0,c=!1),h={get:t,set:s,configurable:l,enumerable:c},u?i(a(u),h):h}}}),sv=m({"node_modules/es5-ext/function/is-arguments.js"(e,t){var r=Object.prototype.toString,n=r.call(function(){return arguments}());t.exports=function(e){return r.call(e)===n}}}),lv=m({"node_modules/es5-ext/string/is-string.js"(e,t){var r=Object.prototype.toString,n=r.call("");t.exports=function(e){return"string"==typeof e||e&&"object"==typeof e&&(e instanceof String||r.call(e)===n)||!1}}}),cv=m({"node_modules/ext/global-this/is-implemented.js"(e,t){t.exports=function(){return!("object"!=typeof globalThis||!globalThis)&&globalThis.Array===Array}}}),uv=m({"node_modules/ext/global-this/implementation.js"(e,t){var r=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return r()}try{return __global__||r()}finally{delete Object.prototype.__global__}}()}}),hv=m({"node_modules/ext/global-this/index.js"(e,t){t.exports=cv()()?globalThis:uv()}}),fv=m({"node_modules/es6-symbol/is-implemented.js"(e,t){var r=hv(),n={object:!0,symbol:!0};t.exports=function(){var e,t=r.Symbol;if("function"!=typeof t)return!1;e=t("test symbol");try{String(e)}catch{return!1}return!(!n[typeof t.iterator]||!n[typeof t.toPrimitive]||!n[typeof t.toStringTag])}}}),pv=m({"node_modules/es6-symbol/is-symbol.js"(e,t){t.exports=function(e){return!(!e||"symbol"!=typeof e&&(!e.constructor||"Symbol"!==e.constructor.name||"Symbol"!==e[e.constructor.toStringTag]))}}}),dv=m({"node_modules/es6-symbol/validate-symbol.js"(e,t){var r=pv();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not a symbol");return e}}}),mv=m({"node_modules/es6-symbol/lib/private/generate-name.js"(e,t){var r=ov(),n=Object.create,i=Object.defineProperty,a=Object.prototype,o=n(null);t.exports=function(e){for(var t,n,s=0;o[e+(s||"")];)++s;return o[e+=s||""]=!0,i(a,t="@@"+e,r.gs(null,(function(e){n||(n=!0,i(this,t,r(e)),n=!1)}))),t}}}),gv=m({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(e,t){var r=ov(),n=hv().Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:r("",n&&n.hasInstance||e("hasInstance")),isConcatSpreadable:r("",n&&n.isConcatSpreadable||e("isConcatSpreadable")),iterator:r("",n&&n.iterator||e("iterator")),match:r("",n&&n.match||e("match")),replace:r("",n&&n.replace||e("replace")),search:r("",n&&n.search||e("search")),species:r("",n&&n.species||e("species")),split:r("",n&&n.split||e("split")),toPrimitive:r("",n&&n.toPrimitive||e("toPrimitive")),toStringTag:r("",n&&n.toStringTag||e("toStringTag")),unscopables:r("",n&&n.unscopables||e("unscopables"))})}}}),yv=m({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(e,t){var r=ov(),n=dv(),i=Object.create(null);t.exports=function(e){return Object.defineProperties(e,{for:r((function(t){return i[t]?i[t]:i[t]=e(String(t))})),keyFor:r((function(e){var t;for(t in n(e),i)if(i[t]===e)return t}))})}}}),vv=m({"node_modules/es6-symbol/polyfill.js"(e,t){var r,n,i,a=ov(),o=dv(),s=hv().Symbol,l=mv(),c=gv(),u=yv(),h=Object.create,f=Object.defineProperties,p=Object.defineProperty;if("function"==typeof s)try{String(s()),i=!0}catch{}else s=null;n=function(e){if(this instanceof n)throw new TypeError("Symbol is not a constructor");return r(e)},t.exports=r=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return i?s(t):(r=h(n.prototype),t=void 0===t?"":String(t),f(r,{__description__:a("",t),__name__:a("",l(t))}))},c(r),u(r),f(n.prototype,{constructor:a(r),toString:a("",(function(){return this.__name__}))}),f(r.prototype,{toString:a((function(){return"Symbol ("+o(this).__description__+")"})),valueOf:a((function(){return o(this)}))}),p(r.prototype,r.toPrimitive,a("",(function(){var e=o(this);return"symbol"==typeof e?e:e.toString()}))),p(r.prototype,r.toStringTag,a("c","Symbol")),p(n.prototype,r.toStringTag,a("c",r.prototype[r.toStringTag])),p(n.prototype,r.toPrimitive,a("c",r.prototype[r.toPrimitive]))}}),xv=m({"node_modules/es6-symbol/index.js"(e,t){t.exports=fv()()?hv().Symbol:vv()}}),_v=m({"node_modules/es5-ext/array/#/clear.js"(e,t){var r=jy();t.exports=function(){return r(this).length=0,this}}}),bv=m({"node_modules/es5-ext/object/valid-callable.js"(e,t){t.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}}}),wv=m({"node_modules/type/string/coerce.js"(e,t){var r=Gy(),n=Wy(),i=Object.prototype.toString;t.exports=function(e){if(!r(e))return null;if(n(e)){var t=e.toString;if("function"!=typeof t||t===i)return null}try{return""+e}catch{return null}}}}),Tv=m({"node_modules/type/lib/safe-to-string.js"(e,t){t.exports=function(e){try{return e.toString()}catch{try{return String(e)}catch{return null}}}}}),kv=m({"node_modules/type/lib/to-short-string.js"(e,t){var r=Tv(),n=/[\n\r\u2028\u2029]/g;t.exports=function(e){var t=r(e);return null===t?"":(t.length>100&&(t=t.slice(0,99)+"…"),t=t.replace(n,(function(e){switch(e){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}}}),Av=m({"node_modules/type/lib/resolve-exception.js"(e,t){var r=Gy(),n=Wy(),i=wv(),a=kv(),o=function(e,t){return e.replace("%v",a(t))};t.exports=function(e,t,a){if(!n(a))throw new TypeError(o(t,e));if(!r(e)){if("default"in a)return a.default;if(a.isOptional)return null}var s=i(a.errorMessage);throw r(s)||(s=t),new TypeError(o(s,e))}}}),Mv=m({"node_modules/type/value/ensure.js"(e,t){var r=Av(),n=Gy();t.exports=function(e){return n(e)?e:r(e,"Cannot use %v",arguments[1])}}}),Sv=m({"node_modules/type/plain-function/ensure.js"(e,t){var r=Av(),n=Xy();t.exports=function(e){return n(e)?e:r(e,"%v is not a plain function",arguments[1])}}}),Ev=m({"node_modules/es5-ext/array/from/is-implemented.js"(e,t){t.exports=function(){var e,t,r=Array.from;return"function"==typeof r&&!(!(t=r(e=["raz","dwa"]))||t===e||"dwa"!==t[1])}}}),Cv=m({"node_modules/es5-ext/function/is-function.js"(e,t){var r=Object.prototype.toString,n=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(e){return"function"==typeof e&&n(r.call(e))}}}),Iv=m({"node_modules/es5-ext/math/sign/is-implemented.js"(e,t){t.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}}}),Lv=m({"node_modules/es5-ext/math/sign/shim.js"(e,t){t.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}}}),Pv=m({"node_modules/es5-ext/math/sign/index.js"(e,t){t.exports=Iv()()?Math.sign:Lv()}}),zv=m({"node_modules/es5-ext/number/to-integer.js"(e,t){var r=Pv(),n=Math.abs,i=Math.floor;t.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*i(n(e)):e}}}),Dv=m({"node_modules/es5-ext/number/to-pos-integer.js"(e,t){var r=zv(),n=Math.max;t.exports=function(e){return n(0,r(e))}}}),Ov=m({"node_modules/es5-ext/array/from/shim.js"(e,t){var r=xv().iterator,n=sv(),i=Cv(),a=Dv(),o=bv(),s=jy(),l=Ry(),c=lv(),u=Array.isArray,h=Function.prototype.call,f={configurable:!0,enumerable:!0,writable:!0,value:null},p=Object.defineProperty;t.exports=function(e){var t,d,m,g,y,v,x,_,b,w,T=arguments[1],k=arguments[2];if(e=Object(s(e)),l(T)&&o(T),this&&this!==Array&&i(this))t=this;else{if(!T){if(n(e))return 1!==(y=e.length)?Array.apply(null,e):((g=new Array(1))[0]=e[0],g);if(u(e)){for(g=new Array(y=e.length),d=0;d=55296&&v<=56319&&(w+=e[++d]),w=T?h.call(T,k,w,m):w,t?(f.value=w,p(g,m,f)):g[m]=w,++m;y=m}if(void 0===y)for(y=a(e.length),t&&(g=new t(y)),d=0;d=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__)return void u(this,"__redo__",s("c",[e]));this.__redo__.forEach((function(t,r){t>=e&&(this.__redo__[r]=++t)}),this),this.__redo__.push(e)}})),_onDelete:s((function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(e))&&this.__redo__.splice(t,1),this.__redo__.forEach((function(t,r){t>e&&(this.__redo__[r]=--t)}),this)))})),_onClear:s((function(){this.__redo__&&n.call(this.__redo__),this.__nextIndex__=0}))}))),u(r.prototype,c.iterator,s((function(){return this})))}}),qv=m({"node_modules/es6-iterator/array.js"(e,t){var r,n=Vy(),i=av(),a=ov(),o=xv(),s=Vv(),l=Object.defineProperty;r=t.exports=function(e,t){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");s.call(this,e),t=t?i.call(t,"key+value")?"key+value":i.call(t,"key")?"key":"value":"value",l(this,"__kind__",a("",t))},n&&n(r,s),delete r.prototype.constructor,r.prototype=Object.create(s.prototype,{_resolve:a((function(e){return"value"===this.__kind__?this.__list__[e]:"key+value"===this.__kind__?[e,this.__list__[e]]:e}))}),l(r.prototype,o.toStringTag,a("c","Array Iterator"))}}),Hv=m({"node_modules/es6-iterator/string.js"(e,t){var r,n=Vy(),i=ov(),a=xv(),o=Vv(),s=Object.defineProperty;r=t.exports=function(e){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");e=String(e),o.call(this,e),s(this,"__length__",i("",e.length))},n&&n(r,o),delete r.prototype.constructor,r.prototype=Object.create(o.prototype,{_next:i((function(){if(this.__list__){if(this.__nextIndex__=55296&&t<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),s(r.prototype,a.toStringTag,i("c","String Iterator"))}}),Gv=m({"node_modules/es6-iterator/is-iterable.js"(e,t){var r=sv(),n=Ry(),i=lv(),a=xv().iterator,o=Array.isArray;t.exports=function(e){return!(!n(e)||!(o(e)||i(e)||r(e))&&"function"!=typeof e[a])}}}),Wv=m({"node_modules/es6-iterator/valid-iterable.js"(e,t){var r=Gv();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not iterable");return e}}}),Zv=m({"node_modules/es6-iterator/get.js"(e,t){var r=sv(),n=lv(),i=qv(),a=Hv(),o=Wv(),s=xv().iterator;t.exports=function(e){return"function"==typeof o(e)[s]?e[s]():r(e)?new i(e):n(e)?new a(e):new i(e)}}}),Yv=m({"node_modules/es6-iterator/for-of.js"(e,t){var r=sv(),n=bv(),i=lv(),a=Zv(),o=Array.isArray,s=Function.prototype.call,l=Array.prototype.some;t.exports=function(e,t){var c,u,h,f,p,d,m,g,y=arguments[2];if(o(e)||r(e)?c="array":i(e)?c="string":e=a(e),n(t),h=function(){f=!0},"array"!==c)if("string"!==c)for(u=e.next();!u.done;){if(s.call(t,y,u.value,h),f)return;u=e.next()}else for(d=e.length,p=0;p=55296&&g<=56319&&(m+=e[++p]),s.call(t,y,m,h),!f);++p);else l.call(e,(function(e){return s.call(t,y,e,h),f}))}}}),Xv=m({"node_modules/es6-weak-map/is-native-implemented.js"(e,t){t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)}}),$v=m({"node_modules/es6-weak-map/polyfill.js"(e,t){var r,n=Ry(),i=Vy(),a=qy(),o=jy(),s=Hy(),l=ov(),c=Zv(),u=Yv(),h=xv().toStringTag,f=Xv(),p=Array.isArray,d=Object.defineProperty,m=Object.prototype.hasOwnProperty,g=Object.getPrototypeOf;t.exports=r=function(){var e,t=arguments[0];if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");return e=f&&i&&WeakMap!==r?i(new WeakMap,g(this)):this,n(t)&&(p(t)||(t=c(t))),d(e,"__weakMapData__",l("c","$weakMap$"+s())),t&&u(t,(function(t){o(t),e.set(t[0],t[1])})),e},f&&(i&&i(r,WeakMap),r.prototype=Object.create(WeakMap.prototype,{constructor:l(r)})),Object.defineProperties(r.prototype,{delete:l((function(e){return!!m.call(a(e),this.__weakMapData__)&&(delete e[this.__weakMapData__],!0)})),get:l((function(e){if(m.call(a(e),this.__weakMapData__))return e[this.__weakMapData__]})),has:l((function(e){return m.call(a(e),this.__weakMapData__)})),set:l((function(e,t){return d(a(e),this.__weakMapData__,l("c",t)),this})),toString:l((function(){return"[object WeakMap]"}))}),d(r.prototype,h,l("c","WeakMap"))}}),Kv=m({"node_modules/es6-weak-map/index.js"(e,t){t.exports=Dy()()?WeakMap:$v()}}),Jv=m({"node_modules/array-find-index/index.js"(e,t){t.exports=function(e,t,r){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,r);if("function"!=typeof t)throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(0===i)return-1;for(var a=0;a"round"===t.join?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:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.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:(e,t)=>!t.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},a=e(i({vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,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}}},n));try{t=e(i({cull:{enable:!0,face:"back"},vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,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}}},n))}catch{t=a}return{fill:e({primitive:"triangle",elements:(e,t)=>t.triangles,offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",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:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:t}},d.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},d.prototype.render=function(...e){e.length&&this.update(...e),this.draw()},d.prototype.draw=function(...e){return(e.length?e:this.passes).forEach(((e,t)=>{if(e&&Array.isArray(e))return this.draw(...e);"number"==typeof e&&(e=this.passes[e]),e&&e.count>1&&e.opacity&&(this.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&this.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>d.precisionThreshold||e.scale[1]*e.viewport.height>d.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=d.maxPoints)?this.shaders.rect(e):this.shaders.miter(e)))})),this},d.prototype.update=function(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:h}=this;if(e.forEach(((e,m)=>{let g=this.passes[m];if(void 0!==e){if(null===e)return void(this.passes[m]=null);if("number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),g||(this.passes[m]=g={id:m,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})},e=i({},d.defaults,e)),null!=e.thickness&&(g.thickness=parseFloat(e.thickness)),null!=e.opacity&&(g.opacity=parseFloat(e.opacity)),null!=e.miterLimit&&(g.miterLimit=parseFloat(e.miterLimit)),null!=e.overlay&&(g.overlay=!!e.overlay,me-t)),t=[],i=0,a=null!=g.hole?g.hole[0]:null;if(null!=a){let t=p(e,(e=>e>=a));e=e.slice(0,t),e.push(a)}for(let n=0;nt-a+(e[n]-i))),c=s(o,l);c=c.map((t=>t+i+(t+i{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()})),this.passes.length=0,this}}}),ex=m({"node_modules/regl-error2d/index.js"(e,t){var r=ny(),n=em(),i=Ey(),a=ty(),o=My(),s=ay(),{float32:l,fract32:c}=Iy();t.exports=function(e,t){if("function"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let h,f,p,d,m,g,y=e._gl,v={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),f=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=e.buffer({usage:"static",type:"float",data:u}),T(t),h=e({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",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:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{color:{buffer:d,offset:(e,t)=>4*t.offset,divisor:1},position:{buffer:f,offset:(e,t)=>8*t.offset,divisor:1},positionFract:{buffer:p,offset:(e,t)=>8*t.offset,divisor:1},error:{buffer:m,offset:(e,t)=>16*t.offset,divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,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:u.length}),o(_,{update:T,draw:b,destroy:k,regl:e,gl:y,canvas:y.canvas,groups:x}),_;function _(e){e?T(e):null===e&&k(),b()}function b(t){if("number"==typeof t)return w(t);t&&!Array.isArray(t)&&(t=[t]),e._refresh(),x.forEach(((e,r)=>{if(e){if(t&&(t[r]?e.draw=!0:e.draw=!1),!e.draw)return void(e.draw=!0);w(r)}}))}function w(e){"number"==typeof e&&(e=x[e]),null!=e&&e&&e.count&&e.color&&e.opacity&&e.positions&&e.positions.length>1&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],h(e),e.after&&e.after(e))}function T(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let t=0,u=0;if(_.groups=x=e.map(((e,l)=>{let h=x[l];return e?("function"==typeof e?e={after:e}:"number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),h||(x[l]=h={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},e=o({},v,e)),i(h,e,[{lineWidth:e=>.5*+e,capSize:e=>.5*+e,opacity:parseFloat,errors:e=>(e=s(e),u+=e.length,e),positions:(e,n)=>(e=s(e,"float64"),n.count=Math.floor(e.length/2),n.bounds=r(e,2),n.offset=t,t+=n.count,e)},{color:(e,t)=>{let r=t.count;if(e||(e="transparent"),!Array.isArray(e)||"number"==typeof e[0]){let t=e;e=Array(r);for(let n=0;n{let n=t.bounds;return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=c(t.scale),t.translateFract=c(t.translate),e},viewport:e=>{let t;return Array.isArray(e)?t={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]}:e?(t={x:e.x||e.left||0,y:e.y||e.top||0},e.right?t.width=e.right-t.x:t.width=e.w||e.width||0,e.bottom?t.height=e.bottom-t.y:t.height=e.h||e.height||0):t={x:0,y:0,width:y.drawingBufferWidth,height:y.drawingBufferHeight},t}}]),h):h})),t||u){let e=x.reduce(((e,t,r)=>e+(t?t.count:0)),0),t=new Float64Array(2*e),r=new Uint8Array(4*e),n=new Float32Array(4*e);x.forEach(((e,i)=>{if(!e)return;let{positions:a,count:o,offset:s,color:l,errors:c}=e;o&&(r.set(l,4*s),n.set(c,4*s),t.set(a,2*s))}));var h=l(t);f(h);var g=c(t,h);p(g),d(r),m(n)}}function k(){f.destroy(),p.destroy(),d.destroy(),m.destroy(),g.destroy()}};var u=[[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]]}}),tx=m({"node_modules/unquote/index.js"(e,t){var r=/[\'\"]/;t.exports=function(e){return e?(r.test(e.charAt(0))&&(e=e.substr(1)),r.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):""}}}),rx=m({"node_modules/css-global-keywords/index.json"(e,t){t.exports=["inherit","initial","unset"]}}),nx=m({"node_modules/css-system-font-keywords/index.json"(e,t){t.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),ix=m({"node_modules/css-font-weight-keywords/index.json"(e,t){t.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),ax=m({"node_modules/css-font-style-keywords/index.json"(e,t){t.exports=["normal","italic","oblique"]}}),ox=m({"node_modules/css-font-stretch-keywords/index.json"(e,t){t.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),sx=m({"node_modules/parenthesis/index.js"(e,t){function r(e,t){if("string"!=typeof e)return[e];var r=[e];"string"==typeof t||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(e){var t=new RegExp(["\\",e[0],"[^\\",e[0],"\\",e[1],"]*\\",e[1]].join("")),n=[];function a(t,a,o){var s=r.push(t.slice(e[0].length,-e[1].length))-1;return n.push(s),i+s+i}r.forEach((function(e,n){for(var i,o=0;e!=i;)if(i=e,e=e.replace(t,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=e})),n=n.reverse(),r=r.map((function(t){return n.forEach((function(r){t=t.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),e[0]+"$1"+e[1])})),t}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function e(t,r,n){for(var i,a=[],s=0;i=o.exec(t);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(t.slice(0,i.index)),a.push(e(r[i[1]],r)),t=t.slice(i.index+i[0].length)}return a.push(t),a}(r[0],r)}function n(e,t){if(t&&t.flat){var r,n=t&&t.escape||"___",i=e[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+e);r=i,i=i.replace(a,s)}return i}return e.reduce((function e(t,r){return Array.isArray(r)&&(r=r.reduce(e,"")),t+r}),"");function s(t,r){if(null==e[r])throw Error("Reference "+r+"is undefined");return e[r]}}function i(e,t){return Array.isArray(e)?n(e,t):r(e,t)}i.parse=r,i.stringify=n,t.exports=i}}),lx=m({"node_modules/string-split-by/index.js"(e,t){var r=sx();t.exports=function(e,t,n){if(null==e)throw Error("First argument should be a string");if(null==t)throw Error("Separator should be a string or a RegExp");n?("string"==typeof n||Array.isArray(n))&&(n={ignore:n}):n={},null==n.escape&&(n.escape=!0),null==n.ignore?n.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof n.ignore&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map((function(e){return 1===e.length&&(e+=e),e})));var i=r.parse(e,{flat:!0,brackets:n.ignore}),a=i[0].split(t);if(n.escape){for(var o=[],s=0;s1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function p(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[f(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[f(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var d=p();d.zero=p();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function _(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var b=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},T=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Z=34067,Y=34069,X=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,fe=5126,pe=33071,de=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],_e=[0,J,Q,K,X],be={};function we(e){return"[object "+e+"]"}be[J]=be[$]=be[te]=1,be[re]=be[Q]=2,be[K]=be[ne]=3,be[X]=be[ie]=4;var Te=we("HTMLCanvasElement"),ke=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([Te,ke,Ae,Me,Se,Ee]),Ie=[];Ie[ce]=1,Ie[fe]=4,Ie[ae]=2,Ie[ue]=2,Ie[he]=4;var Le=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function De(e){return Object.prototype.toString.call(e)}function Oe(e){return De(e)===Te}function Re(e){return De(e)===ke}function Fe(e){if(!e)return!1;var t=De(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||_(e)}function Be(e){return 0|M[Object.prototype.toString.call(e)]}function je(e,t){return d.allocType(e.type===ae?fe:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),d.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Le[e]<"u"?Le[e]:be[e]*Ie[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Le[32854]=2,Le[ee]=2,Le[36194]=2,Le[re]=4,Le[oe]=.5,Le[se]=.5,Le[le]=1,Le[33779]=1,Le[35986]=.5,Le[35987]=1,Le[34798]=1,Le[35840]=.5,Le[35841]=.25,Le[35842]=.5,Le[35843]=.25,Le[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ze=36161,Ye=3553,Xe=[];Xe[6408]=4,Xe[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){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=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var ft="xyzw".split(""),pt="dither",dt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",_t="depth.range",bt="depth.mask",wt="colorMask",Tt="cull.enable",kt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",It="sample.enable",Lt="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Dt="stencil.func",Ot="stencil.opFront",Rt="stencil.opBack",Ft="scissor.enable",Bt="scissor.box",jt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Zt="offset",Yt="instances",Xt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=jt+$t,tr=jt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Dt,Ot,Rt,Lt,jt,Bt,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,fr=35668,pr=35669,dr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,_r=35678,br=35680,wr=1028,Tr=1029,kr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:kr};function Ir(e){return Array.isArray(e)||x(e)||_(e)}function Lr(e){return e.sort((function(e,t){return e===jt?-1:t===jt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function Fr(t,r,n,i,a,s,l,c,u,f,p,d,m,g,y,v){var x=f.Record,_={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(_.min=32775,_.max=32776);var b=n.angle_instanced_arrays,w=n.webgl_draw_buffers,T=n.oes_vertex_array_object,k={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function I(e){return e.replace(".","_")}function L(e,t,r){var n=I(e);M.push(e),A[n]=k[n]=!!r,E[n]=t}function P(e,t,r){var n=I(e);M.push(e),Array.isArray(r)?(k[n]=r.slice(),A[n]=r.slice()):k[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}L(pt,3024),L(dt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),L(vt,2929,!0),P(xt,"depthFunc",513),P(_t,"depthRange",[0,1]),P(bt,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),L(Tt,2884),P(kt,"cullFace",Tr),P(At,At,kr),P(Mt,Mt,1),L(St,32823),P(Et,"polygonOffset",[0,0]),L(Ct,32926),L(It,32928),P(Lt,"sampleCoverage",[1,!1]),L(Pt,2960),P(zt,"stencilMask",-1),P(Dt,"stencilFunc",[519,0,-1]),P(Ot,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[Tr,Ar,Ar,Ar]),L(Ft,3089),P(Bt,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(jt,jt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var D={gl:t,context:m,strings:r,next:A,current:k,draw:d,elements:s,buffer:a,shader:p,attributes:f.state,vao:f,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Ir},O={primTypes:F,compareFuncs:Sr,blendFuncs:Mr,blendEquations:_,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(O.backBuffer=[Tr],O.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function B(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(zr(f))return void(f.enable?(d(t),m(t.exit),y("true")):y("false"));y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),b){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",ft.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",ft.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case dr:return 2;case cr:case fr:case mr:return 3;case ur:case pr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Z(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",p],");")}function t(){r(d,".drawArraysInstancedANGLE(",[m,g,y,p],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}b&&("number"!=typeof p||p>=0)?"string"==typeof p?(r("if(",p,">0){"),_(),r("}else if(",p,"<0){"),w(),r("}")):_():w()}function X(e,t,r,n,i){var a=B(),o=a.proc("body",i);return b&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Z(e,t,r,n.uniforms,(function(){return!0}),!1),Y(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Z(e,t,r,n.uniforms,i,!1),Y(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&j(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Z(e,s,r,n.uniforms,u,!1),Z(e,l,r,n.uniforms,c,!0),Y(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link((function(e){return X(K,0,r,e,2)})),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:b,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Dr((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Or(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Dr((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Dr((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Dr((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Dr((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var T=!0,k=y.program.attributes.map((function(e){var r=t.static[e];return T=T&&!!r,r}));if(T&&k.length>0){var A=f.getVAO(f.createVAO({attributes:k,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Ir(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:ft.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Dr((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(j(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Lr(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Zt,Wt,Yt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(j(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link((function(e){return X(J,0,t,e,2)})),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Br="webglcontextlost",jr="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,p=!1,d={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(p=!!o.profile),"pixelRatio"in o&&(f=+o.pixelRatio),"cachedCode"in o&&(d=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,f);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:f,profile:p,cachedCode:d,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=I(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=d.allocType(h.dtype,e.length);O(i,e),p(i,n),d.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=I(e);var a=C(e,r,h.dtype);p(a,n),d.freeType(a)}}else if(_(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:D(e.data),g=d.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),p(g,n),d.freeType(g)}return f},r.profile&&(f.stats=h.stats),f.destroy=function(){c(h)},f},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){b(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){b(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,f,r),Ie=function(e,t,r,n){var i={},a=0,o={uint8:B,uint16:j};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||_(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:j),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||B,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case B:case 5120:u=B;break;case j:case 5122:u=j;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,u===j?f>>=1:u===N&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var d=n.buffer.dimension;1===d&&(p=0),2===d&&(p=1),3===d&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=B;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||_(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=F[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===j||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=B;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){b(i).forEach(u)}}}(n,k,Ce,f),Le=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,s[c]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized||!1,f.type="type"in h?S[h.type]:f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var d=0;d1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);b(a).forEach(e),a={},b(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,0,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var k=[];Object.keys(m).forEach((function(e){var t=m[e];k[t]=e}));var A=[];Object.keys(p).forEach((function(e){var t=p[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=X:e[n]=K,e}),{});function I(){this.internalformat=X,this.format=X,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=f[t.colorSpace]),"type"in t){var r=t.type;e.type=p[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in p&&("type"in t||(e.type=p[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=be[e.format]:o&&!s&&e.channels!==_e[e.format]&&(e.format=e.internalformat=_e[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function D(){I.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function O(e,t){var r=null;if(Fe(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),Fe(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Be(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case fe:var n=d.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(_(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Be(o));var s,l,c,u,h,f,p=r.shape,m=r.stride;3===p.length?(c=p[2],f=m[2]):(c=1,f=1),s=p[0],l=p[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=_e[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=je(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,O(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var f=t.wrapT;a=c[f]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var p=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,p=!0;break;case"boolean":p=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,p=!0}p&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ze(e){I.call(this),this.mipmask=0,this.internalformat=X,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ie,s.profile&&(this.stats={size:0})}function Ye(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Xe(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ze.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Ye(n),F(c,W,o,s,l),Xe(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Ye(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Xe(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ze(Z);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Ie.call(l),o=0;o<6;++o)u[o]=ke();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Le(l,e),P(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),q(u[o],f[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var p=0|e||1;for(o=0;o<6;++o)V(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Ye(c),o=0;o<6;++o)we(u[o],Y+o);for(Ve(l,Z),Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=k[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=j();return L(l,c),l.width=0,l.height=0,O(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Ye(c),F(l,Y+e,a,o,s),Xe(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Ye(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(Y+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(Y+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(k=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(_=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(b=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,I=null,L=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function ft(){!ut&&ot.length>0&&(ut=s.next(ht))}function pt(){ut&&(s.cancel(ht),ut=null)}function dt(e){e.preventDefault(),pt(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Le.restore(),A&&A.restore(),rt.procs.refresh(),ft(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:nt,destroy:function(){ot.length=0,pt(),at&&(at.removeEventListener(Br,dt),at.removeEventListener(jr,mt)),He.clear(),tt.clear(),et.clear(),Le.clear(),Qe.clear(),Ie.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){bt(),A&&A.update()},now:Tt,stats:f,getCachedCode:function(){return p},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){p[e[0]]=e[1]}))}});return r.onDone(null,kt),kt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),mx=m({"node_modules/gl-util/context.js"(e,t){var r=ty();function n(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 i(e){return"function"==typeof e.getContext&&"width"in e&&"height"in e}function a(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}t.exports=function(e){if(e?"string"==typeof e&&(e={container:e}):e={},(e=i(e)||"string"==typeof(t=e).nodeName&&"function"==typeof t.appendChild&&"function"==typeof t.getBoundingClientRect?{container:e}:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(e)?{gl:e}:r(e,{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)).pixelRatio||(e.pixelRatio=window.pixelRatio||1),e.gl)return e.gl;var t;if(e.canvas&&(e.container=e.canvas.parentNode),e.container){if("string"==typeof e.container){var o=document.querySelector(e.container);if(!o)throw Error("Element "+e.container+" is not found");e.container=o}i(e.container)?(e.canvas=e.container,e.container=e.canvas.parentNode):e.canvas||(e.canvas=a(),e.container.appendChild(e.canvas),n(e))}else if(!e.canvas){if(!(typeof document<"u"))throw Error("Not DOM environment. Use headless-gl.");e.container=document.body||document.documentElement,e.canvas=a(),e.container.appendChild(e.canvas),n(e)}return e.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(t){try{e.gl=e.canvas.getContext(t,e.attrs)}catch{}return e.gl})),e.gl}}}),gx=m({"node_modules/font-atlas/index.js"(e,t){var r=fx(),n=[32,126];t.exports=function(e){var t=(e=e||{}).shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],i=e.canvas||document.createElement("canvas"),a=e.font,o="number"==typeof e.step?[e.step,e.step]:e.step||[32,32],s=e.chars||n;if(a&&"string"!=typeof a&&(a=r(a)),Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");t=t.slice(),i.width=t[0],i.height=t[1];var h=i.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,i.width,i.height),h.font=a,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";var f=o[0]/2,p=o[1]/2;for(c=0;ct[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return i}}}),yx=m({"node_modules/bit-twiddle/twiddle.js"(e){function t(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(e){return(e>0)-(e<0)},e.abs=function(e){var t=e>>31;return(e^t)-t},e.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},e.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},e.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},e.countTrailingZeros=t,e.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},e.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},e.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var r=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|=1&r,--i;e[t]=n<>>8&255]<<16|r[e>>>16&255]<<8|r[e>>>24&255]},e.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},e.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},e.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},e.nextCombination=function(e){var r=e|e-1;return r+1|(~r&-~r)-1>>>t(e)+1}}}),vx=m({"node_modules/dup/dup.js"(e,t){function r(e,t,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(t=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n0?n.pop():new ArrayBuffer(e)}function f(e){return new Uint8Array(h(e),0,e)}function p(e){return new Uint16Array(h(2*e),0,e)}function d(e){return new Uint32Array(h(4*e),0,e)}function m(e){return new Int8Array(h(e),0,e)}function g(e){return new Int16Array(h(2*e),0,e)}function y(e){return new Int32Array(h(4*e),0,e)}function v(e){return new Float32Array(h(4*e),0,e)}function x(e){return new Float64Array(h(8*e),0,e)}function _(e){return i?new Uint8ClampedArray(h(e),0,e):f(e)}function b(e){return a?new BigUint64Array(h(8*e),0,e):null}function w(e){return o?new BigInt64Array(h(8*e),0,e):null}function T(e){return new DataView(h(e),0,e)}function k(e){e=t.nextPow2(e);var r=t.log2(e),i=c[r];return i.length>0?i.pop():new n(e)}e.free=function(e){if(n.isBuffer(e))c[t.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var r=e.length||e.byteLength,i=0|t.log2(r);l[i].push(e)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(e){u(e.buffer)},e.freeArrayBuffer=u,e.freeBuffer=function(e){c[t.log2(e.length)].push(e)},e.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return h(e);switch(t){case"uint8":return f(e);case"uint16":return p(e);case"uint32":return d(e);case"int8":return m(e);case"int16":return g(e);case"int32":return y(e);case"float":case"float32":return v(e);case"double":case"float64":return x(e);case"uint8_clamped":return _(e);case"bigint64":return w(e);case"biguint64":return b(e);case"buffer":return k(e);case"data":case"dataview":return T(e);default:return null}return null},e.mallocArrayBuffer=h,e.mallocUint8=f,e.mallocUint16=p,e.mallocUint32=d,e.mallocInt8=m,e.mallocInt16=g,e.mallocInt32=y,e.mallocFloat32=e.mallocFloat=v,e.mallocFloat64=e.mallocDouble=x,e.mallocUint8Clamped=_,e.mallocBigUint64=b,e.mallocBigInt64=w,e.mallocDataView=T,e.mallocBuffer=k,e.clearCache=function(){for(var e=0;e<32;++e)s.UINT8[e].length=0,s.UINT16[e].length=0,s.UINT32[e].length=0,s.INT8[e].length=0,s.INT16[e].length=0,s.INT32[e].length=0,s.FLOAT[e].length=0,s.DOUBLE[e].length=0,s.BIGUINT64[e].length=0,s.BIGINT64[e].length=0,s.UINT8C[e].length=0,l[e].length=0,c[e].length=0}}}),_x=m({"node_modules/is-plain-obj/index.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t;return"[object Object]"===r.call(e)&&(null===(t=Object.getPrototypeOf(e))||t===Object.getPrototypeOf({}))}}}),bx=m({"node_modules/parse-unit/index.js"(e,t){t.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}}}),wx=m({"node_modules/to-px/topx.js"(e,t){var r=bx();function n(e,t){var n=r(getComputedStyle(e).getPropertyValue(t));return n[0]*i(n[1],e)}function i(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 function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var i=n(r,"font-size")/128;return t.removeChild(r),i}(e,t);case"em":return n(t,"font-size");case"rem":return n(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 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=i}}),Tx=m({"node_modules/detect-kerning/index.js"(e,t){t.exports=i;var r=(i.canvas=document.createElement("canvas")).getContext("2d"),n=a([32,126]);function i(e,t){Array.isArray(e)&&(e=e.join(", "));var i,o={},s=16,l=.05;t&&(2===t.length&&"number"==typeof t[0]?i=a(t):Array.isArray(t)?i=t:(t.o?i=a(t.o):t.pairs&&(i=t.pairs),t.fontSize&&(s=t.fontSize),null!=t.threshold&&(l=t.threshold))),i||(i=n),r.font=s+"px "+e;for(var c=0;cs*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function a(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/t)}t.exports=r,r.canvas=document.createElement("canvas"),r.cache={}}}),Ax=m({"node_modules/gl-text/dist.js"(e,t){var r=px(),n=ty(),i=dx(),a=mx(),o=Kv(),s=em(),l=gx(),c=xx(),u=ry(),h=_x(),f=bx(),p=wx(),d=Tx(),m=My(),g=kx(),y=ay(),v=yx().nextPow2,x=new o,_=!1;document.body&&((b=document.body.appendChild(document.createElement("div"))).style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(b).fontStretch&&(_=!0),document.body.removeChild(b));var b,w=function(e){var t;"function"==typeof(t=e)&&t._gl&&t.prop&&t.texture&&t.buffer?(e={regl:e},this.gl=e.regl._gl):this.gl=a(e),this.shader=x.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=e.regl||i({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(),x.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(h(e)?e:{})};w.prototype.createShader=function(){var e=this.regl,t=e({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:e.prop("count"),offset:e.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:e.this("sizeBuffer")},width:{offset:0,stride:8,buffer:e.this("sizeBuffer")},char:e.this("charBuffer"),position:e.this("position")},uniforms:{atlasSize:function(e,t){return[t.atlas.width,t.atlas.height]},atlasDim:function(e,t){return[t.atlas.cols,t.atlas.rows]},atlas:function(e,t){return t.atlas.texture},charStep:function(e,t){return t.atlas.step},em:function(e,t){return t.atlas.em},color:e.prop("color"),opacity:e.prop("opacity"),viewport:e.this("viewportArray"),scale:e.this("scale"),align:e.prop("align"),baseline:e.prop("baseline"),translate:e.this("translate"),positionOffset:e.prop("positionOffset")},primitive:"points",viewport:e.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:e,draw:t,atlas:{}}},w.prototype.update=function(e){var t=this;if("string"==typeof e)e={text:e};else if(!e)return;null!=(e=n(e,{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)).opacity&&(Array.isArray(e.opacity)?this.opacity=e.opacity.map((function(e){return parseFloat(e)})):this.opacity=parseFloat(e.opacity)),null!=e.viewport&&(this.viewport=u(e.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(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]),null!=e.kerning&&(this.kerning=e.kerning),null!=e.offset&&("number"==typeof e.offset&&(e.offset=[e.offset,0]),this.positionOffset=y(e.offset)),e.direction&&(this.direction=e.direction),e.range&&(this.range=e.range,this.scale=[1/(e.range[2]-e.range[0]),1/(e.range[3]-e.range[1])],this.translate=[-e.range[0],-e.range[1]]),e.scale&&(this.scale=e.scale),e.translate&&(this.translate=e.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!e.font&&(e.font=w.baseFontSize+"px sans-serif");var i,a=!1,o=!1;if(e.font&&(Array.isArray(e.font)?e.font:[e.font]).forEach((function(e,n){if("string"==typeof e)try{e=r.parse(e)}catch{e=r.parse(w.baseFontSize+"px "+e)}else{var i=e.style,s=e.weight,l=e.stretch,c=e.variant;e=r.parse(r.stringify(e)),i&&(e.style=i),s&&(e.weight=s),l&&(e.stretch=l),c&&(e.variant=c)}var u=r.stringify({size:w.baseFontSize,family:e.family,stretch:_?e.stretch:void 0,variant:e.variant,weight:e.weight,style:e.style}),h=f(e.size),d=Math.round(h[0]*p(h[1]));if(d!==t.fontSize[n]&&(o=!0,t.fontSize[n]=d),!(t.font[n]&&u==t.font[n].baseString||(a=!0,t.font[n]=w.fonts[u],t.font[n]))){var m=e.family.join(", "),y=[e.style];e.style!=e.variant&&y.push(e.variant),e.variant!=e.weight&&y.push(e.weight),_&&e.weight!=e.stretch&&y.push(e.stretch),t.font[n]={baseString:u,family:m,weight:e.weight,stretch:e.stretch,style:e.style,variant:e.variant,width:{},kerning:{},metrics:g(m,{origin:"top",fontSize:w.baseFontSize,fontStyle:y.join(" ")})},w.fonts[u]=t.font[n]}})),(a||o)&&this.font.forEach((function(n,i){var a=r.stringify({size:t.fontSize[i],family:n.family,stretch:_?n.stretch:void 0,variant:n.variant,weight:n.weight,style:n.style});if(t.fontAtlas[i]=t.shader.atlas[a],!t.fontAtlas[i]){var o=n.metrics;t.shader.atlas[a]=t.fontAtlas[i]={fontString:a,step:2*Math.ceil(t.fontSize[i]*o.bottom*.5),em:t.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:t.regl.texture()}}null==e.text&&(e.text=t.text)})),"string"==typeof e.text&&e.position&&e.position.length>2){for(var h=Array(.5*e.position.length),x=0;x2){for(var T=!e.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?t.align[r]:t.align[0]:t.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-e;case"center":case"centre":case"middle":return.5*-e}return 0}))),null==this.baseline&&null==e.baseline&&(e.baseline=0),null!=e.baseline&&(this.baseline=e.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(e,r){var n=(t.font[r]||t.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof e?e-n.baseline:-n[e])}))),null!=e.color)if(e.color||(e.color="transparent"),"string"!=typeof e.color&&isNaN(e.color)){var H;if("number"==typeof e.color[0]&&e.color.length>this.counts.length){var G=e.color.length;H=c.mallocUint8(G);for(var W=(e.color.subarray||e.color.slice).bind(e.color),Z=0;Z4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+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=[]},w.prototype.destroy=function(){},w.prototype.kerning=!0,w.prototype.position={constant:new Float32Array(2)},w.prototype.translate=null,w.prototype.scale=null,w.prototype.font=null,w.prototype.text="",w.prototype.positionOffset=[0,0],w.prototype.opacity=1,w.prototype.color=new Uint8Array([0,0,0,255]),w.prototype.alignOffset=[0,0],w.maxAtlasSize=1024,w.atlasCanvas=document.createElement("canvas"),w.atlasContext=w.atlasCanvas.getContext("2d",{alpha:!1}),w.baseFontSize=64,w.fonts={},t.exports=w}}),Mx=m({"node_modules/@plotly/regl/dist/regl.unchecked.js"(e,t){var r,n;r=e,n=function(){var e=function(e,t){for(var r=Object.keys(t),n=0;n1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function p(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[f(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[f(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var d=p();d.zero=p();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function _(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var b=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},T=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Z=34067,Y=34069,X=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,fe=5126,pe=33071,de=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],_e=[0,J,Q,K,X],be={};function we(e){return"[object "+e+"]"}be[J]=be[$]=be[te]=1,be[re]=be[Q]=2,be[K]=be[ne]=3,be[X]=be[ie]=4;var Te=we("HTMLCanvasElement"),ke=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([Te,ke,Ae,Me,Se,Ee]),Ie=[];Ie[ce]=1,Ie[fe]=4,Ie[ae]=2,Ie[ue]=2,Ie[he]=4;var Le=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function De(e){return Object.prototype.toString.call(e)}function Oe(e){return De(e)===Te}function Re(e){return De(e)===ke}function Fe(e){if(!e)return!1;var t=De(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||_(e)}function Be(e){return 0|M[Object.prototype.toString.call(e)]}function je(e,t){return d.allocType(e.type===ae?fe:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),d.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Le[e]<"u"?Le[e]:be[e]*Ie[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Le[32854]=2,Le[ee]=2,Le[36194]=2,Le[re]=4,Le[oe]=.5,Le[se]=.5,Le[le]=1,Le[33779]=1,Le[35986]=.5,Le[35987]=1,Le[34798]=1,Le[35840]=.5,Le[35841]=.25,Le[35842]=.5,Le[35843]=.25,Le[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ze=36161,Ye=3553,Xe=[];Xe[6408]=4,Xe[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){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=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var ft="xyzw".split(""),pt="dither",dt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",_t="depth.range",bt="depth.mask",wt="colorMask",Tt="cull.enable",kt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",It="sample.enable",Lt="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Dt="stencil.func",Ot="stencil.opFront",Rt="stencil.opBack",Ft="scissor.enable",Bt="scissor.box",jt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Zt="offset",Yt="instances",Xt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=jt+$t,tr=jt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Dt,Ot,Rt,Lt,jt,Bt,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,fr=35668,pr=35669,dr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,_r=35678,br=35680,wr=1028,Tr=1029,kr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:kr};function Ir(e){return Array.isArray(e)||x(e)||_(e)}function Lr(e){return e.sort((function(e,t){return e===jt?-1:t===jt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function Fr(t,r,n,i,a,s,l,c,u,f,p,d,m,g,y,v){var x=f.Record,_={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(_.min=32775,_.max=32776);var b=n.angle_instanced_arrays,w=n.webgl_draw_buffers,T=n.oes_vertex_array_object,k={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function I(e){return e.replace(".","_")}function L(e,t,r){var n=I(e);M.push(e),A[n]=k[n]=!!r,E[n]=t}function P(e,t,r){var n=I(e);M.push(e),Array.isArray(r)?(k[n]=r.slice(),A[n]=r.slice()):k[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}L(pt,3024),L(dt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),L(vt,2929,!0),P(xt,"depthFunc",513),P(_t,"depthRange",[0,1]),P(bt,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),L(Tt,2884),P(kt,"cullFace",Tr),P(At,At,kr),P(Mt,Mt,1),L(St,32823),P(Et,"polygonOffset",[0,0]),L(Ct,32926),L(It,32928),P(Lt,"sampleCoverage",[1,!1]),L(Pt,2960),P(zt,"stencilMask",-1),P(Dt,"stencilFunc",[519,0,-1]),P(Ot,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[Tr,Ar,Ar,Ar]),L(Ft,3089),P(Bt,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(jt,jt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var D={gl:t,context:m,strings:r,next:A,current:k,draw:d,elements:s,buffer:a,shader:p,attributes:f.state,vao:f,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Ir},O={primTypes:F,compareFuncs:Sr,blendFuncs:Mr,blendEquations:_,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(O.backBuffer=[Tr],O.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function B(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(zr(f))return void(f.enable?(d(t),m(t.exit),y("true")):y("false"));y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),b){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",ft.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",ft.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case dr:return 2;case cr:case fr:case mr:return 3;case ur:case pr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Z(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",p],");")}function t(){r(d,".drawArraysInstancedANGLE(",[m,g,y,p],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}b&&("number"!=typeof p||p>=0)?"string"==typeof p?(r("if(",p,">0){"),_(),r("}else if(",p,"<0){"),w(),r("}")):_():w()}function X(e,t,r,n,i){var a=B(),o=a.proc("body",i);return b&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Z(e,t,r,n.uniforms,(function(){return!0}),!1),Y(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Z(e,t,r,n.uniforms,i,!1),Y(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&j(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Z(e,s,r,n.uniforms,u,!1),Z(e,l,r,n.uniforms,c,!0),Y(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link((function(e){return X(K,0,r,e,2)})),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:b,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Dr((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Or(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Dr((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Dr((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Dr((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Dr((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var T=!0,k=y.program.attributes.map((function(e){var r=t.static[e];return T=T&&!!r,r}));if(T&&k.length>0){var A=f.getVAO(f.createVAO({attributes:k,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Ir(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:ft.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Dr((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(j(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Lr(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Zt,Wt,Yt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(j(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link((function(e){return X(J,0,t,e,2)})),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Br="webglcontextlost",jr="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,p=!1,d={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(p=!!o.profile),"pixelRatio"in o&&(f=+o.pixelRatio),"cachedCode"in o&&(d=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,f);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:f,profile:p,cachedCode:d,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=I(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=d.allocType(h.dtype,e.length);O(i,e),p(i,n),d.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=I(e);var a=C(e,r,h.dtype);p(a,n),d.freeType(a)}}else if(_(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:D(e.data),g=d.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),p(g,n),d.freeType(g)}return f},r.profile&&(f.stats=h.stats),f.destroy=function(){c(h)},f},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){b(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){b(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,f,r),Ie=function(e,t,r,n){var i={},a=0,o={uint8:B,uint16:j};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||_(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:j),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||B,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case B:case 5120:u=B;break;case j:case 5122:u=j;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,u===j?f>>=1:u===N&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var d=n.buffer.dimension;1===d&&(p=0),2===d&&(p=1),3===d&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=B;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||_(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=F[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===j||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=B;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){b(i).forEach(u)}}}(n,k,Ce,f),Le=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,s[c]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized||!1,f.type="type"in h?S[h.type]:f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var d=0;d1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);b(a).forEach(e),a={},b(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,0,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var k=[];Object.keys(m).forEach((function(e){var t=m[e];k[t]=e}));var A=[];Object.keys(p).forEach((function(e){var t=p[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=X:e[n]=K,e}),{});function I(){this.internalformat=X,this.format=X,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=f[t.colorSpace]),"type"in t){var r=t.type;e.type=p[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in p&&("type"in t||(e.type=p[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=be[e.format]:o&&!s&&e.channels!==_e[e.format]&&(e.format=e.internalformat=_e[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function D(){I.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function O(e,t){var r=null;if(Fe(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),Fe(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Be(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case fe:var n=d.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(_(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Be(o));var s,l,c,u,h,f,p=r.shape,m=r.stride;3===p.length?(c=p[2],f=m[2]):(c=1,f=1),s=p[0],l=p[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=_e[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=je(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,O(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var f=t.wrapT;a=c[f]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var p=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,p=!0;break;case"boolean":p=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,p=!0}p&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ze(e){I.call(this),this.mipmask=0,this.internalformat=X,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ie,s.profile&&(this.stats={size:0})}function Ye(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Xe(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ze.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Ye(n),F(c,W,o,s,l),Xe(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Ye(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Xe(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ze(Z);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Ie.call(l),o=0;o<6;++o)u[o]=ke();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Le(l,e),P(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),q(u[o],f[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var p=0|e||1;for(o=0;o<6;++o)V(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Ye(c),o=0;o<6;++o)we(u[o],Y+o);for(Ve(l,Z),Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=k[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=j();return L(l,c),l.width=0,l.height=0,O(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Ye(c),F(l,Y+e,a,o,s),Xe(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Ye(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(Y+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(Y+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(k=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(_=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(b=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,I=null,L=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function ft(){!ut&&ot.length>0&&(ut=s.next(ht))}function pt(){ut&&(s.cancel(ht),ut=null)}function dt(e){e.preventDefault(),pt(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Le.restore(),A&&A.restore(),rt.procs.refresh(),ft(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:nt,destroy:function(){ot.length=0,pt(),at&&(at.removeEventListener(Br,dt),at.removeEventListener(jr,mt)),He.clear(),tt.clear(),et.clear(),Le.clear(),Qe.clear(),Ie.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){bt(),A&&A.update()},now:Tt,stats:f,getCachedCode:function(){return p},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){p[e[0]]=e[1]}))}});return r.onDone(null,kt),kt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),Sx=m({"src/lib/prepare_regl.js"(e,t){var r=fm(),n=Mx();t.exports=function(e,t,i){var a=e._fullLayout,o=!0;return a._glcanvas.each((function(r){if(r.regl)r.regl.preloadCachedCode(i);else if(!r.pick||a._has("parcoords")){try{r.regl=n({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:e._context.plotGlPixelRatio||window.devicePixelRatio,extensions:t||[],cachedCode:i||{}})}catch{o=!1}r.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(t){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:t,layer:r.key})}),!1)}})),o||r({container:a._glcontainer.node()}),o}}}),Ex=m({"src/traces/scattergl/plot.js"(e,t){var r=Ly(),n=Qv(),i=ex(),a=Ax(),o=ct(),s=Rr().selectMode,l=Sx(),c=Xt(),u=pi(),h=wy().styleTextSelection,f={};function p(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,c=i.r*n,u=i.t*n,h=i.w*n,f=i.h*n;return[s+t.domain[0]*h,l+r.domain[0]*f,a-c-(1-t.domain[1])*h,o-u-(1-r.domain[1])*f]}(t.exports=function(e,t,d){if(d.length){var m,g,y=e._fullLayout,v=t._scene,x=t.xaxis,_=t.yaxis;if(v){if(!l(e,["ANGLE_instanced_arrays","OES_element_index_uint"],f))return void v.init();var b=v.count,w=y._glcanvas.data()[0].regl;if(u(e,t,d),v.dirty){if((v.line2d||v.error2d)&&!(v.scatter2d||v.fill2d||v.glText)&&w.clear({color:!0,depth:!0}),!0===v.error2d&&(v.error2d=i(w)),!0===v.line2d&&(v.line2d=n(w)),!0===v.scatter2d&&(v.scatter2d=r(w)),!0===v.fill2d&&(v.fill2d=n(w)),!0===v.glText)for(v.glText=new Array(b),m=0;mv.glText.length){var T=b-v.glText.length;for(m=0;mr&&(isNaN(t[n])||isNaN(t[n+1]));)n-=2;e.positions=t.slice(r,n+2)}return e})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=o.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(e,t){var r=d[t];if(e&&r&&r[0]&&r[0].trace){var n,i,a=r[0],o=a.trace,s=a.t,l=v.lineOptions[t],c=[];o._ownfill&&c.push(t),o._nexttrace&&c.push(t+1),c.length&&(v.fillOrder[t]=c);var u,h,f=[],p=l&&l.positions||s.positions;if("tozeroy"===o.fill){for(u=0;uu&&isNaN(p[h+1]);)h-=2;0!==p[u+1]&&(f=[p[u],0]),f=f.concat(p.slice(u,h+2)),0!==p[h+1]&&(f=f.concat([p[h],0]))}else if("tozerox"===o.fill){for(u=0;uu&&isNaN(p[h]);)h-=2;0!==p[u]&&(f=[0,p[u+1]]),f=f.concat(p.slice(u,h+2)),0!==p[h]&&(f=f.concat([0,p[h+1]]))}else if("toself"===o.fill||"tonext"===o.fill){for(f=[],n=0,e.splitNull=!0,i=0;i-1;for(let[e]of d)if(e){var C=e.trace,I=e.t,L=I.index,P=C._length,z=I.x,D=I.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var O=v.selectBatch[L]=o.selIndices2selPoints(C),R={};for(g=0;ga&&l||ih?_.sizeAvg||Math.max(_.size,3):i(t,x),p=0;p2?(n=h[0],a=h[2],i=h[1],o=h[3]):h.length?(n=i=h[0],a=o=h[1]):(n=h.x,i=h.y,a=h.x+h.width,o=h.y+h.height),f.length>2?(s=f[0],c=f[2],l=f[1],u=f[3]):f.length?(s=l=f[0],c=u=f[1]):(s=f.x,l=f.y,c=f.x+f.width,u=f.y+f.height),[s,i,c,o]}function f(e){if("number"==typeof e)return[e,e,e,e];if(2===e.length)return[e[0],e[1],e[0],e[1]];{let t=s(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}t.exports=c,c.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=a((()=>{this.draw(),this.dirty=!0,this.planned=null}))):(this.draw(),this.dirty=!0,a((()=>{this.dirty=!1}))),this)},c.prototype.update=function(...e){if(!e.length)return;for(let t=0;tt||!c.lower&&e{t[a+r]=n}))}this.scatter.draw(...t)}else this.scatter.draw();return this},c.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}}}),Nx=m({"src/traces/splom/plot.js"(e,t){var r=jx(),n=ct(),i=_t(),a=Rr().selectMode;function o(e,t){var o,s,l,c,u,h=e._fullLayout,f=h._size,p=t.trace,d=t.t,m=h._splomScenes[p.uid],g=m.matrixOptions,y=g.cdata,v=h._glcanvas.data()[0].regl,x=h.dragmode;if(0!==y.length){g.lower=p.showupperhalf,g.upper=p.showlowerhalf,g.diagonal=p.diagonal.visible;var _=p._visibleDims,b=y.length,w=m.viewOpts={};for(w.ranges=new Array(b),w.domains=new Array(b),u=0;u<_.length;u++){l=_[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(o=i.getFromId(e,p._diag[l][0]))&&(T[0]=o._rl[0],T[2]=o._rl[1],k[0]=o.domain[0],k[2]=o.domain[1]),(s=i.getFromId(e,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}var A=e._context.plotGlPixelRatio,M=f.l*A,S=f.b*A,E=f.w*A,C=f.h*A;w.viewport=[M,S,E+M,C+S],!0===m.matrix&&(m.matrix=r(v));var I=h.clickmode.indexOf("select")>-1,L=!0;if(a(x)||p.selectedpoints||I){var P=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var z=p.selectedpoints,D={};for(l=0;l=t[r][0]&&e<=t[r][1])return!0;return!1}(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,f=a;i*ft){f=n;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(f)?isNaN(h)?f:h:t-c[h][1]e[1]+n||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}(d,t);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(e.ordinal&&!o.region){var y=e.unitTickvals,v=e.unitToPaddedPx.invert(t);for(n=0;n=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[i-a.grabPoint,i+a.barLength-a.grabPoint].map(t.unitToPaddedPx.invert):a.newExtent=[a.startExtent,t.unitToPaddedPx.invert(i)].sort(o),t.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(t),x(e.parentNode)}function T(e,t){var i=_(t,t.height-n.mouse(e)[1]-2*r.verticalPadding),a="crosshair";i.clickableOrdinalRange?a="pointer":i.region&&(a=i.region+"-resize"),n.select(document.body).style("cursor",a)}function k(e){e.on("mousemove",(function(e){n.event.preventDefault(),e.parent.inBrushDrag||T(this,e)})).on("mouseleave",(function(e){e.parent.inBrushDrag||y()})).call(n.behavior.drag().on("dragstart",(function(e){!function(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.unitToPaddedPx.invert(i),o=t.brush,s=_(t,i),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(t.unitToPaddedPx);c.grabPoint=i-u[0]-r.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=t.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(e){return e[0]!==l[0]&&e[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,t.parent.inBrushDrag=!0,c.brushStartCallback()}(this,e)})).on("drag",(function(e){w(this,e)})).on("dragend",(function(e){!function(e,t){var r=t.brush,i=r.filter,a=r.svgBrush;a._dragging||(T(e,t),w(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1,n.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(t),x(e.parentNode),void a.brushEndCallback(r.filterSpecified?i.getConsolidated():[]);var s=function(){i.set(i.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(t),c?x(e.parentNode,s):(s(),x(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?i.getConsolidated():[])}(this,e)})))}function A(e,t){return e[0]-t[0]}function M(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function S(e){return function(t){var r=t.brush,n=function(e){return e.svgBrush.extent.map((function(e){return e.slice()}))}(r),i=n.slice();r.filter.set(i),e()}}function E(e){for(var t,r=e.slice(),n=[],i=r.shift();i;){for(t=i.slice();(i=r.shift())&&i[0]<=t[1];)t[1]=Math.max(t[1],i[1]);n.push(t)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(e,t,r,n,i,a){var s=function(){var e,t,r=[];return{set:function(n){1===(r=n.map((function(e){return e.slice().sort(o)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),e=E(r),t=r.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return e},getBounds:function(){return t}}}();return s.set(r),{filter:s,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:S(i),brushEndCallback:a}}},ensureAxisBrush:function(e,t,n){var o=e.selectAll("."+r.cn.axisBrush).data(a,i);o.enter().append("g").classed(r.cn.axisBrush,!0),function(e,t,n){var i=n._context.staticPlot,o=e.selectAll(".background").data(a);o.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events",i?"none":"auto").attr("transform",s(0,r.verticalPadding)),o.call(k).attr("height",(function(e){return e.height-r.verticalPadding}));var l=e.selectAll(".highlight-shadow").data(a);l.enter().append("line").classed("highlight-shadow",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width+r.bar.strokeWidth).attr("stroke",t).attr("opacity",r.bar.strokeOpacity).attr("stroke-linecap","butt"),l.attr("y1",(function(e){return e.height})).call(v);var c=e.selectAll(".highlight").data(a);c.enter().append("line").classed("highlight",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width-r.bar.strokeWidth).attr("stroke",r.bar.fillColor).attr("opacity",r.bar.fillOpacity).attr("stroke-linecap","butt"),c.attr("y1",(function(e){return e.height})).call(v)}(o,t,n)},cleanRanges:function(e,t){if(Array.isArray(e[0])?(e=e.map((function(e){return e.sort(o)})),e=t.multiselect?E(e.sort(A)):[e[0]]):e=[e.sort(o)],t.tickvals){var r=t.tickvals.slice().sort(o);if(!(e=e.map((function(e){var t=[f(0,r,e[0],[]),f(1,r,e[1],[])];if(t[1]>t[0])return t})).filter((function(e){return e}))).length)return}return e.length>1?e:e[0]}}}}),Qx=m({"src/traces/parcoords/defaults.js"(e,t){var r=ct(),n=Ct().hasColorscale,i=Ht(),a=Ma().defaults,o=Nt(),s=ar(),l=Xx(),c=Jx(),u=$x().maxDimensionCount,h=Px();function f(e,t,n,i){function a(n,i){return r.coerce(e,t,l.dimensions,n,i)}var o=a("values"),u=a("visible");if(o&&o.length||(u=t.visible=!1),u){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var h=a("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},s.setConvert(t._ax,i.layout),a("multiselect");var f=a("constraintrange");f&&(t.constraintrange=c.cleanRanges(f,t))}}t.exports=function(e,t,s,c){function p(n,i){return r.coerce(e,t,l,n,i)}var d=e.dimensions;Array.isArray(d)&&d.length>u&&(r.log("parcoords traces support up to "+u+" dimensions at the moment"),d.splice(u));var m=o(e,t,{name:"dimensions",layout:c,handleItemDefaults:f}),g=function(e,t,a,o,s){var l=s("line.color",a);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,s,c,p);a(t,c,p),(!Array.isArray(m)||!m.length)&&(t.visible=!1),h(t,m,"values",g);var y=r.extendFlat({},c.font,{size:Math.round(c.font.size/1.2)});r.coerceFont(p,"labelfont",y),r.coerceFont(p,"tickfont",y,{autoShadowDflt:!0}),r.coerceFont(p,"rangefont",y),p("labelangle"),p("labelside"),p("unselected.line.color"),p("unselected.line.opacity")}}}),e_=m({"src/traces/parcoords/calc.js"(e,t){var r=ct().isArrayOrTypedArray,n=Yt(),i=Kx().wrap;t.exports=function(e,t){var a,o;return n.hasColorscale(t,"line")&&r(t.line.color)?(a=t.line.color,o=n.extractOpts(t.line).colorscale,n.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=function(e){for(var t=new Array(e),r=0;r>>16,(65280&e)>>>8,255&e],alpha:1};if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),r_.default[e])a=r_.default[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if("#"===e[0]){var s=e.slice(1),l=s.length;o=1,l<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(n=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var c=n[1],u="cmyk"===(i=c.replace(/a$/,""))?4:"gray"===i?1:3;a=n[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===i&&(i=a.shift()),o=(a=a.map((function(e,t){if("%"===e[e.length-1])return e=parseFloat(e)/100,3===t?e:"rgb"===i?255*e:"h"===i[0]||"l"===i[0]&&!t?100*e:"lab"===i?125*e:"lch"===i?t<2?150*e:360*e:"o"!==i[0]||t?"oklab"===i?.4*e:"oklch"===i?t<2?.4*e:360*e:e:e;if("h"===i[t]||2===t&&"h"===i[i.length-1]){if(void 0!==i_[e])return i_[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)}))).length>u?a.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=(null==(r=null==(t=e.match(/([a-z])/gi))?void 0:t.join(""))?void 0:r.toLowerCase())||"rgb");return{space:i,values:a,alpha:o}}var r_,n_,i_,a_,o_,s_=d({"node_modules/color-parse/index.js"(){var r,n;n=null!=(r=Xd())?e(s(r)):{},r_=y(t(n,"default",{value:r,enumerable:!0}),r),n_=t_,i_={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),l_=d({"node_modules/color-space/rgb.js"(){a_={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),c_=d({"node_modules/color-space/hsl.js"(){l_(),o_={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}},a_.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?t=0:n===s?t=(i-a)/l:i===s?t=2+(a-n)/l:a===s&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+s)/2,[t,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}}}),u_={};function h_(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r=n_(e);if(!r.space)return[];let n="h"===r.space[0]?o_.min:a_.min,i="h"===r.space[0]?o_.max:a_.max;return(t=Array(3))[0]=Math.min(Math.max(r.values[0],n[0]),i[0]),t[1]=Math.min(Math.max(r.values[1],n[1]),i[1]),t[2]=Math.min(Math.max(r.values[2],n[2]),i[2]),"h"===r.space[0]&&(t=o_.rgb(t)),t.push(Math.min(Math.max(r.alpha,0),1)),t}g(u_,{default:()=>h_});var f_=d({"node_modules/color-rgba/index.js"(){s_(),l_(),c_()}}),p_=m({"src/traces/parcoords/helpers.js"(e){var t=ct().isTypedArray;e.convertTypedArray=function(e){return t(e)?Array.prototype.slice.call(e):e},e.isOrdinal=function(e){return!!e.tickvals},e.isVisible=function(e){return e.visible||!("visible"in e)}}}),d_=m({"src/traces/parcoords/lines.js"(e,t){var r=["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("\n"),n=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),i=$x().maxDimensionCount,a=ct(),o=1e-6,s=2048,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(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 f(e,t,r,n,i,a){var o=a.key;r.drawCompleted||(function(e){e.read({x:0,y:0,width:1,height:1,data:l})}(e),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*c,a.offset=2*l*n,t(a),l*n+c>>8*t)%256/255}function g(e,t,r){for(var n=new Array(8*t),i=0,a=0;au&&(u=e[n].dim1.canvasX,a=n);0===l&&h(A,0,0,o.canvasWidth,o.canvasHeight);var p=function(e){var t,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!e&&ns._length&&(M=M.slice(0,s._length));var C,L=s.tickvals;function P(e,t){return{val:e,text:C[t]}}function z(e,t){return e.val-t.val}if(i(L)&&L.length){n.isTypedArray(L)&&(L=Array.from(L)),C=s.ticktext,i(C)&&C.length?C.length>L.length?C=C.slice(0,L.length):L.length>C.length&&(L=L.slice(0,C.length)):C=L.map(a(s.tickformat));for(var D=1;D=n||l>=i)return;var c=e.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:t.clientX,clientY:t.clientY,dataIndex:e.model.key,curveNumber:h};h!==C&&(u?a.hover(f):a.unhover&&a.unhover(f),C=h)}})),E.style("opacity",(function(e){return e.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var B=p.selectAll("."+x.cn.parcoords).data(S,d);B.exit().remove(),B.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),B.attr("transform",(function(e){return c(e.model.translateX,e.model.translateY)}));var j=B.selectAll("."+x.cn.parcoordsControlView).data(m,d);j.enter().append("g").classed(x.cn.parcoordsControlView,!0),j.attr("transform",(function(e){return c(e.model.pad.l,e.model.pad.t)}));var N=j.selectAll("."+x.cn.yAxis).data((function(e){return e.dimensions}),d);N.enter().append("g").classed(x.cn.yAxis,!0),j.each((function(e){O(N,e,b)})),E.each((function(e){if(e.viewModel){!e.lineLayer||a?e.lineLayer=w(this,e):e.lineLayer.update(e),(e.key||0===e.key)&&(e.viewModel[e.key]=e.lineLayer);var t=!e.context||a;e.lineLayer.render(e.viewModel.panels,t)}})),N.attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),N.call(r.behavior.drag().origin((function(e){return e})).on("drag",(function(e){var t=e.parent;A.linePickActive(!1),e.x=Math.max(-x.overdrag,Math.min(e.model.width+x.overdrag,r.event.x)),e.canvasX=e.x*e.model.canvasPixelRatio,N.sort((function(e,t){return e.x-t.x})).each((function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio})),O(N,t,b),N.filter((function(t){return 0!==Math.abs(e.xIndex-t.xIndex)})).attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),r.select(this).attr("transform",c(e.x,0)),N.each((function(r,n,i){i===e.parent.key&&(t.dimensions[n]=r)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!I(t)),t.focusLayer.render&&t.focusLayer.render(t.panels)})).on("dragend",(function(e){var t=e.parent;e.x=e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio,O(N,t,b),r.select(this).attr("transform",(function(e){return c(e.x,0)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!I(t)),t.focusLayer&&t.focusLayer.render(t.panels),t.pickLayer&&t.pickLayer.render(t.panels,!0),A.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(t.key,t.dimensions.map((function(e){return e.crossfilterDimensionIndex})))}))),N.exit().remove();var U=N.selectAll("."+x.cn.axisOverlays).data(m,d);U.enter().append("g").classed(x.cn.axisOverlays,!0),U.selectAll("."+x.cn.axis).remove();var V=U.selectAll("."+x.cn.axis).data(m,d);V.enter().append("g").classed(x.cn.axis,!0),V.each((function(e){var t=e.model.height/e.model.tickDistance,n=e.domainScale,i=n.domain();r.select(this).call(r.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(t,e.tickFormat).tickValues(e.ordinal?i:null).tickFormat((function(t){return y.isOrdinal(e)?t:R(e.model.dimensions[e.visibleIndex],t)})).scale(n)),h.font(V.selectAll("text"),e.model.tickFont)})),V.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),V.selectAll("text").style("cursor","default");var q=U.selectAll("."+x.cn.axisHeading).data(m,d);q.enter().append("g").classed(x.cn.axisHeading,!0);var H=q.selectAll("."+x.cn.axisTitle).data(m,d);H.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),H.text((function(e){return e.label})).each((function(t){var n=r.select(this);h.font(n,t.model.labelFont),u.convertToTspans(n,e)})).attr("transform",(function(e){var t=D(e.model.labelAngle,e.model.labelSide),r=x.axisTitleOffset;return(t.dir>0?"":c(0,2*r+e.model.height))+l(t.degrees)+c(-r*t.dx,-r*t.dy)})).attr("text-anchor",(function(e){var t=D(e.model.labelAngle,e.model.labelSide);return 2*Math.abs(t.dx)>Math.abs(t.dy)?t.dir*t.dx<0?"start":"end":"middle"}));var G=U.selectAll("."+x.cn.axisExtent).data(m,d);G.enter().append("g").classed(x.cn.axisExtent,!0);var W=G.selectAll("."+x.cn.axisExtentTop).data(m,d);W.enter().append("g").classed(x.cn.axisExtentTop,!0),W.attr("transform",c(0,-x.axisExtentOffset));var Z=W.selectAll("."+x.cn.axisExtentTopText).data(m,d);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(z),Z.text((function(e){return F(e,!0)})).each((function(e){h.font(r.select(this),e.model.rangeFont)}));var Y=G.selectAll("."+x.cn.axisExtentBottom).data(m,d);Y.enter().append("g").classed(x.cn.axisExtentBottom,!0),Y.attr("transform",(function(e){return c(0,e.model.height+x.axisExtentOffset)}));var X=Y.selectAll("."+x.cn.axisExtentBottomText).data(m,d);X.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(z),X.text((function(e){return F(e,!1)})).each((function(e){h.font(r.select(this),e.model.rangeFont)})),_.ensureAxisBrush(U,T,e)}}}),g_=m({"src/traces/parcoords/plot.js"(e,t){var r=m_(),n=Sx(),i=p_().isVisible,a={};function o(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return-1===i&&(i+=t.length),i}(t.exports=function(e,t){var s=e._fullLayout;if(n(e,[],a)){var l={},c={},u={},h={},f=s._size;t.forEach((function(t,r){var n=t[0].trace;u[r]=n.index;var i=h[r]=n.index;l[r]=e.data[i].dimensions,c[r]=e.data[i].dimensions.slice()})),r(e,t,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(t,r,n){var i=c[t][r],a=n.map((function(e){return e.slice()})),o="dimensions["+r+"].constraintrange",l=s._tracePreGUI[e._fullData[u[t]]._fullInput.uid];if(void 0===l[o]){var f=i.constraintrange;l[o]=f||null}var p=e._fullData[u[t]].dimensions[r];a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,p.constraintrange=a.slice(),a=[a]):(delete i.constraintrange,delete p.constraintrange,a=null);var d={};d[o]=a,e.emit("plotly_restyle",[d,[h[t]]])},hover:function(t){e.emit("plotly_hover",t)},unhover:function(t){e.emit("plotly_unhover",t)},axesMoved:function(t,r){var n=function(e,t){return function(r,n){return o(e,t,r)-o(e,t,n)}}(r,c[t].filter(i));l[t].sort(n),c[t].filter((function(e){return!i(e)})).sort((function(e){return c[t].indexOf(e)})).forEach((function(e){l[t].splice(l[t].indexOf(e),1),l[t].splice(c[t].indexOf(e),0,e)})),e.emit("plotly_restyle",[{dimensions:[l[t]]},[h[t]]])}})}}).reglPrecompiled=a}}),y_=m({"src/traces/parcoords/base_plot.js"(e){var t=b(),r=Tt().getModuleCalcData,n=g_(),i=Mt();e.name="parcoords",e.plot=function(e){var t=r(e.calcdata,"parcoords")[0];t.length&&n(e,t)},e.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())},e.toSVG=function(e){var r=e._fullLayout._glimages,n=t.select(e).selectAll(".svg-container");n.filter((function(e,t){return t===n.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var e=this,t=e.toDataURL("image/png");r.append("svg:image").attr({xmlns:i.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:e.style.width,height:e.style.height})})),window.setTimeout((function(){t.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}}}),v_=m({"src/traces/parcoords/base_index.js"(e,t){t.exports={attributes:Xx(),supplyDefaults:Qx(),calc:e_(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:y_(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),x_=m({"src/traces/parcoords/index.js"(e,t){var r=v_();r.plot=g_(),t.exports=r}}),__=m({"lib/parcoords.js"(e,t){t.exports=x_()}}),b_=m({"src/traces/parcats/attributes.js"(e,t){var r=B().extendFlat,n=q(),i=j(),a=zt(),{hovertemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=Ma().attributes,c=r({editType:"calc"},a("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:s({editType:"plot"})});t.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:r({},n.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:s({editType:"plot"}),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:i({editType:"calc"}),tickfont:i({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:c,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}}}),w_=m({"src/traces/parcats/defaults.js"(e,t){var r=ct(),n=Ct().hasColorscale,i=Ht(),a=Ma().defaults,o=Nt(),s=b_(),l=Px(),c=I().isTypedArraySpec;function u(e,t){function n(n,i){return r.coerce(e,t,s.dimensions,n,i)}var i=n("values"),a=n("visible");if(i&&i.length||(a=t.visible=!1),a){n("label"),n("displayindex",t._index);var o,l=e.categoryarray,u=r.isArrayOrTypedArray(l)&&l.length>0||c(l);u&&(o="array");var h=n("categoryorder",o);"array"===h?(n("categoryarray"),n("ticktext")):(delete e.categoryarray,delete e.ticktext),!u&&"array"===h&&(t.categoryorder="trace")}}t.exports=function(e,t,c,h){function f(n,i){return r.coerce(e,t,s,n,i)}var p=o(e,t,{name:"dimensions",handleItemDefaults:u}),d=function(e,t,a,o,s){s("line.shape"),s("line.hovertemplate"),s("line.hovertemplatefallback");var l=s("line.color",o.colorway[0]);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,c,h,f);a(t,h,f),(!Array.isArray(p)||!p.length)&&(t.visible=!1),l(t,p,"values",d),f("hoveron"),f("hovertemplate"),f("hovertemplatefallback"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var m=h.font;r.coerceFont(f,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),r.coerceFont(f,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}}}),T_=m({"src/traces/parcats/calc.js"(e,t){var r=Kx().wrap,n=Ct().hasColorscale,i=Zt(),a=at(),o=er(),s=ct(),l=M();function c(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function u(e,t,r){e.valueInds.push(t),e.count+=r}function h(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function f(e,t,r){e.valueInds.push(t),e.count+=r}t.exports=function(e,t){var p=s.filterVisible(t.dimensions);if(0===p.length)return[];var d,m,g,y=p.map((function(e){var t;if("trace"===e.categoryorder)t=null;else if("array"===e.categoryorder)t=e.categoryarray;else{t=a(e.values);for(var r=!0,n=0;n=e.length||void 0!==t[e[r]])return!1;t[e[r]]=!0}return!0}(r))for(t=0;tt.model.rawColor?1:e.model.rawColor"),C=r.mouse(h)[0];a.loneHover({trace:f,x:_-d.left+m.left,y:b-d.top+m.top,text:E,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:w,idealAlign:C<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(e){if(!e.parcatsViewModel.dragDimension&&(w(r.select(this)),a.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(d),-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var t=y(e),n=x(e);e.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:t,event:r.event,constraints:n})}}function y(e){for(var t=[],r=O(e.parcatsViewModel),n=0;n1&&f.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var _=x.join("
");return{trace:p,x:o*(i-t.left),y:s*(d-t.top),text:_,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function I(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(r.mouse(this)[1]<-1)return;var t,n=e.parcatsViewModel.graphDiv,i=n._fullLayout,s=i._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.hoveron,u=this;"color"===l?(function(e){var t=r.select(e).datum(),n=M(t);T(n),n.each((function(){o.raiseToTop(this)})),r.select(e.parentNode).selectAll("rect.bandrect").filter((function(e){return e.color===t.color})).each((function(){o.raiseToTop(this),function(e){e.attr("stroke","black").attr("stroke-width",1.5)}(r.select(this))}))}(u),E(u,"plotly_hover",r.event)):(function(e){r.select(e.parentNode).selectAll("rect.bandrect").each((function(e){var t=M(e);T(t),t.each((function(){o.raiseToTop(this)}))})),function(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(r.select(e.parentNode))}(u),S(u,"plotly_hover",r.event)),-1===e.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?t=C(n,s,u):"color"===l?t=function(e,t,n){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=n.getBoundingClientRect(),u=r.select(n).datum(),h=u.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=h.model.categoryLabel,y=u.parcatsViewModel.model.count,v=0;u.categoryViewModel.bands.forEach((function(e){e.color===u.color&&(v+=e.count)}));var x=h.model.count,_=0;f.pathSelection.each((function(e){e.model.color===u.color&&(_+=e.model.count)}));var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-t.left),y:s*(m-t.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(n,s,u):"dimension"===l&&(t=function(e,t,n){var i=[];return r.select(n.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(C(e,t,this))})),i}(n,s,u)),t&&a.loneHover(t,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:n}))}}function L(e){var t=e.parcatsViewModel;t.dragDimension||(w(t.pathSelection),k(t.dimensionSelection.selectAll("g.category")),A(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(d),-1!==t.hoverinfoItems.indexOf("skip"))||("color"===e.parcatsViewModel.hoveron?E(this,"plotly_unhover",r.event):S(this,"plotly_unhover",r.event))}function P(e){"fixed"!==e.parcatsViewModel.arrangement&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,r.select(this).selectAll("g.category").select("rect.catrect").each((function(t){var n=r.mouse(this)[0],i=r.mouse(this)[1];-2<=n&&n<=t.width+2&&-2<=i&&i<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map((function(e){return e.displayInd})),t.model.dragY=t.y,o.raiseToTop(this.parentNode),r.select(this.parentNode).selectAll("rect.bandrect").each((function(t){t.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),e.dragCategoryDisplayInd=o.model.displayInd}if(null===e.dragCategoryDisplayInd||"freeform"===e.parcatsViewModel.arrangement){a.model.dragX=r.event.x;var f=e.parcatsViewModel.dimensions[n],p=e.parcatsViewModel.dimensions[i];void 0!==f&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=a.model.displayInd}V(e.parcatsViewModel),U(e.parcatsViewModel),B(e.parcatsViewModel),R(e.parcatsViewModel)}}function D(e){if("fixed"!==e.parcatsViewModel.arrangement&&null!==e.dragDimensionDisplayInd){r.select(this).selectAll("text").attr("font-weight","normal");var t={},n=O(e.parcatsViewModel),a=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),o=e.initialDragDimensionDisplayInds.some((function(e,t){return e!==a[t]}));o&&a.forEach((function(r,n){var i=e.parcatsViewModel.model.dimensions[n].containerInd;t["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==e.dragCategoryDisplayInd){var l=e.model.categories.map((function(e){return e.displayInd}));if(s=e.initialDragCategoryDisplayInds.some((function(e,t){return e!==l[t]}))){var c=e.model.categories.slice().sort((function(e,t){return e.displayInd-t.displayInd})),u=c.map((function(e){return e.categoryValue})),h=c.map((function(e){return e.categoryLabel}));t["dimensions["+e.model.containerInd+"].categoryarray"]=[u],t["dimensions["+e.model.containerInd+"].ticktext"]=[h],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!e.dragHasMoved&&e.potentialClickBand&&("color"===e.parcatsViewModel.hoveron?E(e.potentialClickBand,"plotly_click",r.event.sourceEvent):S(e.potentialClickBand,"plotly_click",r.event.sourceEvent)),e.model.dragX=null,null!==e.dragCategoryDisplayInd&&(e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd].model.dragY=null,e.dragCategoryDisplayInd=null),e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,V(e.parcatsViewModel),U(e.parcatsViewModel),r.transition().duration(300).ease("cubic-in-out").each((function(){B(e.parcatsViewModel,!0),R(e.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&i.restyle(e.parcatsViewModel.graphDiv,t,[n])}))}}function O(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(t[s+1]+i)+" "+l[s]+","+(t[s]+i)+" "+(e[s]+r[s])+","+(t[s]+i),u+="l-"+r[s]+",0 ";return u+"Z"}function U(e){var t=e.dimensions,r=e.model,n=t.map((function(e){return e.categories.map((function(e){return e.y}))})),i=e.model.dimensions.map((function(e){return e.categories.map((function(e){return e.displayInd}))})),a=e.model.dimensions.map((function(e){return e.displayInd})),o=e.dimensions.map((function(e){return e.model.dimensionInd})),s=t.map((function(e){return e.x})),l=t.map((function(e){return e.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(e){var t=e.categoryInds.map((function(e,t){return i[t][e]}));return o.map((function(e){return t[e]}))}c.sort((function(t,r){var n=h(t),i=h(r);return"backward"===e.sortpaths&&(n.reverse(),i.reverse()),n.push(t.valueInds[0]),i.push(r.valueInds[0]),e.bundlecolors&&(n.unshift(t.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var f=new Array(c.length),p=t[0].model.count,d=t[0].categories.map((function(e){return e.height})).reduce((function(e,t){return e+t})),m=0;m0?d*(v.count/p):0;for(var x=new Array(n.length),_=0;_1?(e.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=e.model.maxCats,f=t.categories.length,p=t.count,d=e.height-8*(h-1),m=8*(h-f)/2,g=t.categories.map((function(e){return{displayInd:e.displayInd,categoryInd:e.categoryInd}}));for(g.sort((function(e,t){return e.displayInd-t.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:e},m=m+a+8,u.push(s);return{key:t.dimensionInd,x:null!==t.dragX?t.dragX:r,y:0,width:16,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(e,t,r,n){h(r,e,n,t)}}}),A_=m({"src/traces/parcats/plot.js"(e,t){var r=k_();t.exports=function(e,t,n,i){var a=e._fullLayout,o=a._paper,s=a._size;r(e,o,t,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}}}),M_=m({"src/traces/parcats/base_plot.js"(e){var t=Tt().getModuleCalcData,r=A_(),n="parcats";e.name=n,e.plot=function(e,i,a,o){var s=t(e.calcdata,n);if(s.length){var l=s[0];r(e,l,a,o)}},e.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()}}}),S_=m({"src/traces/parcats/index.js"(e,t){t.exports={attributes:b_(),supplyDefaults:w_(),calc:T_(),plot:A_(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:M_(),categories:["noOpacity"],meta:{}}}}),E_=m({"lib/parcats.js"(e,t){t.exports=S_()}}),C_=m({"src/plots/mapbox/constants.js"(e,t){var r=Ye(),n="1.13.4",i='© OpenStreetMap contributors',a=['© Carto',i].join(" "),o=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,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:a,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:a,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:o,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:o,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},l=r(s);t.exports={requiredVersion:n,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,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@"+n+"."].join("\n"),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("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),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("\n"),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\')'}}}}),I_=m({"src/plots/mapbox/layout_attributes.js"(e,t){var r=ct(),n=W().defaultLine,i=Ma().attributes,a=j(),o=kn().textposition,s=De().overrideAll,l=vt().templatedArray,c=C_(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:c.styleValuesMapbox.concat(c.styleValuesNonMapbox),dflt:c.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:l("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:n},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:n}},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:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),L_=m({"src/traces/scattermapbox/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=sg(),s=kn(),l=I_(),c=q(),u=zt(),h=B().extendFlat,f=De().overrideAll,p=I_(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.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:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),P_=m({"src/traces/scattermapbox/constants.js"(e,t){var r=["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"];t.exports={isSupportedFont:function(e){return-1!==r.indexOf(e)}}}}),z_=m({"src/traces/scattermapbox/defaults.js"(e,t){var r=ct(),n=Xt(),i=Yn(),a=Xn(),o=Kn(),s=Jn(),l=L_(),c=P_().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}var d=function(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,f);if(d){if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var m=t.marker;"circle"!==m.symbol&&(r.isArrayOrTypedArray(m.size)&&(m.size=m.size[0]),r.isArrayOrTypedArray(m.color)&&(m.color=m.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var g=p("cluster.maxzoom"),y=p("cluster.step"),v=p("cluster.color",t.marker&&t.marker.color||u),x=p("cluster.size"),_=p("cluster.opacity");if(f("cluster.enabled",!1!==g||!1!==y||!1!==v||!1!==x||!1!==_)||n.hasText(t)){var b=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(b)?b:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}else t.visible=!1}}}),D_=m({"src/traces/scattermapbox/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),O_=m({"src/plots/mapbox/convert_text_opts.js"(e,t){var r=ct();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),R_=m({"src/traces/scattermapbox/convert.js"(e,t){var r=M(),n=ct(),i=S().BADNUM,a=dg(),o=Yt(),s=er(),l=$t(),c=Xt(),u=P_().isSupportedFont,h=O_(),f=Kt().appendArrayPointValue,p=Et().NEWLINES,d=Et().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e){return e[0]===i}function x(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var i,u=t[0].trace,b=!0===u.visible&&0!==u._length,w="none"!==u.fill,T=c.hasLines(u),k=c.hasMarkers(u),A=c.hasText(u),M=k&&"circle"===u.marker.symbol,S=k&&"circle"!==u.marker.symbol,E=u.cluster&&u.cluster.enabled,C=m("fill"),I=m("line"),L=m("circle"),P=m("symbol"),z={fill:C,line:I,circle:L,symbol:P};if(!b)return z;if((w||T)&&(i=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(i),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":u.fillcolor})),T&&(I.geojson=a.makeLine(i),I.layout.visibility="visible",n.extendFlat(I.paint,{"line-width":u.line.width,"line-color":u.line.color,"line-opacity":u.opacity})),M){var D=function(e){var t,i,a,c,u=e[0].trace,h=u.marker,f=u.selectedpoints,p=n.isArrayOrTypedArray(h.color),d=n.isArrayOrTypedArray(h.size),m=n.isArrayOrTypedArray(h.opacity);function g(e){return u.opacity*e}p&&(i=o.hasColorscale(u,"marker")?o.makeColorScaleFuncFromTrace(h):n.identity),d&&(a=l(u)),m&&(c=function(e){return g(r(e)?+n.constrain(e,0,1):0)});var y,x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}function u(e){return e+"°"}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(e){return e.id}))}var v=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-v;if(r.getClosest(c,(function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([x,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),e),!1!==e.index){var _=c[e.index],b=_.lonlat,w=[n.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;e.x0=T-A,e.x1=T+A,e.y0=k-A,e.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=i(u,_),e.extraText=l(u,_,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),j_=m({"src/traces/scattermapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),N_=m({"src/traces/scattermapbox/select.js"(e,t){var r=ct(),n=Xt(),i=S().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a"u"&&(t=1e-6),i=e,o=0;o<8;o++){if(a=this.sampleCurveX(i)-e,Math.abs(a)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))};var a=o;function o(e,t){this.x=e,this.y=t}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},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(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,i=r*this.x+t*this.y;return this.x=n,this.y=i,this},_rotateAround:function(e,t){var r=Math.cos(e),n=Math.sin(e),i=t.x+r*(this.x-t.x)-n*(this.y-t.y),a=t.y+n*(this.x-t.x)+r*(this.y-t.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(e){return e instanceof o?e:Array.isArray(e)?new o(e[0],e[1]):e};var s=typeof self<"u"?self:{},l=Math.pow(2,53)-1;function c(e,t,r,i){var a=new n(e,t,r,i);return function(e){return a.solve(e)}}var u=c(.25,.1,.25,1);function h(e,t,r){return Math.min(r,Math.max(t,e))}function f(e,t,r){var n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function p(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function y(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function v(e,t){e.forEach((function(e){t[e]&&(t[e]=t[e].bind(t))}))}function x(e,t){return-1!==e.indexOf(t,e.length-t.length)}function _(e,t,r){var n={};for(var i in e)n[i]=t.call(r||this,e[i],i,e);return n}function b(e,t,r){var n={};for(var i in e)t.call(r||this,e[i],i,e)&&(n[i]=e[i]);return n}function w(e){return Array.isArray(e)?e.map(w):"object"==typeof e&&e?_(e,w):e}var T={};function k(e){T[e]||(typeof console<"u"&&console.warn(e),T[e]=!0)}function A(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function M(e){for(var t=0,r=0,n=e.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(e,r,n,i){var a=n||i;return t[r]=!a||a.toLowerCase(),""})),t["max-age"]){var r=parseInt(t["max-age"],10);isNaN(r)?delete t["max-age"]:t["max-age"]=r}return t}var C=null;function I(e){if(null==C){var t=e.navigator?e.navigator.userAgent:null;C=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return C}function L(e){try{var t=s[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch{return!1}}var P,z,D,O,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,j={now:R,frame:function(e){var t=F(e);return{cancel:function(){return B(t)}}},getImageData:function(e,t){void 0===t&&(t=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(-t,-t,e.width+2*t,e.height+2*t)},resolveURL:function(e){return P||(P=s.document.createElement("a")),P.href=e,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==z&&(z=s.matchMedia("(prefers-reduced-motion: reduce)")),z.matches)}},N={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"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},U={supported:!1,testSupport:function(e){V||!O||(q?H(e):D=e)}},V=!1,q=!1;function H(e){var t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,O),e.isContextLost())return;U.supported=!0}catch{}e.deleteTexture(t),V=!0}s.document&&((O=s.document.createElement("img")).onload=function(){D&&H(D),D=null,q=!0},O.onerror=function(){V=!0,D=null},O.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01",W=function(e,t){this._transformRequestFn=e,this._customAccessToken=t,this._createSkuToken()};function Z(e){return 0===e.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var e=function(){for(var e="",t=0;t<10;t++)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,e].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}},W.prototype.normalizeStyleURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeGlyphsURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeSourceURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeSpriteURL=function(e,t,r,n){var i=K(e);return Z(e)?(i.path="/styles/v1"+i.path+"/sprite"+t+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+t+r,J(i))},W.prototype.normalizeTileURL=function(e,t){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!Z(e))return e;var r=K(e),n=j.devicePixelRatio>=2||512===t?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(e){for(var t=0,r=e;t=0&&e.params.splice(i,1)}if("/"!==n.path&&(e.path=""+n.path+e.path),!N.REQUIRE_ACCESS_TOKEN)return J(e);if(!(t=t||N.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===t[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return e.params=e.params.filter((function(e){return-1===e.indexOf("access_token")})),e.params.push("access_token="+t),J(e)};var Y=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function X(e){return Y.test(e)}var $=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function K(e){var t=e.match($);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function J(e){var t=e.params.length?"?"+e.params.join("&"):"";return e.protocol+"://"+e.authority+e.path+t}var Q="mapbox.eventData";function ee(e){if(!e)return null;var t=e.split(".");if(!t||3!==t.length)return null;try{var r=JSON.parse(function(e){return decodeURIComponent(s.atob(e).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}(t[1]));return r}catch{return null}}var te=function(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};te.prototype.getStorageKey=function(e){var t,r=ee(N.ACCESS_TOKEN),n="";return r&&r.u?(t=r.u,n=s.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(+("0x"+t))})))):n=N.ACCESS_TOKEN||"",e?Q+"."+e+":"+n:Q+":"+n},te.prototype.fetchEventData=function(){var e=L("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{var n=s.localStorage.getItem(t);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch{k("Unable to read from LocalStorage")}},te.prototype.saveEventData=function(){var e=L("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(t,JSON.stringify(this.eventData))}catch{k("Unable to write to LocalStorage")}},te.prototype.processRequests=function(e){},te.prototype.postEvent=function(e,t,n,i){var a=this;if(N.EVENTS_URL){var o=K(N.EVENTS_URL);o.params.push("access_token="+(i||N.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(e).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=t?p(s,t):s,c={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=ke(c,(function(e){a.pendingRequest=null,n(e),a.saveEventData(),a.processRequests(i)}))}},te.prototype.queueRequest=function(e,t){this.queue.push(e),this.processRequests(t)};var re,ne,ie=function(e){function t(){e.call(this,"map.load"),this.success={},this.skuToken=""}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postMapLoadEvent=function(e,t,r,n){this.skuToken=r,(N.EVENTS_URL&&n||N.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return Z(e)||X(e)})))&&this.queueRequest({id:t,timestamp:Date.now()},n)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(e){e||n&&(t.success[n]=!0)}),e))}},t}(te),ae=function(e){function t(t){e.call(this,"appUserTurnstile"),this._customAccessToken=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postTurnstileEvent=function(e,t){N.EVENTS_URL&&N.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return Z(e)||X(e)}))&&this.queueRequest(Date.now(),t)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var r=ee(N.ACCESS_TOKEN),n=r?r.u:N.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(e){e||(t.eventData.lastSuccess=a,t.eventData.tokenU=n)}),e)}},t}(te),oe=new ae,se=oe.postTurnstileEvent.bind(oe),le=new ie,ce=le.postMapLoadEvent.bind(le),ue="mapbox-tiles",he=500,fe=50;function pe(){s.caches&&!re&&(re=s.caches.open(ue))}function de(e){var t=e.indexOf("?");return t<0?e:e.slice(0,t)}var me,ge=1/0;function ye(){return null==me&&(me=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),me}var ve={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ve);var xe=function(e){function t(t,r,n){401===r&&X(n)&&(t+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),e.call(this,t),this.status=r,this.url=n,this.name=this.constructor.name,this.message=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},t}(Error),_e=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function be(e,t){var r=new s.AbortController,n=new s.Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:_e(),signal:r.signal}),i=!1,a=!1,o=function(e){return e.indexOf("sku=")>0&&X(e)}(n.url);"json"===e.type&&n.headers.set("Accept","application/json");var l=function(r,i,l){if(!a){if(r&&"SecurityError"!==r.message&&k(r),i&&l)return c(i);var u=Date.now();s.fetch(n).then((function(r){if(r.ok){var n=o?r.clone():null;return c(r,n,u)}return t(new xe(r.statusText,r.status,e.url))})).catch((function(e){20!==e.code&&t(new Error(e.message))}))}},c=function(r,o,l){("arrayBuffer"===e.type?r.arrayBuffer():"json"===e.type?r.json():r.text()).then((function(e){a||(o&&l&&function(e,t,r){if(pe(),re){var n={status:t.status,statusText:t.statusText,headers:new s.Headers};t.headers.forEach((function(e,t){return n.headers.set(t,e)}));var i=E(t.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(e,t){if(void 0===ne)try{new Response(new ReadableStream),ne=!0}catch{ne=!1}ne?t(e.body):e.blob().then(t)}(t,(function(t){var r=new s.Response(t,n);pe(),re&&re.then((function(t){return t.put(de(e.url),r)})).catch((function(e){return k(e.message)}))})))}}(n,o,l),i=!0,t(null,e,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(e){a||t(new Error(e.message))}))};return o?function(e,t){if(pe(),!re)return t(null);var r=de(e.url);re.then((function(e){e.match(r).then((function(n){var i=function(e){if(!e)return!1;var t=new Date(e.headers.get("Expires")||0),r=E(e.headers.get("Cache-Control")||"");return t>Date.now()&&!r["no-cache"]}(n);e.delete(r),i&&e.put(r,n.clone()),t(null,n,i)})).catch(t)})).catch(t)}(n,l):l(null,null),{cancel:function(){a=!0,i||r.abort()}}}var we=function(e,t){if(!function(e){return/^file:/.test(e)||/^file:/.test(_e())&&!/^\w+:/.test(e)}(e.url)){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return be(e,t);if(S()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}return function(e,t){var r=new s.XMLHttpRequest;for(var n in r.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(r.responseType="arraybuffer"),e.headers)r.setRequestHeader(n,e.headers[n]);return"json"===e.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===e.credentials,r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===e.type)try{n=JSON.parse(r.response)}catch(e){return t(e)}t(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else t(new xe(r.statusText,r.status,e.url))},r.send(e.body),{cancel:function(){return r.abort()}}}(e,t)},Te=function(e,t){return we(p(e,{type:"arrayBuffer"}),t)},ke=function(e,t){return we(p(e,{method:"POST"}),t)};function Ae(e){var t=s.document.createElement("a");return t.href=e,t.protocol===s.document.location.protocol&&t.host===s.document.location.host}var Me,Se,Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Me=[],Se=0;var Ce=function(e,t){if(U.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),Se>=N.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:e,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}};return Me.push(r),r}Se++;var n=!1,i=function(){if(!n)for(n=!0,Se--;Me.length&&Se0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},De.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this};var Oe={$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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{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"}},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"],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"}},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":{},within:{}}},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}},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"}}},Re=function(e,t,r,n){this.message=(e?e+": ":"")+r,n&&(this.identifier=n),null!=t&&t.__line__&&(this.line=t.__line__)};function Fe(e){var t=e.key,r=e.value;return r?[new Re(t,r,"constants have been deprecated as of v8")]:[]}function Be(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n":"value"===e.itemType.kind?"array":"array<"+t+">"}return e.kind}var tt=[qe,He,Ge,We,Ze,Ke,Ye,Qe(Xe),Je];function rt(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!rt(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(var r=0,n=tt;r255?255:e}function i(e){return e<0?0:e>1?1:e}function a(e){return"%"===e[e.length-1]?n(parseFloat(e)/100*255):n(parseInt(e))}function o(e){return"%"===e[e.length-1]?i(parseFloat(e)/100):i(parseFloat(e))}function s(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}try{t.parseCSSColor=function(e){var t,i=e.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),h=i.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f];default:return null}}return null}}catch{}})).parseCSSColor,ot=function(e,t,r,n){void 0===n&&(n=1),this.r=e,this.g=t,this.b=r,this.a=n};ot.parse=function(e){if(e){if(e instanceof ot)return e;if("string"==typeof e){var t=at(e);if(t)return new ot(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}},ot.prototype.toString=function(){var e=this.toArray(),t=e[0],r=e[1],n=e[2],i=e[3];return"rgba("+Math.round(t)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ot.prototype.toArray=function(){var e=this,t=e.r,r=e.g,n=e.b,i=e.a;return 0===i?[0,0,0,0]:[255*t/i,255*r/i,255*n/i,i]},ot.black=new ot(0,0,0,1),ot.white=new ot(1,1,1,1),ot.transparent=new ot(0,0,0,0),ot.red=new ot(1,0,0,1);var st=function(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};st.prototype.compare=function(e,t){return this.collator.compare(e,t)},st.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var lt=function(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i},ct=function(e){this.sections=e};ct.fromString=function(e){return new ct([new lt(e,null,null,null,null)])},ct.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(e){return 0!==e.text.length||e.image&&0!==e.image.name.length}))},ct.factory=function(e){return e instanceof ct?e:ct.fromString(e)},ct.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(e){return e.text})).join("")},ct.prototype.serialize=function(){for(var e=["format"],t=0,r=this.sections;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?typeof n>"u"||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[e,t,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ft(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof ot)return!0;if(e instanceof st)return!0;if(e instanceof ct)return!0;if(e instanceof ut)return!0;if(Array.isArray(e)){for(var t=0,r=e;t2){var s=e[1];if("string"!=typeof s||!(s in yt)||"object"===s)return t.error('The item type argument of "array" must be one of string, number, boolean',1);a=yt[s],n++}else a=Xe;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],n++}r=Qe(a,o)}else r=yt[i];for(var l=[];n1)&&t.push(n)}}return t.concat(this.args.map((function(e){return e.serialize()})))};var xt=function(e){this.type=Ke,this.sections=e};xt.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=e.length-1;++a){var o=e[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=t.parse(o["font-scale"],1,He)))return null;var l=null;if(o["text-font"]&&!(l=t.parse(o["text-font"],1,Qe(Ge))))return null;var c=null;if(o["text-color"]&&!(c=t.parse(o["text-color"],1,Ze)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=t.parse(e[a],1,Xe);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new xt(n)},xt.prototype.evaluate=function(e){return new ct(this.sections.map((function(t){var r=t.content.evaluate(e);return pt(r)===Je?new lt("",r,null,null,null):new lt(dt(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))},xt.prototype.eachChild=function(e){for(var t=0,r=this.sections;t-1),r},_t.prototype.eachChild=function(e){e(this.input)},_t.prototype.outputDefined=function(){return!1},_t.prototype.serialize=function(){return["image",this.input.serialize()]};var bt={"to-boolean":We,"to-color":Ze,"to-number":He,"to-string":Ge},wt=function(e,t){this.type=e,this.args=t};wt.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[0];if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");for(var n=bt[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":ht(t[0],t[1],t[2],t[3])))return new ot(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new gt(r||"Could not parse color from value '"+("string"==typeof t?t:String(JSON.stringify(t)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=t[2]||e[1]<=t[1]||e[3]>=t[3])}function It(e,t){var r=function(e){return(180+e)/360}(e[0]),n=function(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}(e[1]),i=Math.pow(2,t.z);return[Math.round(r*i*St),Math.round(n*i*St)]}function Lt(e,t,r){var n=e[0]-t[0],i=e[1]-t[1],a=e[0]-r[0],o=e[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function Pt(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function zt(e,t){for(var r=!1,n=0,i=t.length;n0&&h<0||u<0&&h>0}function Rt(e,t,r,n){var i=[t[0]-e[0],t[1]-e[1]];return 0!==function(e,t){return e[0]*t[1]-e[1]*t[0]}([n[0]-r[0],n[1]-r[1]],i)&&!(!Ot(e,t,r,n)||!Ot(r,n,e,t))}function Ft(e,t,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=e[0]-r[0]>i?-n:r[0]-e[0]>i?n:0;0===a&&(a=e[0]-r[2]>i?-n:r[2]-e[0]>i?n:0),e[0]+=a}Et(t,e)}function qt(e,t,r,n){for(var i=Math.pow(2,n.z)*St,a=[n.x*St,n.y*St],o=[],s=0,l=e;s=0)return!1;var r=!0;return e.eachChild((function(e){r&&!Yt(e,t)&&(r=!1)})),r}Gt.parse=function(e,t){if(2!==e.length)return t.error("'within' expression requires exactly one argument, but found "+(e.length-1)+" instead.");if(ft(e[1])){var r=e[1];if("FeatureCollection"===r.type)for(var n=0;nt))throw new gt("Input is not a number.");o=s-1}return 0}$t.prototype.parse=function(e,t,r,n,i){return void 0===i&&(i={}),t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)},$t.prototype._parse=function(e,t){function r(e,t,r){return"assert"===r?new vt(t,[e]):"coerce"===r?new wt(t,[e]):e}if((null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e)&&(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=e[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(e,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,t.typeAnnotation||"coerce");else a=r(a,o,t.typeAnnotation||"assert")}if(!(a instanceof mt)&&"resolvedImage"!==a.type.kind&&Kt(a)){var l=new kt;try{a=new mt(a.type,a.evaluate(l))}catch(e){return this.error(e.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return typeof e>"u"?this.error("'undefined' value invalid. Use null instead."):"object"==typeof e?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof e+" instead.")},$t.prototype.concat=function(e,t,r){var n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new $t(this.registry,n,t||null,i,this.errors)},$t.prototype.error=function(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];var n=""+this.key+t.map((function(e){return"["+e+"]"})).join("");this.errors.push(new Ue(n,e))},$t.prototype.checkSubtype=function(e,t){var r=rt(e,t);return r&&this.error(r),r};var Qt=function(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=t.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new Qt(i,r,n)},Qt.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[Jt(t,n)].evaluate(e)},Qt.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e};var tr=Object.freeze({__proto__:null,number:er,color:function(e,t,r){return new ot(er(e.r,t.r,r),er(e.g,t.g,r),er(e.b,t.b,r),er(e.a,t.a,r))},array:function(e,t,r){return e.map((function(e,n){return er(e,t[n],r)}))}}),rr=.95047,nr=1.08883,ir=4/29,ar=6/29,or=3*ar*ar,sr=ar*ar*ar,lr=Math.PI/180,cr=180/Math.PI;function ur(e){return e>sr?Math.pow(e,1/3):e/or+ir}function hr(e){return e>ar?e*e*e:or*(e-ir)}function fr(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function pr(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function dr(e){var t=pr(e.r),r=pr(e.g),n=pr(e.b),i=ur((.4124564*t+.3575761*r+.1804375*n)/rr),a=ur((.2126729*t+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-ur((.0193339*t+.119192*r+.9503041*n)/nr)),alpha:e.a}}function mr(e){var t=(e.l+16)/116,r=isNaN(e.a)?t:t+e.a/500,n=isNaN(e.b)?t:t-e.b/200;return t=1*hr(t),r=rr*hr(r),n=nr*hr(n),new ot(fr(3.2404542*r-1.5371385*t-.4985314*n),fr(-.969266*r+1.8760108*t+.041556*n),fr(.0556434*r-.2040259*t+1.0572252*n),e.alpha)}function gr(e,t,r){var n=t-e;return e+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var yr={forward:dr,reverse:mr,interpolate:function(e,t,r){return{l:er(e.l,t.l,r),a:er(e.a,t.a,r),b:er(e.b,t.b,r),alpha:er(e.alpha,t.alpha,r)}}},vr={forward:function(e){var t=dr(e),r=t.l,n=t.a,i=t.b,a=Math.atan2(i,n)*cr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:e.a}},reverse:function(e){var t=e.h*lr,r=e.c;return mr({l:e.l,a:Math.cos(t)*r,b:Math.sin(t)*r,alpha:e.alpha})},interpolate:function(e,t,r){return{h:gr(e.h,t.h,r),c:er(e.c,t.c,r),l:er(e.l,t.l,r),alpha:er(e.alpha,t.alpha,r)}}},xr=Object.freeze({__proto__:null,lab:yr,hcl:vr}),_r=function(e,t,r,n,i){this.type=e,this.operator=t,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(e.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(i=t.parse(i,2,He)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ze:t.expectedType&&"value"!==t.expectedType.kind&&(c=t.expectedType);for(var u=0;u=h)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var m=t.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new _r(c,r,n,i,l):t.error("Type "+et(c)+" is not interpolatable.")},_r.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);var a=Jt(t,n),o=t[a],s=t[a+1],l=_r.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(e),u=r[a+1].evaluate(e);return"interpolate"===this.operator?tr[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?vr.reverse(vr.interpolate(vr.forward(c),vr.forward(u),l)):yr.reverse(yr.interpolate(yr.forward(c),yr.forward(u),l))},_r.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t=r.length)throw new gt("Array index out of bounds: "+t+" > "+(r.length-1)+".");if(t!==Math.floor(t))throw new gt("Array index must be an integer, but found "+t+" instead.");return r[t]},kr.prototype.eachChild=function(e){e(this.index),e(this.input)},kr.prototype.outputDefined=function(){return!1},kr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Ar=function(e,t){this.type=We,this.needle=e,this.haystack=t};Ar.parse=function(e,t){if(3!==e.length)return t.error("Expected 2 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,Xe);return r&&n?nt(r.type,[We,Ge,He,qe,Xe])?new Ar(r,n):t.error("Expected first argument to be of type boolean, string, number or null, but found "+et(r.type)+" instead"):null},Ar.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!it(t,["boolean","string","number","null"]))throw new gt("Expected first argument to be of type boolean, string, number or null, but found "+et(pt(t))+" instead.");if(!it(r,["string","array"]))throw new gt("Expected second argument to be of type array or string, but found "+et(pt(r))+" instead.");return r.indexOf(t)>=0},Ar.prototype.eachChild=function(e){e(this.needle),e(this.haystack)},Ar.prototype.outputDefined=function(){return!0},Ar.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Mr=function(e,t,r){this.type=He,this.needle=e,this.haystack=t,this.fromIndex=r};Mr.parse=function(e,t){if(e.length<=2||e.length>=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,Xe);if(!r||!n)return null;if(!nt(r.type,[We,Ge,He,qe,Xe]))return t.error("Expected first argument to be of type boolean, string, number or null, but found "+et(r.type)+" instead");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Mr(r,n,i):null}return new Mr(r,n)},Mr.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!it(t,["boolean","string","number","null"]))throw new gt("Expected first argument to be of type boolean, string, number or null, but found "+et(pt(t))+" instead.");if(!it(r,["string","array"]))throw new gt("Expected second argument to be of type array or string, but found "+et(pt(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(e);return r.indexOf(t,n)}return r.indexOf(t)},Mr.prototype.eachChild=function(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Sr=function(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Sr.parse=function(e,t){if(e.length<5)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if(e.length%2!=1)return t.error("Expected an even number of arguments.");var r,n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,pt(f)))return null}else r=pt(f);if(typeof i[String(f)]<"u")return c.error("Branch labels must be unique.");i[String(f)]=a.length}var p=t.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=t.parse(e[1],1,Xe);if(!d)return null;var m=t.parse(e[e.length-1],e.length-1,n);return!m||"value"!==d.type.kind&&t.concat(1).checkSubtype(r,d.type)?null:new Sr(r,n,d,i,a,m)},Sr.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(pt(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Sr.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},Sr.prototype.outputDefined=function(){return this.outputs.every((function(e){return e.outputDefined()}))&&this.otherwise.outputDefined()},Sr.prototype.serialize=function(){for(var e=this,t=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,He);if(!r||!n)return null;if(!nt(r.type,[Qe(Xe),Ge,Xe]))return t.error("Expected first argument to be of type array or string, but found "+et(r.type)+" instead");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Cr(r.type,r,n,i):null}return new Cr(r.type,r,n)},Cr.prototype.evaluate=function(e){var t=this.input.evaluate(e),r=this.beginIndex.evaluate(e);if(!it(t,["string","array"]))throw new gt("Expected first argument to be of type array or string, but found "+et(pt(t))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(e);return t.slice(r,n)}return t.slice(r)},Cr.prototype.eachChild=function(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)},Cr.prototype.outputDefined=function(){return!1},Cr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var zr=Pr("==",(function(e,t,r){return t===r}),Lr),Dr=Pr("!=",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!Lr(0,t,r,n)})),Or=Pr("<",(function(e,t,r){return t",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),Fr=Pr("<=",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Br=Pr(">=",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0})),jr=function(e,t,r,n,i){this.type=Ge,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};jr.parse=function(e,t){if(3!==e.length)return t.error("Expected two arguments.");var r=t.parse(e[1],1,He);if(!r)return null;var n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=t.parse(n.locale,1,Ge)))return null;var a=null;if(n.currency&&!(a=t.parse(n.currency,1,Ge)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=t.parse(n["min-fraction-digits"],1,He)))return null;var s=null;return n["max-fraction-digits"]&&!(s=t.parse(n["max-fraction-digits"],1,He))?null:new jr(r,i,a,o,s)},jr.prototype.evaluate=function(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))},jr.prototype.eachChild=function(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)},jr.prototype.outputDefined=function(){return!1},jr.prototype.serialize=function(){var e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]};var Nr=function(e){this.type=He,this.input=e};Nr.parse=function(e,t){if(2!==e.length)return t.error("Expected 1 argument, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error("Expected argument of type string or array, but found "+et(r.type)+" instead."):new Nr(r):null},Nr.prototype.evaluate=function(e){var t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new gt("Expected value to be of type string or array, but found "+et(pt(t))+" instead.")},Nr.prototype.eachChild=function(e){e(this.input)},Nr.prototype.outputDefined=function(){return!1},Nr.prototype.serialize=function(){var e=["length"];return this.eachChild((function(t){e.push(t.serialize())})),e};var Ur={"==":zr,"!=":Dr,">":Rr,"<":Or,">=":Br,"<=":Fr,array:vt,at:kr,boolean:vt,case:Er,coalesce:wr,collator:Mt,format:xt,image:_t,in:Ar,"index-of":Mr,interpolate:_r,"interpolate-hcl":_r,"interpolate-lab":_r,length:Nr,let:Tr,literal:mt,match:Sr,number:vt,"number-format":jr,object:vt,slice:Cr,step:Qt,string:vt,"to-boolean":wt,"to-color":wt,"to-number":wt,"to-string":wt,var:Xt,within:Gt};function Vr(e,t){var r=t[0],n=t[1],i=t[2],a=t[3];r=r.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);var o=a?a.evaluate(e):1,s=ht(r,n,i,o);if(s)throw new gt(s);return new ot(r/255*o,n/255*o,i/255*o,o)}function qr(e,t){return e in t}function Hr(e,t){var r=t[e];return typeof r>"u"?null:r}function Gr(e){return{type:e}}function Wr(e){return{result:"success",value:e}}function Zr(e){return{result:"error",value:e}}function Yr(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function Xr(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function $r(e){return!!e.expression&&e.expression.interpolated}function Kr(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function Jr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Qr(e){return e}function en(e,t){var r,n,i,a="color"===t.type,o=e.stops&&"object"==typeof e.stops[0][0],s=o||void 0!==e.property,l=o||!s,c=e.type||($r(t)?"exponential":"interval");if(a&&((e=Be({},e)).stops&&(e.stops=e.stops.map((function(e){return[e[0],ot.parse(e[1])]}))),e.default?e.default=ot.parse(e.default):e.default=ot.parse(t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!xr[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===c)r=an;else if("interval"===c)r=nn;else if("categorical"===c){r=rn,n=Object.create(null);for(var u=0,h=e.stops;u=e.stops[n-1][0])return e.stops[n-1][1];var i=Jt(e.stops.map((function(e){return e[0]})),r);return e.stops[i][1]}function an(e,t,r){var n=void 0!==e.base?e.base:1;if("number"!==Kr(r))return tn(e.default,t.default);var i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];var a=Jt(e.stops.map((function(e){return e[0]})),r),o=function(e,t,r,n){var i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=tr[t.type]||Qr;if(e.colorSpace&&"rgb"!==e.colorSpace){var u=xr[e.colorSpace];c=function(e,t){return u.reverse(u.interpolate(u.forward(e),u.forward(t),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function on(e,t,r){return"color"===t.type?r=ot.parse(r):"formatted"===t.type?r=ct.fromString(r.toString()):"resolvedImage"===t.type?r=ut.fromString(r.toString()):Kr(r)!==t.type&&("enum"!==t.type||!t.values[r])&&(r=void 0),tn(r,e.default,t.default)}At.register(Ur,{error:[{kind:"error"},[Ge],function(e,t){var r=t[0];throw new gt(r.evaluate(e))}],typeof:[Ge,[Xe],function(e,t){return et(pt(t[0].evaluate(e)))}],"to-rgba":[Qe(He,4),[Ze],function(e,t){return t[0].evaluate(e).toArray()}],rgb:[Ze,[He,He,He],Vr],rgba:[Ze,[He,He,He,He],Vr],has:{type:We,overloads:[[[Ge],function(e,t){return qr(t[0].evaluate(e),e.properties())}],[[Ge,Ye],function(e,t){var r=t[0],n=t[1];return qr(r.evaluate(e),n.evaluate(e))}]]},get:{type:Xe,overloads:[[[Ge],function(e,t){return Hr(t[0].evaluate(e),e.properties())}],[[Ge,Ye],function(e,t){var r=t[0],n=t[1];return Hr(r.evaluate(e),n.evaluate(e))}]]},"feature-state":[Xe,[Ge],function(e,t){return Hr(t[0].evaluate(e),e.featureState||{})}],properties:[Ye,[],function(e){return e.properties()}],"geometry-type":[Ge,[],function(e){return e.geometryType()}],id:[Xe,[],function(e){return e.id()}],zoom:[He,[],function(e){return e.globals.zoom}],"heatmap-density":[He,[],function(e){return e.globals.heatmapDensity||0}],"line-progress":[He,[],function(e){return e.globals.lineProgress||0}],accumulated:[Xe,[],function(e){return void 0===e.globals.accumulated?null:e.globals.accumulated}],"+":[He,Gr(He),function(e,t){for(var r=0,n=0,i=t;n":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[We,[Xe],function(e,t){return t[0].value in e.properties()}],"filter-has-id":[We,[],function(e){return null!==e.id()&&void 0!==e.id()}],"filter-type-in":[We,[Qe(Ge)],function(e,t){return t[0].value.indexOf(e.geometryType())>=0}],"filter-id-in":[We,[Qe(Xe)],function(e,t){return t[0].value.indexOf(e.id())>=0}],"filter-in-small":[We,[Ge,Qe(Xe)],function(e,t){var r=t[0];return t[1].value.indexOf(e.properties()[r.value])>=0}],"filter-in-large":[We,[Ge,Qe(Xe)],function(e,t){var r=t[0],n=t[1];return function(e,t,r,n){for(;r<=n;){var i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:We,overloads:[[[We,We],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)&&n.evaluate(e)}],[Gr(We),function(e,t){for(var r=0,n=t;r0&&"string"==typeof e[0]&&e[0]in Ur}function cn(e,t){var r=new $t(Ur,[],t?function(e){var t={color:Ze,string:Ge,number:He,enum:Ge,boolean:We,formatted:Ke,resolvedImage:Je};return"array"===e.type?Qe(t[e.value]||Xe,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?Wr(new sn(n,t)):Zr(r.errors)}sn.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},sn.prototype.evaluate=function(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new gt("Expected value to be one of "+Object.keys(this._enumValues).map((function(e){return JSON.stringify(e)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<"u"&&console.warn(e.message)),this._defaultValue}};var un=function(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!Zt(t.expression)};un.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},un.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)};var hn=function(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!Zt(t.expression),this.interpolationType=n};function fn(e,t){if("error"===(e=cn(e,t)).result)return e;var r=e.value.expression,n=Wt(r);if(!n&&!Yr(t))return Zr([new Ue("","data expressions not supported")]);var i=Yt(r,["zoom"]);if(!i&&!Xr(t))return Zr([new Ue("","zoom expressions not supported")]);var a=dn(r);if(!a&&!i)return Zr([new Ue("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Ue)return Zr([a]);if(a instanceof _r&&!$r(t))return Zr([new Ue("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Wr(new un(n?"constant":"source",e.value));var o=a instanceof _r?a.interpolation:void 0;return Wr(new hn(n?"camera":"composite",e.value,a.labels,o))}hn.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},hn.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)},hn.prototype.interpolationFactor=function(e,t,r){return this.interpolationType?_r.interpolationFactor(this.interpolationType,e,t,r):0};var pn=function(e,t){this._parameters=e,this._specification=t,Be(this,en(this._parameters,this._specification))};function dn(e){var t=null;if(e instanceof Tr)t=dn(e.result);else if(e instanceof wr)for(var r=0,n=e.args;rn.maximum?[new Re(t,r,r+" is greater than the maximum value "+n.maximum)]:[]}function vn(e){var t,r,n,i=e.valueSpec,a=je(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l=!s,c="array"===Kr(e.value.stops)&&"array"===Kr(e.value.stops[0])&&"object"===Kr(e.value.stops[0][0]),u=mn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new Re(e.key,e.value,'identity function may not have a "stops" property')];var t=[],r=e.value;return t=t.concat(gn({key:e.key,value:r,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:h})),"array"===Kr(r)&&0===r.length&&t.push(new Re(e.key,r,"array must have at least one stop")),t},default:function(e){return Vn({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&u.push(new Re(e.key,e.value,'missing required property "property"')),"identity"!==a&&!e.value.stops&&u.push(new Re(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!$r(e.valueSpec)&&u.push(new Re(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!Yr(e.valueSpec)?u.push(new Re(e.key,e.value,"property functions not supported")):s&&!Xr(e.valueSpec)&&u.push(new Re(e.key,e.value,"zoom functions not supported"))),("categorical"===a||c)&&void 0===e.value.property&&u.push(new Re(e.key,e.value,'"property" property is required')),u;function h(e){var t=[],a=e.value,s=e.key;if("array"!==Kr(a))return[new Re(s,a,"array expected, "+Kr(a)+" found")];if(2!==a.length)return[new Re(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==Kr(a[0]))return[new Re(s,a,"object expected, "+Kr(a[0])+" found")];if(void 0===a[0].zoom)return[new Re(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Re(s,a,"object stop key must have value")];if(n&&n>je(a[0].zoom))return[new Re(s,a[0].zoom,"stop zoom values must appear in ascending order")];je(a[0].zoom)!==n&&(n=je(a[0].zoom),r=void 0,o={}),t=t.concat(mn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:yn,value:f}}))}else t=t.concat(f({key:s+"[0]",value:a[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},a));return ln(Ne(a[1]))?t.concat([new Re(s+"[1]",a[1],"expressions are not allowed in function stops.")]):t.concat(Vn({key:s+"[1]",value:a[1],valueSpec:i,style:e.style,styleSpec:e.styleSpec}))}function f(e,n){var s=Kr(e.value),l=je(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new Re(e.key,c,s+" stop domain type must match previous stop domain type "+t)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Re(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return Yr(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Re(e.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(var t=0,r=e.slice(1);tt?1:0}function An(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(var t=1;t"===t||"<="===t||">="===t?Sn(e[1],e[2],t):"any"===t?function(e){return["any"].concat(e.map(Mn))}(e.slice(1)):"all"===t?["all"].concat(e.slice(1).map(Mn)):"none"===t?["all"].concat(e.slice(1).map(Mn).map(In)):"in"===t?En(e[1],e.slice(2)):"!in"===t?In(En(e[1],e.slice(2))):"has"===t?Cn(e[1]):"!has"===t?In(Cn(e[1])):"within"!==t||e}function Sn(e,t,r){switch(e){case"$type":return["filter-type-"+r,t];case"$id":return["filter-id-"+r,t];default:return["filter-"+r,e,t]}}function En(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((function(e){return typeof e!=typeof t[0]}))?["filter-in-large",e,["literal",t.sort(kn)]]:["filter-in-small",e,["literal",t]]}}function Cn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function In(e){return["!",e]}function Ln(e){return bn(Ne(e.value))?xn(Be({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Pn(e)}function Pn(e){var t=e.value,r=e.key;if("array"!==Kr(t))return[new Re(r,t,"array expected, "+Kr(t)+" found")];var n,i=e.styleSpec,a=[];if(t.length<1)return[new Re(r,t,"filter array must have at least 1 element")];switch(a=a.concat(_n({key:r+"[0]",value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),je(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===je(t[1])&&a.push(new Re(r,t,'"$type" cannot be use with operator "'+t[0]+'"'));case"==":case"!=":3!==t.length&&a.push(new Re(r,t,'filter array for operator "'+t[0]+'" must have 3 elements'));case"in":case"!in":t.length>=2&&"string"!==(n=Kr(t[1]))&&a.push(new Re(r+"[1]",t[1],"string expected, "+n+" found"));for(var o=2;o=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},ei.prototype._forEachCell=function(e,t,r,n,i,a,o,s){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,e,t,r,n,d,a,o,s))return}},ei.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},ei.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},ei.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=Qn+this.cells.length+1+1,r=0,n=0;n=0)){var h=e[u];c[u]=ni[l].shallow.indexOf(u)>=0?h:li(h,t)}e instanceof Error&&(c.message=e.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof e)}function ci(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||oi(e)||si(e)||ArrayBuffer.isView(e)||e instanceof ti)return e;if(Array.isArray(e))return e.map(ci);if("object"==typeof e){var t=e.$name||"Object",r=ni[t].klass;if(!r)throw new Error("can't deserialize unregistered class "+t);if(r.deserialize)return r.deserialize(e);for(var n=Object.create(r.prototype),i=0,a=Object.keys(e);i=0?s:ci(s)}}return n}throw new Error("can't deserialize object of type "+typeof e)}var ui=function(){this.first=!0};ui.prototype.update=function(e,t){var r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom=128&&e<=255},Arabic:function(e){return e>=1536&&e<=1791},"Arabic Supplement":function(e){return e>=1872&&e<=1919},"Arabic Extended-A":function(e){return e>=2208&&e<=2303},"Hangul Jamo":function(e){return e>=4352&&e<=4607},"Unified Canadian Aboriginal Syllabics":function(e){return e>=5120&&e<=5759},Khmer:function(e){return e>=6016&&e<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(e){return e>=6320&&e<=6399},"General Punctuation":function(e){return e>=8192&&e<=8303},"Letterlike Symbols":function(e){return e>=8448&&e<=8527},"Number Forms":function(e){return e>=8528&&e<=8591},"Miscellaneous Technical":function(e){return e>=8960&&e<=9215},"Control Pictures":function(e){return e>=9216&&e<=9279},"Optical Character Recognition":function(e){return e>=9280&&e<=9311},"Enclosed Alphanumerics":function(e){return e>=9312&&e<=9471},"Geometric Shapes":function(e){return e>=9632&&e<=9727},"Miscellaneous Symbols":function(e){return e>=9728&&e<=9983},"Miscellaneous Symbols and Arrows":function(e){return e>=11008&&e<=11263},"CJK Radicals Supplement":function(e){return e>=11904&&e<=12031},"Kangxi Radicals":function(e){return e>=12032&&e<=12255},"Ideographic Description Characters":function(e){return e>=12272&&e<=12287},"CJK Symbols and Punctuation":function(e){return e>=12288&&e<=12351},Hiragana:function(e){return e>=12352&&e<=12447},Katakana:function(e){return e>=12448&&e<=12543},Bopomofo:function(e){return e>=12544&&e<=12591},"Hangul Compatibility Jamo":function(e){return e>=12592&&e<=12687},Kanbun:function(e){return e>=12688&&e<=12703},"Bopomofo Extended":function(e){return e>=12704&&e<=12735},"CJK Strokes":function(e){return e>=12736&&e<=12783},"Katakana Phonetic Extensions":function(e){return e>=12784&&e<=12799},"Enclosed CJK Letters and Months":function(e){return e>=12800&&e<=13055},"CJK Compatibility":function(e){return e>=13056&&e<=13311},"CJK Unified Ideographs Extension A":function(e){return e>=13312&&e<=19903},"Yijing Hexagram Symbols":function(e){return e>=19904&&e<=19967},"CJK Unified Ideographs":function(e){return e>=19968&&e<=40959},"Yi Syllables":function(e){return e>=40960&&e<=42127},"Yi Radicals":function(e){return e>=42128&&e<=42191},"Hangul Jamo Extended-A":function(e){return e>=43360&&e<=43391},"Hangul Syllables":function(e){return e>=44032&&e<=55215},"Hangul Jamo Extended-B":function(e){return e>=55216&&e<=55295},"Private Use Area":function(e){return e>=57344&&e<=63743},"CJK Compatibility Ideographs":function(e){return e>=63744&&e<=64255},"Arabic Presentation Forms-A":function(e){return e>=64336&&e<=65023},"Vertical Forms":function(e){return e>=65040&&e<=65055},"CJK Compatibility Forms":function(e){return e>=65072&&e<=65103},"Small Form Variants":function(e){return e>=65104&&e<=65135},"Arabic Presentation Forms-B":function(e){return e>=65136&&e<=65279},"Halfwidth and Fullwidth Forms":function(e){return e>=65280&&e<=65519}};function fi(e){for(var t=0,r=e;t=65097&&e<=65103)||hi["CJK Compatibility Ideographs"](e)||hi["CJK Compatibility"](e)||hi["CJK Radicals Supplement"](e)||hi["CJK Strokes"](e)||hi["CJK Symbols and Punctuation"](e)&&!(e>=12296&&e<=12305)&&!(e>=12308&&e<=12319)&&12336!==e||hi["CJK Unified Ideographs Extension A"](e)||hi["CJK Unified Ideographs"](e)||hi["Enclosed CJK Letters and Months"](e)||hi["Hangul Compatibility Jamo"](e)||hi["Hangul Jamo Extended-A"](e)||hi["Hangul Jamo Extended-B"](e)||hi["Hangul Jamo"](e)||hi["Hangul Syllables"](e)||hi.Hiragana(e)||hi["Ideographic Description Characters"](e)||hi.Kanbun(e)||hi["Kangxi Radicals"](e)||hi["Katakana Phonetic Extensions"](e)||hi.Katakana(e)&&12540!==e||!(!hi["Halfwidth and Fullwidth Forms"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!hi["Small Form Variants"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||hi["Unified Canadian Aboriginal Syllabics"](e)||hi["Unified Canadian Aboriginal Syllabics Extended"](e)||hi["Vertical Forms"](e)||hi["Yijing Hexagram Symbols"](e)||hi["Yi Syllables"](e)||hi["Yi Radicals"](e))}function gi(e){return!(mi(e)||function(e){return!!(hi["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||hi["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||hi["Letterlike Symbols"](e)||hi["Number Forms"](e)||hi["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||hi["Control Pictures"](e)&&9251!==e||hi["Optical Character Recognition"](e)||hi["Enclosed Alphanumerics"](e)||hi["Geometric Shapes"](e)||hi["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||hi["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||hi["CJK Symbols and Punctuation"](e)||hi.Katakana(e)||hi["Private Use Area"](e)||hi["CJK Compatibility Forms"](e)||hi["Small Form Variants"](e)||hi["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function yi(e){return hi.Arabic(e)||hi["Arabic Supplement"](e)||hi["Arabic Extended-A"](e)||hi["Arabic Presentation Forms-A"](e)||hi["Arabic Presentation Forms-B"](e)}function vi(e){return e>=1424&&e<=2303||hi["Arabic Presentation Forms-A"](e)||hi["Arabic Presentation Forms-B"](e)}function xi(e,t){return!(!t&&vi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||hi.Khmer(e))}function _i(e){for(var t=0,r=e;t-1&&(Ai="error"),ki&&ki(e)};function Ei(){Ci.fire(new Pe("pluginStateChange",{pluginStatus:Ai,pluginURL:Mi}))}var Ci=new De,Ii=function(){return Ai},Li=function(){if(Ai!==bi||!Mi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Ai=wi,Ei(),Mi&&Te({url:Mi},(function(e){e?Si(e):(Ai=Ti,Ei())}))},Pi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Ai===Ti||null!=Pi.applyArabicShaping},isLoading:function(){return Ai===wi},setState:function(e){Ai=e.pluginStatus,Mi=e.pluginURL},isParsed:function(){return null!=Pi.applyArabicShaping&&null!=Pi.processBidirectionalText&&null!=Pi.processStyledBidirectionalText},getPluginURL:function(){return Mi}},zi=function(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ui,this.transition={})};zi.prototype.isSupportedScript=function(e){return function(e,t){for(var r=0,n=e;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}};var Di=function(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Jr(e))return new pn(e,t);if(ln(e)){var r=fn(e,t);if("error"===r.result)throw new Error(r.value.map((function(e){return e.key+": "+e.message})).join(", "));return r.value}var n=e;return"string"==typeof e&&"color"===t.type&&(n=ot.parse(e)),{kind:"constant",evaluate:function(){return n}}}(void 0===t?e.specification.default:t,e.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)};var Oi=function(e){this.property=e,this.value=new Di(e,void 0)};Oi.prototype.transitioned=function(e,t){return new Fi(this.property,this.value,t,p({},e.transition,this.transition),e.now)},Oi.prototype.untransitioned=function(){return new Fi(this.property,this.value,null,{},0)};var Ri=function(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)};Ri.prototype.getValue=function(e){return w(this._values[e].value.value)},Ri.prototype.setValue=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Oi(this._values[e].property)),this._values[e].value=new Di(this._values[e].property,null===t?void 0:w(t))},Ri.prototype.getTransition=function(e){return w(this._values[e].transition)},Ri.prototype.setTransition=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Oi(this._values[e].property)),this._values[e].transition=w(t)||void 0},Ri.prototype.serialize=function(){for(var e={},t=0,r=Object.keys(this._values);tthis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}return i};var Bi=function(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)};Bi.prototype.possiblyEvaluate=function(e,t,r){for(var n=new Ui(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},t.prototype.interpolate=function(e){return e},t}(qi),Gi=function(e){this.specification=e};Gi.prototype.possiblyEvaluate=function(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){var i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new zi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new zi(Math.floor(t.zoom),t)),e.expression.evaluate(new zi(Math.floor(t.zoom+1),t)),t)}},Gi.prototype._calculate=function(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},Gi.prototype.interpolate=function(e){return e};var Wi=function(e){this.specification=e};Wi.prototype.possiblyEvaluate=function(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)},Wi.prototype.interpolate=function(){return!1};var Zi=function(e){for(var t in this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],e){var r=e[t];r.specification.overridable&&this.overridableProperties.push(t);var n=this.defaultPropertyValues[t]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new Oi(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}};ii("DataDrivenProperty",qi),ii("DataConstantProperty",Vi),ii("CrossFadedDataDrivenProperty",Hi),ii("CrossFadedProperty",Gi),ii("ColorRampProperty",Wi);var Yi="-transition",Xi=function(e){function t(t,r){if(e.call(this),this.id=t.id,this.type=t.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ri(r.paint),t.paint)this.setPaintProperty(n,t.paint[n],{validate:!1});for(var i in t.layout)this.setLayoutProperty(i,t.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ui(r.paint)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},t.prototype.getLayoutProperty=function(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)},t.prototype.setLayoutProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".layout."+e;if(this._validate($n,n,e,t,r))return}"visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t},t.prototype.getPaintProperty=function(e){return x(e,Yi)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)},t.prototype.setPaintProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".paint."+e;if(this._validate(Xn,n,e,t,r))return!1}if(x(e,Yi))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;var i=this._transitionablePaint._values[e],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);var l=this._transitionablePaint._values[e].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(e,s,l)},t.prototype._handleSpecialPaintPropertyUpdate=function(e){},t.prototype._handleOverridablePaintPropertyUpdate=function(e,t,r){return!1},t.prototype.isHidden=function(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility},t.prototype.updateTransitions=function(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)},t.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},t.prototype.recalculate=function(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)},t.prototype.serialize=function(){var e={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&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),b(e,(function(e,t){return!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)}))},t.prototype._validate=function(e,t,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Kn(this,e.call(Zn,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:Oe,style:{glyphs:!0,sprite:!0}}))},t.prototype.is3D=function(){return!1},t.prototype.isTileClipped=function(){return!1},t.prototype.hasOffscreenPass=function(){return!1},t.prototype.resize=function(){},t.prototype.isStateDependent=function(){for(var e in this.paint._values){var t=this.paint.get(e);if(t instanceof Ni&&Yr(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1},t}(De),$i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ki=function(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Ji=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Qi(e,t){void 0===t&&(t=1);var r=0,n=0;return{members:e.map((function(e){var i=function(e){return $i[e].BYTES_PER_ELEMENT}(e.type),a=r=ea(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:ea(r,Math.max(n,t)),alignment:t}}function ea(e,t){return Math.ceil(e/t)*t}Ji.serialize=function(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}},Ji.deserialize=function(e){var t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t},Ji.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Ji.prototype.clear=function(){this.length=0},Ji.prototype.resize=function(e){this.reserve(e),this.length=e},Ji.prototype.reserve=function(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}},Ji.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ta=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e},t}(Ji);ta.prototype.bytesPerElement=4,ii("StructArrayLayout2i4",ta);var ra=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e},t}(Ji);ra.prototype.bytesPerElement=8,ii("StructArrayLayout4i8",ra);var na=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ji);na.prototype.bytesPerElement=12,ii("StructArrayLayout2i4i12",na);var ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e},t}(Ji);ia.prototype.bytesPerElement=8,ii("StructArrayLayout2i4ub8",ia);var aa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e},t}(Ji);aa.prototype.bytesPerElement=8,ii("StructArrayLayout2f8",aa);var oa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u){var h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e},t}(Ji);oa.prototype.bytesPerElement=20,ii("StructArrayLayout10ui20",oa);var sa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e},t}(Ji);sa.prototype.bytesPerElement=24,ii("StructArrayLayout4i4ui4i24",sa);var la=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e},t}(Ji);la.prototype.bytesPerElement=12,ii("StructArrayLayout3f12",la);var ca=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint32[r+0]=t,e},t}(Ji);ca.prototype.bytesPerElement=4,ii("StructArrayLayout1ul4",ca);var ua=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c){var u=10*e,h=5*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e},t}(Ji);ua.prototype.bytesPerElement=20,ii("StructArrayLayout6i1ul2ui20",ua);var ha=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ji);ha.prototype.bytesPerElement=12,ii("StructArrayLayout2i2i2i12",ha);var fa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)},t.prototype.emplace=function(e,t,r,n,i,a){var o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e},t}(Ji);fa.prototype.bytesPerElement=16,ii("StructArrayLayout2f1f2i16",fa);var pa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=12*e,o=3*e;return this.uint8[a+0]=t,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,e},t}(Ji);pa.prototype.bytesPerElement=12,ii("StructArrayLayout2ub2f12",pa);var da=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e},t}(Ji);da.prototype.bytesPerElement=6,ii("StructArrayLayout3ui6",da);var ma=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e},t}(Ji);ma.prototype.bytesPerElement=48,ii("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ma);var ga=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*e,I=17*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[I+12]=k,this.float32[I+13]=A,this.float32[I+14]=M,this.float32[I+15]=S,this.float32[I+16]=E,e},t}(Ji);ga.prototype.bytesPerElement=68,ii("StructArrayLayout8i15ui1ul4f68",ga);var ya=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.float32[r+0]=t,e},t}(Ji);ya.prototype.bytesPerElement=4,ii("StructArrayLayout1f4",ya);var va=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e},t}(Ji);va.prototype.bytesPerElement=6,ii("StructArrayLayout3i6",va);var xa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=2*e,a=4*e;return this.uint32[i+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=n,e},t}(Ji);xa.prototype.bytesPerElement=8,ii("StructArrayLayout1ul2ui8",xa);var _a=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e},t}(Ji);_a.prototype.bytesPerElement=4,ii("StructArrayLayout2ui4",_a);var ba=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint16[r+0]=t,e},t}(Ji);ba.prototype.bytesPerElement=2,ii("StructArrayLayout1ui2",ba);var wa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e},t}(Ji);wa.prototype.bytesPerElement=16,ii("StructArrayLayout4f16",wa);var Ta=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={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 r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(t.prototype,r),t}(Ki);Ta.prototype.size=20;var ka=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Ta(this,e)},t}(ua);ii("CollisionBoxArray",ka);var Aa=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={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 r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(e){this._structArray.uint8[this._pos1+37]=e},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(e){this._structArray.uint8[this._pos1+38]=e},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+10]=e},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(t.prototype,r),t}(Ki);Aa.prototype.size=48;var Ma=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Aa(this,e)},t}(ma);ii("PlacedSymbolArray",Ma);var Sa=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={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 r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+12]=e},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(t.prototype,r),t}(Ki);Sa.prototype.size=68;var Ea=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Sa(this,e)},t}(ga);ii("SymbolInstanceArray",Ea);var Ca=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getoffsetX=function(e){return this.float32[1*e+0]},t}(ya);ii("GlyphOffsetArray",Ca);var Ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getx=function(e){return this.int16[3*e+0]},t.prototype.gety=function(e){return this.int16[3*e+1]},t.prototype.gettileUnitDistanceFromAnchor=function(e){return this.int16[3*e+2]},t}(va);ii("SymbolLineVertexArray",Ia);var La=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,r),t}(Ki);La.prototype.size=8;var Pa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new La(this,e)},t}(xa);ii("FeatureIndexArray",Pa);var za=Qi([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(e){void 0===e&&(e=[]),this.segments=e};function Oa(e,t){return 256*(e=h(Math.floor(e),0,255))+h(Math.floor(t),0,255)}Da.prototype.prepareSegment=function(e,t,r,n){var i=this.segments[this.segments.length-1];return e>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+e),(!i||i.vertexLength+e>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var e=0,t=this.segments;e>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Ba=t((function(e){e.exports=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Fa,Na=Fa,Ua=Ba;ja.murmur3=Na,ja.murmur2=Ua;var Va=function(){this.ids=[],this.positions=[],this.indexed=!1};Va.prototype.add=function(e,t,r,n){this.ids.push(Ha(e)),this.positions.push(t,r,n)},Va.prototype.getPositions=function(e){for(var t=Ha(e),r=0,n=this.ids.length-1;r>1;this.ids[i]>=t?n=i:r=i+1}for(var a=[];this.ids[r]===t;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Va.serialize=function(e,t){var r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Ga(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}},Va.deserialize=function(e){var t=new Va;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t};var qa=Math.pow(2,53)-1;function Ha(e){var t=+e;return!isNaN(t)&&t<=qa?t:ja(String(e))}function Ga(e,t,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(e[a]i);if(a>=o)break;Wa(e,a,o),Wa(t,3*a,3*o),Wa(t,3*a+1,3*o+1),Wa(t,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function yo(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?go(e):[]}}function vo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}var xo=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new da,this.segments=new Da,this.programConfigurations=new co(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function _o(e,t){for(var r=0;r1){if(ko(e,t))return!0;for(var n=0;n1?e.distSqr(r):e.distSqr(r.sub(t)._mult(i)._add(t))}function Eo(e,t){for(var r,n,i,a=!1,o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(e,t){for(var r=!1,n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Io(e,t,r){var n=r[0],i=r[2];if(e.xi.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;var a=A(e,t,r[0]);return a!==A(e,t,r[1])||a!==A(e,t,r[2])||a!==A(e,t,r[3])}function Lo(e,t,r){var n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function Po(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function zo(e,t,r,n,i){if(!t[0]&&!t[1])return e;var o=a.convert(t)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=fo||u<0||u>=fo)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),f=h.vertexLength;vo(this.layoutVertexArray,c,u,-1,-1),vo(this.layoutVertexArray,c,u,1,-1),vo(this.layoutVertexArray,c,u,1,1),vo(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)},ii("CircleBucket",xo,{omit:["layers"]});var Do=new Zi({"circle-sort-key":new qi(Oe.layout_circle["circle-sort-key"])}),Oo={paint:new Zi({"circle-radius":new qi(Oe.paint_circle["circle-radius"]),"circle-color":new qi(Oe.paint_circle["circle-color"]),"circle-blur":new qi(Oe.paint_circle["circle-blur"]),"circle-opacity":new qi(Oe.paint_circle["circle-opacity"]),"circle-translate":new Vi(Oe.paint_circle["circle-translate"]),"circle-translate-anchor":new Vi(Oe.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Vi(Oe.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Vi(Oe.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new qi(Oe.paint_circle["circle-stroke-width"]),"circle-stroke-color":new qi(Oe.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new qi(Oe.paint_circle["circle-stroke-opacity"])}),layout:Do},Ro=typeof Float32Array<"u"?Float32Array:Array;function Fo(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}function Bo(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],y=t[14],v=t[15],x=r[0],_=r[1],b=r[2],w=r[3];return e[0]=x*n+_*s+b*h+w*m,e[1]=x*i+_*l+b*f+w*g,e[2]=x*a+_*c+b*p+w*y,e[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],e[4]=x*n+_*s+b*h+w*m,e[5]=x*i+_*l+b*f+w*g,e[6]=x*a+_*c+b*p+w*y,e[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],e[8]=x*n+_*s+b*h+w*m,e[9]=x*i+_*l+b*f+w*g,e[10]=x*a+_*c+b*p+w*y,e[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],e[12]=x*n+_*s+b*h+w*m,e[13]=x*i+_*l+b*f+w*g,e[14]=x*a+_*c+b*p+w*y,e[15]=x*o+_*u+b*d+w*v,e}Math.hypot||(Math.hypot=function(){for(var e=arguments,t=0,r=arguments.length;r--;)t+=e[r]*e[r];return Math.sqrt(t)});var jo,No=Bo;function Uo(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}jo=new Ro(3),Ro!=Float32Array&&(jo[0]=0,jo[1]=0,jo[2]=0),function(){var e=new Ro(4);Ro!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var Vo=(function(){var e=new Ro(2);Ro!=Float32Array&&(e[0]=0,e[1]=0)}(),function(e){function t(t){e.call(this,t,Oo)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new xo(e)},t.prototype.queryRadius=function(e){var t=e;return Lo("circle-radius",this,t)+Lo("circle-stroke-width",this,t)+Po(this.paint.get("circle-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o,s){for(var l=zo(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(e,t){return e.map((function(e){return qo(e,t)}))}(l,s),f=u?c*o:c,p=0,d=n;pe.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=e.data,s=t.data,l=0;l80*r){n=a=e[0],i=o=e[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return ss(f,p,r,n,i,c),p}function as(e,t,r,n,i){var a,o;if(i===Cs(e,t,r,n)>0)for(a=t;a=t;a-=n)o=Ms(a,e[a],e[a+1],o);return o&&_s(o,o.next)&&(Ss(o),o=o.next),o}function os(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!_s(n,n.next)&&0!==xs(n.prev,n,n.next))n=n.next;else{if(Ss(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function ss(e,t,r,n,i,a,o){if(e){!o&&a&&function(e,t,r,n){var i=e;do{null===i.z&&(i.z=ms(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,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!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,c*=2}while(o>1)}(i)}(e,n,i,a);for(var s,l,c=e;e.prev!==e.next;)if(s=e.prev,l=e.next,a?cs(e,n,i,a):ls(e))t.push(s.i/r),t.push(e.i/r),t.push(l.i/r),Ss(e),e=l.next,c=l.next;else if((e=l)===c){o?1===o?ss(e=us(os(e),t,r),t,r,n,i,a,2):2===o&&hs(e,t,r,n,i,a):ss(os(e),t,r,n,i,a,1);break}}}function ls(e){var t=e.prev,r=e,n=e.next;if(xs(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(ys(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&xs(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function cs(e,t,r,n){var i=e.prev,a=e,o=e.next;if(xs(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=ms(s,l,t,r,n),f=ms(c,u,t,r,n),p=e.prevZ,d=e.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==e.prev&&p!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&xs(p.prev,p,p.next)>=0||(p=p.prevZ,d!==e.prev&&d!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xs(d.prev,d,d.next)>=0))return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==e.prev&&p!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&xs(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==e.prev&&d!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xs(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function us(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!_s(i,a)&&bs(i,n,n.next,a)&&ks(i,a)&&ks(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),Ss(n),Ss(n.next),n=e=a),n=n.next}while(n!==e);return os(n)}function hs(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&vs(o,s)){var l=As(o,s);return o=os(o,o.next),l=os(l,l.next),ss(o,t,r,n,i,a),void ss(l,t,r,n,i,a)}s=s.next}o=o.next}while(o!==e)}function fs(e,t){return e.x-t.x}function ps(e,t){if(t=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&ys(ar.x||n.x===r.x&&ds(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(e,t),t){var r=As(t,e);os(t,t.next),os(r,r.next)}}function ds(e,t){return xs(e.prev,e,t.prev)<0&&xs(t.next,e,e.next)<0}function ms(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function gs(e){var t=e,r=e;do{(t.x=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function vs(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(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&&bs(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ks(e,t)&&ks(t,e)&&function(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}(e,t)&&(xs(e.prev,e,t.prev)||xs(e,t.prev,t))||_s(e,t)&&xs(e.prev,e,e.next)>0&&xs(t.prev,t,t.next)>0)}function xs(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function _s(e,t){return e.x===t.x&&e.y===t.y}function bs(e,t,r,n){var i=Ts(xs(e,t,r)),a=Ts(xs(e,t,n)),o=Ts(xs(r,n,e)),s=Ts(xs(r,n,t));return!!(i!==a&&o!==s||0===i&&ws(e,r,t)||0===a&&ws(e,n,t)||0===o&&ws(r,e,n)||0===s&&ws(r,t,n))}function ws(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 Ts(e){return e>0?1:e<0?-1:0}function ks(e,t){return xs(e.prev,e,e.next)<0?xs(e,t,e.next)>=0&&xs(e,e.prev,t)>=0:xs(e,t,e.prev)<0||xs(e,e.next,t)<0}function As(e,t){var r=new Es(e.i,e.x,e.y),n=new Es(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 Ms(e,t,r,n){var i=new Es(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 Ss(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 Es(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Cs(e,t,r,n){for(var i=0,a=t,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ls(e,t,Math.max(r,Math.floor(t-o*l/a+c)),Math.min(n,Math.floor(t+(a-o)*l/a+c)),i)}var u=e[t],h=r,f=n;for(Ps(e,r,t),i(e[n],u)>0&&Ps(e,r,n);h0;)f--}0===i(e[r],u)?Ps(e,r,f):Ps(e,++f,n),f<=t&&(r=f+1),t<=f&&(n=f-1)}}function Ps(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function zs(e,t){return et?1:0}function Ds(e,t){var r=e.length;if(r<=1)return[e];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=e[i-1].length,r.holes.push(n))}return r},rs.default=ns;var Bs=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ta,this.indexArray=new da,this.indexArray2=new _a,this.programConfigurations=new co(e.layers,e.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};Bs.prototype.populate=function(e,t,r){this.hasPattern=Rs("fill",this.layers,t);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=e;a>3}if(i--,1===n||2===n)o+=e.readSVarint(),s+=e.readSVarint(),1===n&&(t&&l.push(t),t=[]),t.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&l.push(t),l},Hs.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Hs.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=Hs.types[this.type];function u(e){for(var t=0;t>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}Ys.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new qs(this._pbf,t,this.extent,this._keys,this._values)};function $s(e,t,r){if(3===e){var n=new Zs(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}var Ks={VectorTile:function(e,t){this.layers=e.readFields($s,{},t)},VectorTileFeature:qs,VectorTileLayer:Zs},Js=Ks.VectorTileFeature.types,Qs=Math.pow(2,13);function el(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*Qs)+o,i*Qs*2,a*Qs*2,Math.round(s))}var tl=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new na,this.indexArray=new da,this.programConfigurations=new co(e.layers,e.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function rl(e,t){return e.x===t.x&&(e.x<0||e.x>fo)||e.y===t.y&&(e.y<0||e.y>fo)}function nl(e){return e.every((function(e){return e.x<0}))||e.every((function(e){return e.x>fo}))||e.every((function(e){return e.y<0}))||e.every((function(e){return e.y>fo}))}tl.prototype.populate=function(e,t,r){this.features=[],this.hasPattern=Rs("fill-extrusion",this.layers,t);for(var n=0,i=e;n=1){var v=d[g-1];if(!rl(y,v)){h.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(v)._perp()._unit(),_=v.dist(y);m+_>32768&&(m=0),el(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),el(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m),m+=_,el(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),el(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m);var b=h.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Js[e.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&e[l-1].equals(e[l-2]);)l--;for(var c=0;c0;if(T&&y>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(bi&&(E="bevel"),"bevel"===E&&(b>2&&(E="flipbevel"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,v,0,0,f),this.addCurrentVertex(u,v.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var I=-Math.sqrt(b*b-1),L=k?I:0,P=k?0:I;if(p&&this.addCurrentVertex(u,m,L,P,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),D=1;D2*h){var N=u.add(d.sub(u)._mult(h/j)._round());this.updateDistance(u,N),this.addCurrentVertex(N,g,0,0,f),u=N}}}}},pl.prototype.addCurrentVertex=function(e,t,r,n,i,a){void 0===a&&(a=!1);var o=t.x+t.y*r,s=t.y-t.x*r,l=-t.x+t.y*n,c=-t.y-t.x*n;this.addHalfVertex(e,o,s,a,!1,r,i),this.addHalfVertex(e,l,c,a,!0,-n,i),this.distance>fl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(e,t,r,n,i,a))},pl.prototype.addHalfVertex=function(e,t,r,n,i,a,o){var s=e.x,l=e.y,c=.5*(this.lineClips?this.scaledDistance*(fl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*t)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6),this.lineClips){var u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}var h=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,h),o.primitiveLength++),i?this.e2=h:this.e1=h},pl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},pl.prototype.updateDistance=function(e,t){this.distance+=e.dist(t),this.updateScaledDistance()},ii("LineBucket",pl,{omit:["layers","patternFeatures"]});var dl=new Zi({"line-cap":new Vi(Oe.layout_line["line-cap"]),"line-join":new qi(Oe.layout_line["line-join"]),"line-miter-limit":new Vi(Oe.layout_line["line-miter-limit"]),"line-round-limit":new Vi(Oe.layout_line["line-round-limit"]),"line-sort-key":new qi(Oe.layout_line["line-sort-key"])}),ml={paint:new Zi({"line-opacity":new qi(Oe.paint_line["line-opacity"]),"line-color":new qi(Oe.paint_line["line-color"]),"line-translate":new Vi(Oe.paint_line["line-translate"]),"line-translate-anchor":new Vi(Oe.paint_line["line-translate-anchor"]),"line-width":new qi(Oe.paint_line["line-width"]),"line-gap-width":new qi(Oe.paint_line["line-gap-width"]),"line-offset":new qi(Oe.paint_line["line-offset"]),"line-blur":new qi(Oe.paint_line["line-blur"]),"line-dasharray":new Gi(Oe.paint_line["line-dasharray"]),"line-pattern":new Hi(Oe.paint_line["line-pattern"]),"line-gradient":new Wi(Oe.paint_line["line-gradient"])}),layout:dl},gl=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(t,r){return r=new zi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),e.prototype.possiblyEvaluate.call(this,t,r)},t.prototype.evaluate=function(t,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),e.prototype.evaluate.call(this,t,r,n,i)},t}(qi),yl=new gl(ml.paint.properties["line-width"].specification);yl.useIntegerZoom=!0;var vl=function(e){function t(t){e.call(this,t,ml),this.gradientVersion=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(e){if("line-gradient"===e){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=t._styleExpression.expression instanceof Qt,this.gradientVersion=(this.gradientVersion+1)%l}},t.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},t.prototype.recalculate=function(t,r){e.prototype.recalculate.call(this,t,r),this.paint._values["line-floorwidth"]=yl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)},t.prototype.createBucket=function(e){return new pl(e)},t.prototype.queryRadius=function(e){var t=e,r=xl(Lo("line-width",this,t),Lo("line-gap-width",this,t)),n=Lo("line-offset",this,t);return r/2+Math.abs(n)+Po(this.paint.get("line-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,o,s){var l=zo(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*xl(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),u=this.paint.get("line-offset").evaluate(t,r);return u&&(n=function(e,t){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?t+2*e:e}var _l=Qi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),bl=Qi([{name:"a_projected_pos",components:3,type:"Float32"}],4),wl=(Qi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Qi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Tl=(Qi([{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"}]),Qi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),kl=Qi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Al(e,t,r){return e.sections.forEach((function(e){e.text=function(e,t,r){var n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),Pi.applyArabicShaping&&(e=Pi.applyArabicShaping(e)),e}(e.text,t,r)})),e}Qi([{name:"triangle",components:3,type:"Uint16"}]),Qi([{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"}]),Qi([{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Qi([{type:"Float32",name:"offsetX"}]),Qi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Ml={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},Sl=24,El=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},Cl=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m},Il=Ll;function Ll(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}Ll.Varint=0,Ll.Fixed64=1,Ll.Bytes=2,Ll.Fixed32=5;var Pl=4294967296,zl=1/Pl,Dl=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Ol(e){return e.type===Ll.Bytes?e.readVarint()+e.pos:e.pos+1}function Rl(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function Fl(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function Yl(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function Xl(e,t,r){1===e&&r.readMessage($l,t)}function $l(e,t,r){if(3===e){var n=r.readMessage(Kl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;t.push({id:i,bitmap:new Yo({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Kl(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function Jl(e){for(var t=0,r=0,n=0,i=e;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Wl(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=Yl(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Wl(this.buf,this.pos)+Wl(this.buf,this.pos+4)*Pl;return this.pos+=8,e},readSFixed64:function(){var e=Wl(this.buf,this.pos)+Yl(this.buf,this.pos+4)*Pl;return this.pos+=8,e},readFloat:function(){var e=El(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=El(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128||(t|=(127&(r=n[this.pos++]))<<7,r<128)||(t|=(127&(r=n[this.pos++]))<<14,r<128)||(t|=(127&(r=n[this.pos++]))<<21,r<128)?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128||(n|=(127&(i=a[r.pos++]))<<3,i<128)||(n|=(127&(i=a[r.pos++]))<<10,i<128)||(n|=(127&(i=a[r.pos++]))<<17,i<128)||(n|=(127&(i=a[r.pos++]))<<24,i<128)||(n|=(1&(i=a[r.pos++]))<<31,i<128))return function(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this)},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&Dl?function(e,t,r){return Dl.decode(e.subarray(t,r))}(this.buf,t,e):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==Ll.Bytes)return e.push(this.readVarint(t));var r=Ol(this);for(e=e||[];this.pos127;);else if(t===Ll.Bytes)this.pos=this.readVarint()+this.pos;else if(t===Ll.Fixed32)this.pos+=4;else{if(t!==Ll.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,r){r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos]=127&e}(r,0,t),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&Rl(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),Cl(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),Cl(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&Rl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,Ll.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,Fl,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Bl,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Ul,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,jl,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Nl,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Vl,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,ql,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Hl,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Gl,t)},writeBytesField:function(e,t){this.writeTag(e,Ll.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,Ll.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,Ll.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,Ll.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var Ql=function(e,t){var r=t.pixelRatio,n=t.version,i=t.stretchX,a=t.stretchY,o=t.content;this.paddedRect=e,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},ec={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ec.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},ec.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},ec.tlbr.get=function(){return this.tl.concat(this.br)},ec.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Ql.prototype,ec);var tc=function(e,t){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(e,r,i),this.addImages(t,n,i);var a=Jl(i),o=a.w,s=a.h,l=new Xo({width:o||1,height:s||1});for(var c in e){var u=e[c],h=r[c].paddedRect;Xo.copy(u.data,l,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(var f in t){var p=t[f],d=n[f].paddedRect,m=d.x+1,g=d.y+1,y=p.data.width,v=p.data.height;Xo.copy(p.data,l,{x:0,y:0},{x:m,y:g},p.data),Xo.copy(p.data,l,{x:0,y:v-1},{x:m,y:g-1},{width:y,height:1}),Xo.copy(p.data,l,{x:0,y:0},{x:m,y:g+v},{width:y,height:1}),Xo.copy(p.data,l,{x:y-1,y:0},{x:m-1,y:g},{width:1,height:v}),Xo.copy(p.data,l,{x:0,y:0},{x:m+y,y:g},{width:1,height:v})}this.image=l,this.iconPositions=r,this.patternPositions=n};tc.prototype.addImages=function(e,t,r){for(var n in e){var i=e[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),t[n]=new Ql(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},tc.prototype.patchUpdatedImages=function(e,t){for(var r in e.dispatchRenderCallbacks(this.haveRenderCallbacks),e.updatedImages)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)},tc.prototype.patchUpdatedImage=function(e,t,r){if(e&&t&&e.version!==t.version){e.version=t.version;var n=e.tl,i=n[0],a=n[1];r.update(t.data,void 0,{x:i,y:a})}},ii("ImagePosition",Ql),ii("ImageAtlas",tc);var rc={horizontal:1,vertical:2,horizontalOnly:3},nc=-17,ic=function(){this.scale=1,this.fontStack="",this.imageName=null};ic.forText=function(e,t){var r=new ic;return r.scale=e||1,r.fontStack=t,r},ic.forImage=function(e){var t=new ic;return t.imageName=e,t};var ac=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function oc(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g=ac.fromFeature(e,i);h===rc.vertical&&g.verticalizePunctuation();var y,v=Pi.processBidirectionalText,x=Pi.processStyledBidirectionalText;if(v&&1===g.sections.length){y=[];for(var _=0,b=v(g.toString(),dc(g,c,a,t,n,p,d));_0&&B>A&&(A=B)}else{var j=r[S.fontStack],N=j&&j[C];if(N&&N.rect)P=N.rect,L=N.metrics;else{var U=t[S.fontStack],V=U&&U[C];if(!V)continue;L=V.metrics}I=(b-S.scale)*Sl}O?(e.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+I,vertical:O,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:L,rect:P}),f+=D*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+I,vertical:O,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:L,rect:P}),f+=L.advance*S.scale+c)}if(0!==k.length){var q=f-c;d=Math.max(q,d),gc(k,0,k.length-1,g,A)}f=0;var H=a*b+A;T.lineOffset=Math.max(A,w),p+=H,m=Math.max(H,m),++y}else p+=a,++y}var G=p-nc,W=mc(o),Z=W.horizontalAlign,Y=W.verticalAlign;(function(e,t,r,n,i,a,o,s,l){var c,u=(t-r)*i;c=a!==o?-s*n-nc:(-n*l+.5)*o;for(var h=0,f=e;h=0&&n>=e&&sc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(e,r),this.sectionIndex=this.sectionIndex.slice(e,r)},ac.prototype.substring=function(e,t){var r=new ac;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r},ac.prototype.toString=function(){return this.text},ac.prototype.getMaxScale=function(){var e=this;return this.sectionIndex.reduce((function(t,r){return Math.max(t,e.sections[r].scale)}),0)},ac.prototype.addTextSection=function(e,t){this.text+=e.text,this.sections.push(ic.forText(e.scale,e.fontStack||t));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var sc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},lc={};function cc(e,t,r,n,i,a){if(t.imageName){var o=n[t.imageName];return o?o.displaySize[0]*t.scale*Sl/a+i:0}var s=r[t.fontStack],l=s&&s[e];return l?l.metrics.advance*t.scale+i:0}function uc(e,t,r,n){var i=Math.pow(e-t,2);return n?e=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function Ac(e){for(var t=0,r=0;rc){var d=(c-l)/p,m=er(h.x,f.x,d),g=er(h.y,f.y,d),y=new vc(m,g,f.angleTo(h),u);return y._round(),!o||kc(e,y,s,o,t)?y:void 0}l+=p}}function Cc(e,t,r,n,i,a,o,s,l){var c=Mc(n,a,o),u=Sc(n,i),h=u*o,f=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-h=0&&_=0&&b=0&&f+c<=u){var w=new vc(_,b,v,d);w._round(),(!n||kc(e,w,a,n,i))&&p.push(w)}}h+=y}return!s&&!p.length&&!o&&(p=Ic(e,h/2,r,n,i,a,o,!0,l)),p}function Lc(e,t,r,n,i){for(var o=[],s=0;s=n&&f.x>=n)&&(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),!(h.y>=i&&f.y>=i)&&(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),(!c||!h.equals(c[c.length-1]))&&(c=[h],o.push(c)),c.push(f)))))}return o}function Pc(e,t,r,n){var i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=e.right-e.left,h=e.bottom-e.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(e,t){return e+t[1]-t[0]},m=f.reduce(d,0),g=p.reduce(d,0),y=l-m,v=c-g,x=0,_=m,b=0,w=g,T=0,k=y,A=0,M=v;if(o.content&&n){var S=o.content;x=zc(f,0,S[0]),b=zc(p,0,S[1]),_=zc(f,S[0],S[2]),w=zc(p,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Oc(n.stretch-x,_,u,e.left),p=Rc(n.fixed-T,k,n.stretch,m),d=Oc(i.stretch-b,w,h,e.top),y=Rc(i.fixed-A,M,i.stretch,g),v=Oc(l.stretch-x,_,u,e.left),S=Rc(l.fixed-T,k,l.stretch,m),E=Oc(c.stretch-b,w,h,e.top),C=Rc(c.fixed-A,M,c.stretch,g),I=new a(f,d),L=new a(v,d),P=new a(v,E),z=new a(f,E),D=new a(p/s,y/s),O=new a(S/s,C/s),R=t*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),j=[B,-F,F,B];I._matMult(j),L._matMult(j),z._matMult(j),P._matMult(j)}var N=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=c.stretch+c.fixed;return{tl:I,tr:L,bl:z,br:P,tex:{x:o.paddedRect.x+1+N,y:o.paddedRect.y+1+V,w:U-N,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:O,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Dc(f,y,m),I=Dc(p,v,g),L=0;L0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,v=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,m-=x[1]*s,v+=x[2]*s,g+=x[3]*s),u){var _=new a(y,m),b=new a(v,m),w=new a(y,g),T=new a(v,g),k=u*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),m=Math.min(_.y,b.y,w.y,T.y),g=Math.max(_.y,b.y,w.y,T.y)}e.emplaceBack(t.x,t.y,y,m,v,g,r,n,i)}this.boxEndIndex=e.length},Bc=function(e,t){if(void 0===e&&(e=[]),void 0===t&&(t=jc),this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function jc(e,t){return et?1:0}function Nc(e,t,r){void 0===t&&(t=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,m=new Bc([],Uc);if(0===p)return new a(n,i);for(var g=n;gv.d||!v.d)&&(v=_,r&&console.log("found best %d after %d probes",Math.round(1e4*_.d)/1e4,x)),!(_.max-v.d<=t)&&(d=_.h/2,m.push(new Vc(_.p.x-d,_.p.y-d,d,e)),m.push(new Vc(_.p.x+d,_.p.y-d,d,e)),m.push(new Vc(_.p.x-d,_.p.y+d,d,e)),m.push(new Vc(_.p.x+d,_.p.y+d,d,e)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+v.d)),v.p}function Uc(e,t){return t.max-e.max}function Vc(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){for(var r=!1,n=1/0,i=0;ie.y!=u.y>e.y&&e.x<(u.x-c.x)*(e.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,So(e,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Bc.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},Bc.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},Bc.prototype.peek=function(){return this.data[0]},Bc.prototype._up=function(e){for(var t=this.data,r=this.compare,n=t[e];e>0;){var i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n},Bc.prototype._down=function(e){for(var t=this.data,r=this.compare,n=this.length>>1,i=t[e];e=0)break;t[e]=o,e=a}t[e]=i};var qc=Number.POSITIVE_INFINITY;function Hc(e,t){return t[1]!==qc?function(e,t,r){var n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){var r=0,n=0;t<0&&(t=0);var i=t/Math.sqrt(2);switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-t;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function Gc(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var Wc=255,Zc=32640;function Yc(e,t,r,n,i,o,s,l,c,u,h,f,p,d,m){var g=function(e,t,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],h=0,f=t.positionedLines;hZc&&k(e.layerIds[0]+': Value for "text-size" is >= '+Wc+'. Reduce your "text-size".'):"composite"===y.kind&&((v=[xc*d.compositeTextSizes[0].evaluate(s,{},m),xc*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>Zc||v[1]>Zc)&&k(e.layerIds[0]+': Value for "text-size" is >= '+Wc+'. Reduce your "text-size".'),e.addSymbols(e.text,g,v,l,o,s,u,t,c.lineStartIndex,c.lineLength,p,m);for(var x=0,_=h;x<_.length;x+=1)f[_[x]]=e.text.placedSymbolArray.length-1;return 4*g.length}function Xc(e){for(var t in e)return e[t];return null}function $c(e,t,r,n){var i=e.compareText;if(t in i){for(var a=i[t],o=a.length-1;o>=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var h=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,d=new zi(this.zoom),m=0,g=e;m=0;for(var z=0,D=k.sections;z=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=t[s-1].dist(t[s]));for(var l=0;l0},iu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},iu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},iu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},iu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},iu.prototype.addIndicesForPlacedSymbol=function(e,t){for(var r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(e)===r&&t.addIndicesForPlacedSymbol(t.text,e)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},ii("SymbolBucket",iu,{omit:["layers","collisionBoxArray","features","compareText"]}),iu.MAX_GLYPHS=65535,iu.addDynamicAttributes=eu;var au=new Zi({"symbol-placement":new Vi(Oe.layout_symbol["symbol-placement"]),"symbol-spacing":new Vi(Oe.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Vi(Oe.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new qi(Oe.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Vi(Oe.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Vi(Oe.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Vi(Oe.layout_symbol["icon-ignore-placement"]),"icon-optional":new Vi(Oe.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Vi(Oe.layout_symbol["icon-rotation-alignment"]),"icon-size":new qi(Oe.layout_symbol["icon-size"]),"icon-text-fit":new Vi(Oe.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Vi(Oe.layout_symbol["icon-text-fit-padding"]),"icon-image":new qi(Oe.layout_symbol["icon-image"]),"icon-rotate":new qi(Oe.layout_symbol["icon-rotate"]),"icon-padding":new Vi(Oe.layout_symbol["icon-padding"]),"icon-keep-upright":new Vi(Oe.layout_symbol["icon-keep-upright"]),"icon-offset":new qi(Oe.layout_symbol["icon-offset"]),"icon-anchor":new qi(Oe.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Vi(Oe.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Vi(Oe.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Vi(Oe.layout_symbol["text-rotation-alignment"]),"text-field":new qi(Oe.layout_symbol["text-field"]),"text-font":new qi(Oe.layout_symbol["text-font"]),"text-size":new qi(Oe.layout_symbol["text-size"]),"text-max-width":new qi(Oe.layout_symbol["text-max-width"]),"text-line-height":new Vi(Oe.layout_symbol["text-line-height"]),"text-letter-spacing":new qi(Oe.layout_symbol["text-letter-spacing"]),"text-justify":new qi(Oe.layout_symbol["text-justify"]),"text-radial-offset":new qi(Oe.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Vi(Oe.layout_symbol["text-variable-anchor"]),"text-anchor":new qi(Oe.layout_symbol["text-anchor"]),"text-max-angle":new Vi(Oe.layout_symbol["text-max-angle"]),"text-writing-mode":new Vi(Oe.layout_symbol["text-writing-mode"]),"text-rotate":new qi(Oe.layout_symbol["text-rotate"]),"text-padding":new Vi(Oe.layout_symbol["text-padding"]),"text-keep-upright":new Vi(Oe.layout_symbol["text-keep-upright"]),"text-transform":new qi(Oe.layout_symbol["text-transform"]),"text-offset":new qi(Oe.layout_symbol["text-offset"]),"text-allow-overlap":new Vi(Oe.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Vi(Oe.layout_symbol["text-ignore-placement"]),"text-optional":new Vi(Oe.layout_symbol["text-optional"])}),ou=new Zi({"icon-opacity":new qi(Oe.paint_symbol["icon-opacity"]),"icon-color":new qi(Oe.paint_symbol["icon-color"]),"icon-halo-color":new qi(Oe.paint_symbol["icon-halo-color"]),"icon-halo-width":new qi(Oe.paint_symbol["icon-halo-width"]),"icon-halo-blur":new qi(Oe.paint_symbol["icon-halo-blur"]),"icon-translate":new Vi(Oe.paint_symbol["icon-translate"]),"icon-translate-anchor":new Vi(Oe.paint_symbol["icon-translate-anchor"]),"text-opacity":new qi(Oe.paint_symbol["text-opacity"]),"text-color":new qi(Oe.paint_symbol["text-color"],{runtimeType:Ze,getOverride:function(e){return e.textColor},hasOverride:function(e){return!!e.textColor}}),"text-halo-color":new qi(Oe.paint_symbol["text-halo-color"]),"text-halo-width":new qi(Oe.paint_symbol["text-halo-width"]),"text-halo-blur":new qi(Oe.paint_symbol["text-halo-blur"]),"text-translate":new Vi(Oe.paint_symbol["text-translate"]),"text-translate-anchor":new Vi(Oe.paint_symbol["text-translate-anchor"])}),su={paint:ou,layout:au},lu=function(e){this.type=e.property.overrides?e.property.overrides.runtimeType:qe,this.defaultValue=e};lu.prototype.evaluate=function(e){if(e.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default},lu.prototype.eachChild=function(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)},lu.prototype.outputDefined=function(){return!1},lu.prototype.serialize=function(){return null},ii("FormatSectionOverride",lu,{omit:["defaultValue"]});var cu=function(e){function t(t){e.call(this,t,su)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t,r){if(e.prototype.recalculate.call(this,t,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Tu.prototype.receive=function(e){var t=e.data,r=t.id;if(r&&(!t.targetMapId||this.mapId===t.targetMapId))if(""===t.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||t.mustQueue?(this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,t)},Tu.prototype.process=function(){if(this.taskQueue.length){var e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),t&&this.processTask(e,t)}},Tu.prototype.processTask=function(e,t){var r=this;if(""===t.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(t.error?n(ci(t.error)):n(null,ci(t.data)))}else{var i=!1,a=I(this.globalScope)?void 0:[],o=t.hasCallback?function(t,n){i=!0,delete r.cancelCallbacks[e],r.target.postMessage({id:e,type:"",sourceMapId:r.mapId,error:t?li(t):null,data:li(n,a)},a)}:function(e){i=!0},s=null,l=ci(t.data);if(this.parent[t.type])s=this.parent[t.type](t.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=t.type.split(".");s=this.parent.getWorkerSource(t.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+t.type));!i&&s&&s.cancel&&(this.cancelCallbacks[e]=s.cancel)}},Tu.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Au=function(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))};Au.prototype.setNorthEast=function(e){return this._ne=e instanceof Su?new Su(e.lng,e.lat):Su.convert(e),this},Au.prototype.setSouthWest=function(e){return this._sw=e instanceof Su?new Su(e.lng,e.lat):Su.convert(e),this},Au.prototype.extend=function(e){var t,r,n=this._sw,i=this._ne;if(e instanceof Su)t=e,r=e;else{if(!(e instanceof Au)){if(Array.isArray(e)){if(4===e.length||e.every(Array.isArray)){var a=e;return this.extend(Au.convert(a))}var o=e;return this.extend(Su.convert(o))}return this}if(t=e._sw,r=e._ne,!t||!r)return this}return n||i?(n.lng=Math.min(t.lng,n.lng),n.lat=Math.min(t.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Su(t.lng,t.lat),this._ne=new Su(r.lng,r.lat)),this},Au.prototype.getCenter=function(){return new Su((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Au.prototype.getSouthWest=function(){return this._sw},Au.prototype.getNorthEast=function(){return this._ne},Au.prototype.getNorthWest=function(){return new Su(this.getWest(),this.getNorth())},Au.prototype.getSouthEast=function(){return new Su(this.getEast(),this.getSouth())},Au.prototype.getWest=function(){return this._sw.lng},Au.prototype.getSouth=function(){return this._sw.lat},Au.prototype.getEast=function(){return this._ne.lng},Au.prototype.getNorth=function(){return this._ne.lat},Au.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Au.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Au.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Au.prototype.contains=function(e){var t=Su.convert(e),r=t.lng,n=t.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Au.convert=function(e){return!e||e instanceof Au?e:new Au(e)};var Mu=6371008.8,Su=function(e,t){if(isNaN(e)||isNaN(t))throw new Error("Invalid LngLat object: ("+e+", "+t+")");if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Su.prototype.wrap=function(){return new Su(f(this.lng,-180,180),this.lat)},Su.prototype.toArray=function(){return[this.lng,this.lat]},Su.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Su.prototype.distanceTo=function(e){var t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Mu*Math.acos(Math.min(i,1))},Su.prototype.toBounds=function(e){void 0===e&&(e=0);var t=360*e/40075017,r=t/Math.cos(Math.PI/180*this.lat);return new Au(new Su(this.lng-r,this.lat-t),new Su(this.lng+r,this.lat+t))},Su.convert=function(e){if(e instanceof Su)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Su(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Su(Number("lng"in e?e.lng:e.lon),Number(e.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 Eu=2*Math.PI*Mu;function Cu(e){return Eu*Math.cos(e*Math.PI/180)}function Iu(e){return(180+e)/360}function Lu(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Pu(e,t){return e/Cu(t)}function zu(e){var t=180-360*e;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}var Du=function(e,t,r){void 0===r&&(r=0),this.x=+e,this.y=+t,this.z=+r};Du.fromLngLat=function(e,t){void 0===t&&(t=0);var r=Su.convert(e);return new Du(Iu(r.lng),Lu(r.lat),Pu(t,r.lat))},Du.prototype.toLngLat=function(){return new Su(function(e){return 360*e-180}(this.x),zu(this.y))},Du.prototype.toAltitude=function(){return function(e,t){return e*Cu(zu(t))}(this.z,this.y)},Du.prototype.meterInMercatorCoordinateUnits=function(){return 1/Eu*function(e){return 1/Math.cos(e*Math.PI/180)}(zu(this.y))};var Ou=function(e,t,r){this.z=e,this.x=t,this.y=r,this.key=Bu(0,e,e,t,r)};Ou.prototype.equals=function(e){return this.z===e.z&&this.x===e.x&&this.y===e.y},Ou.prototype.url=function(e,t){var r=function(e,t,r){var n=ku(256*e,256*(t=Math.pow(2,r)-t-1),r),i=ku(256*(e+1),256*(t+1),r);return n[0]+","+n[1]+","+i[0]+","+i[1]}(this.x,this.y,this.z),n=function(e,t,r){for(var n,i="",a=e;a>0;a--)i+=(t&(n=1<this.canonical.z?new Fu(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Fu(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)},Fu.prototype.calculateScaledKey=function(e,t){var r=this.canonical.z-e;return e>this.canonical.z?Bu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Bu(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)},Fu.prototype.isChildOf=function(e){if(e.wrap!==this.wrap)return!1;var t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t},Fu.prototype.children=function(e){if(this.overscaledZ>=e)return[new Fu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Fu(t,this.wrap,t,r,n),new Fu(t,this.wrap,t,r+1,n),new Fu(t,this.wrap,t,r,n+1),new Fu(t,this.wrap,t,r+1,n+1)]},Fu.prototype.isLessThan=function(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.y=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)},ju.prototype._unpackMapbox=function(e,t,r){return(256*e*256+256*t+r)/10-1e4},ju.prototype._unpackTerrarium=function(e,t,r){return 256*e+t+r/256-32768},ju.prototype.getPixels=function(){return new Xo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},ju.prototype.backfillBorder=function(e,t,r){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");var n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-t*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Hu.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ks.VectorTile(new Il(this.rawTileData)).layers,this.sourceLayerCoder=new Nu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Hu.prototype.query=function(e,t,r,n){var i=this;this.loadVTLayers();for(var o=e.params||{},s=fo/e.tileSize/e.scale,l=Tn(o.filter),c=e.queryGeometry,u=e.queryPadding*s,h=Wu(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Wu(e.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(t,r,n,i){return function(e,t,r,n,i){for(var o=0,s=e;o=l.x&&i>=l.y)return!0}var c=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(var u=0,h=c;u=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){var m=yo(d,!0);if(!i.filter(new zi(this.tileID.overscaledZ),m,this.tileID.canonical))return}else if(!i.filter(new zi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,f),y=0;yn)i=!1;else if(t)if(this.expirationTimefe&&(e.getActor().send("enforceCacheSizeLimit",he),ge=0)},e.clamp=h,e.clearTileCache=function(e){var t=s.caches.delete(ue);e&&t.catch(e).then((function(){return e()}))},e.clipLine=Lc,e.clone=function(e){var t=new Ro(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},e.clone$1=w,e.clone$2=function(e){var t=new Ro(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.collisionCircleLayout=kl,e.config=N,e.create=function(){var e=new Ro(16);return Ro!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=function(){var e=new Ro(9);return Ro!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e},e.create$2=function(){var e=new Ro(4);return Ro!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},e.createCommonjsModule=t,e.createExpression=cn,e.createLayout=Qi,e.createStyleLayer=function(e){return"custom"===e.type?new du(e):new mu[e.type](e)},e.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e},e.deepEqual=function e(t,r){if(Array.isArray(t)){if(!Array.isArray(r)||t.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.number=er,e.offscreenCanvasSupported=ye,e.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),c=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*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*c,e[15]=1,e},e.parseGlyphPBF=function(e){return new Il(e).readFields(Xl,[])},e.pbf=Il,e.performSymbolLayout=function(e,t,r,n,i,a,o){e.createArrays();var s=512*e.overscaling;e.tilePixelRatio=fo/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if("composite"===e.textSizeData.kind){var h=e.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new zi(f),o),c["text-size"].possiblyEvaluate(new zi(p),o)]}if("composite"===e.iconSizeData.kind){var d=e.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new zi(m),o),c["icon-size"].possiblyEvaluate(new zi(g),o)]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new zi(e.zoom+1),o),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new zi(e.zoom+1),o),u.textMaxSize=c["text-size"].possiblyEvaluate(new zi(18));for(var y=l.get("text-line-height")*Sl,v="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),_=l.get("text-size"),b=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),c=_.evaluate(a,{},o),h=u.layoutTextSize.evaluate(a,{},o),f=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),b=l.get("text-letter-spacing").evaluate(a,{},o)*Sl,A=function(e){for(var t=0,r=e;t=fo||h.y<0||h.y>=fo||function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,A){var M,S,E,C,I,L=e.addToLineVertexArray(t,r),P=0,z=0,D=0,O=0,R=-1,F=-1,B={},j=ja(""),N=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(N=(M=s.layout.get("text-offset").evaluate(_,{},T).map((function(e){return e*Sl})))[0],U=M[1]):(N=s.layout.get("text-radial-offset").evaluate(_,{},T)*Sl,U=qc),e.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(_,{},T)+90,q=n.vertical;C=new Fc(l,t,c,u,h,q,f,p,d,V),o&&(I=new Fc(l,t,c,u,h,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(_,{}),G="none"!==s.layout.get("icon-text-fit"),W=Pc(i,H,w,G),Z=o?Pc(o,H,w,G):void 0;E=new Fc(l,t,c,u,h,i,g,y,!1,H),P=4*W.length;var Y=e.iconSizeData,X=null;"source"===Y.kind?(X=[xc*s.layout.get("icon-size").evaluate(_,{})])[0]>Zc&&k(e.layerIds[0]+': Value for "icon-size" is >= '+Wc+'. Reduce your "icon-size".'):"composite"===Y.kind&&((X=[xc*b.compositeIconSizes[0].evaluate(_,{},T),xc*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>Zc||X[1]>Zc)&&k(e.layerIds[0]+': Value for "icon-size" is >= '+Wc+'. Reduce your "icon-size".'),e.addSymbols(e.icon,W,X,x,v,_,!1,t,L.lineStartIndex,L.lineLength,-1,T),R=e.icon.placedSymbolArray.length-1,Z&&(z=4*Z.length,e.addSymbols(e.icon,Z,X,x,v,_,rc.vertical,t,L.lineStartIndex,L.lineLength,-1,T),F=e.icon.placedSymbolArray.length-1)}for(var $ in n.horizontal){var K=n.horizontal[$];if(!S){j=ja(K.text);var J=s.layout.get("text-rotate").evaluate(_,{},T);S=new Fc(l,t,c,u,h,K,f,p,d,J)}var Q=1===K.positionedLines.length;if(D+=Yc(e,t,K,a,s,d,_,m,L,n.vertical?rc.horizontal:rc.horizontalOnly,Q?Object.keys(n.horizontal):[$],B,R,b,T),Q)break}n.vertical&&(O+=Yc(e,t,n.vertical,a,s,d,_,m,L,rc.vertical,["vertical"],B,F,b,T));var ee=S?S.boxStartIndex:e.collisionBoxArray.length,te=S?S.boxEndIndex:e.collisionBoxArray.length,re=C?C.boxStartIndex:e.collisionBoxArray.length,ne=C?C.boxEndIndex:e.collisionBoxArray.length,ie=E?E.boxStartIndex:e.collisionBoxArray.length,ae=E?E.boxEndIndex:e.collisionBoxArray.length,oe=I?I.boxStartIndex:e.collisionBoxArray.length,se=I?I.boxEndIndex:e.collisionBoxArray.length,le=-1,ce=function(e,t){return e&&e.circleDiameter?Math.max(e.circleDiameter,t):t};le=ce(S,le),le=ce(C,le),le=ce(E,le);var ue=(le=ce(I,le))>-1?1:0;ue&&(le*=A/Sl),e.glyphOffsetArray.length>=iu.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,j,ee,te,re,ne,ie,ae,oe,se,c,D,O,P,z,ue,0,f,N,U,le)}(e,h,s,r,n,i,f,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,y,b,A,l,x,w,M,d,t,a,c,u,o)};if("line"===S)for(var L=0,P=Lc(t.geometry,0,0,fo,fo);L1){var N=Ec(j,T,r.vertical||m,n,24,v);N&&I(j,N)}}else if("Polygon"===t.type)for(var U=0,V=Ds(t.geometry,0);U=k.maxzoom||"none"===k.visibility||(o(T,this.zoom,n),(h[k.id]=k.createBucket({index:u.bucketLayerIDs.length,layers:T,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:g,sourceID:this.source})).populate(y,f,this.tileID.canonical),u.bucketLayerIDs.push(T.map((function(e){return e.id}))))}}}var A,M,S,E,C=e.mapObject(f.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(e,t){A||(A=e,M=t,P.call(l))})):M={};var I=Object.keys(f.iconDependencies);I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"icons"},(function(e,t){A||(A=e,S=t,P.call(l))})):S={};var L=Object.keys(f.patternDependencies);function P(){if(A)return s(A);if(M&&S&&E){var t=new i(M),r=new e.ImageAtlas(S,E);for(var a in h){var l=h[a];l instanceof e.SymbolBucket?(o(l.layers,this.zoom,n),e.performSymbolLayout(l,M,t.positions,S,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(f,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:e.values(h).filter((function(e){return!e.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?M:null,iconMap:this.returnDependencies?S:null,glyphPositions:this.returnDependencies?t.positions:null})}}L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"patterns"},(function(e,t){A||(A=e,E=t,P.call(l))})):E={},P.call(this)};var l=function(e,t,r,n){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(t,r){var n=this,i=t.uid;this.loading||(this.loading={});var o=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[i]=new a(t);s.abort=this.loadVectorData(t,(function(t,a){if(delete n.loading[i],t||!a)return s.status="done",n.loaded[i]=s,r(t);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(t,n){if(t||!n)return r(t);r(null,e.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(e,t){var r=this,n=this.loaded,i=e.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),t(e,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(e,t){var r=this.loading,n=e.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),t()},l.prototype.removeTile=function(e,t){var r=this.loaded,n=e.uid;r&&r[n]&&delete r[n],t()};var c=e.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(t,r){var n=t.uid,i=t.encoding,a=t.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new e.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(t){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]};var h=function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n=0!=!!t&&e.reverse()}var d=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,n=this._feature.geometry;r"u"&&(n.push(s),l=n.length-1,a[s]=l),t.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var h=u+":"+c,f=o[h];typeof f>"u"&&(i.push(c),f=i.length-1,o[h]=f),t.writeVarint(f)}}function E(e,t){return(t<<3)+(7&e)}function C(e){return e<<1^e>>31}function I(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;s>1;z(e,t,o,n,i,a%2),P(e,t,r,n,o-1,a+1),P(e,t,r,o+1,i,a+1)}}function z(e,t,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);z(e,t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=t[2*r+a],f=n,p=i;for(D(e,t,n,r),t[2*i+a]>h&&D(e,t,n,i);fh;)p--}t[2*n+a]===h?D(e,t,n,p):D(e,t,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(e,t,r,n){O(e,r,n),O(t,2*r,2*n),O(t,2*r+1,2*n+1)}function O(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function R(e,t,r,n){var i=e-r,a=t-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var n in e)r[n]=new v(e[n].features,t),r[n].name=n,r[n].version=t.version,r[n].extent=t.extent;return k({layers:r})},b.GeoJSONWrapper=T;var F=function(e){return e[0]},B=function(e){return e[1]},j=function(e,t,r,n,i){void 0===t&&(t=F),void 0===r&&(r=B),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(e.length),s=this.coords=new i(2*e.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(e[d]);else{var m=Math.floor((p+f)/2);s=t[2*m],l=t[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(e[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}}return u}(this.ids,this.coords,e,t,r,n,this.nodeSize)},j.prototype.within=function(e,t,r){return function(e,t,r,n,i,a){for(var o=[0,e.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a)for(var f=h;f<=u;f++)R(t[2*f],t[2*f+1],r,n)<=l&&s.push(e[f]);else{var p=Math.floor((h+u)/2),d=t[2*p],m=t[2*p+1];R(d,m,r,n)<=l&&s.push(e[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var N={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},U=function(e){this.options=$(Object.create(N),e),this.trees=new Array(this.options.maxZoom+1)};function V(e,t,r,n,i){return{x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(e,t){var r=e.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Z(i),zoom:1/0,index:t,parentId:-1}}function H(e){return{type:"Feature",id:e.id,properties:G(e),geometry:{type:"Point",coordinates:[Y(e.x),X(e.y)]}}}function G(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return $($({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function W(e){return e/360+.5}function Z(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function Y(e){return 360*(e-.5)}function X(e){var t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function $(e,t){for(var r in t)e[r]=t[r];return e}function K(e){return e.x}function J(e){return e.y}function Q(e,t,r,n){for(var i,a=n,o=r-t>>1,s=r-t,l=e[t],c=e[t+1],u=e[r],h=e[r+1],f=t+3;fa)i=f,a=p;else if(p===a){var d=Math.abs(f-o);dn&&(i-t>3&&Q(e,t,i,n),e[i+2]=a,r-i>3&&Q(e,i,r,n))}function ee(e,t,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=e-r)*o+(s=t-n)*s}function te(e,t,r,n){var i={id:typeof e>"u"?null:e,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)re(e,t);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=t.length-3;t[2]=1,Q(t,0,u,r),t[u+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function oe(e,t,r,n){for(var i=0;i1?1:r}function ce(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if("Point"===f||"MultiPoint"===f)ue(h,m,r,n,i);else if("LineString"===f)he(h,m,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===f)pe(h,m,r,n,i,!1);else if("Polygon"===f)pe(h,m,r,n,i,!0);else if("MultiPolygon"===f)for(var g=0;g=r&&o<=n&&(t.push(e[a]),t.push(e[a+1]),t.push(e[a+2]))}}function he(e,t,r,n,i,a,o){for(var s,l,c=fe(e),u=0===i?me:ge,h=e.start,f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),t.push(c),c=fe(e)),o&&(h+=s)}var b=e.length-3;p=e[b],d=e[b+1],m=e[b+2],(v=0===i?p:d)>=r&&v<=n&&de(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&de(c,c[0],c[1],c[2]),c.length&&t.push(c)}function fe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function pe(e,t,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function we(e,t,r,n){var i=t.geometry,a=t.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&t.size<(i?o:n))r.numPoints+=t.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,n=0,i=e.length,a=i-2;n0===t)for(n=0,i=e.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},U.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],t),s=this.getClusters([-180,n,i,a],t);return o.concat(s)}for(var l=this.trees[this._limitZoom(t)],c=[],u=0,h=l.range(W(r),Z(a),W(i),Z(n));ut&&(d+=v.numPoints||1)}if(d>=s){for(var x=u.x*p,_=u.y*p,b=o&&p>1?this._map(u,!0):null,w=(c<<5)+(t+1)+this.points.length,T=0,k=f;T1)for(var E=0,C=f;E>5},U.prototype._getOriginZoom=function(e){return(e-this.points.length)%32},U.prototype._map=function(e,t){if(e.numPoints)return t?$({},e.properties):e.properties;var r=this.points[e.index].properties,n=this.options.map(r);return t&&n===r?$({},n):n},ke.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},ke.prototype.splitTile=function(e,t,r,n,i,a,o){for(var s=[e,t,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=be(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=e,i){if(t===l.maxZoom||t===i)continue;var d=1<1&&console.time("clipping");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=ce(e,u,r-b,r+T,0,f.minX,f.maxX,l),_=ce(e,u,r+w,r+k,0,f.minX,f.maxX,l),e=null,x&&(m=ce(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=ce(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=ce(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=ce(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd("clipping"),s.push(m||[],t+1,2*r,2*n),s.push(g||[],t+1,2*r,2*n+1),s.push(y||[],t+1,2*r+1,2*n),s.push(v||[],t+1,2*r+1,2*n+1)}}},ke.prototype.getTile=function(e,t,r){var n=this.options,i=n.extent,a=n.debug;if(e<0||e>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);for(var l,c=e,u=t,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[Ae(c,u,h)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,h),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?xe(this.tiles[s],i):null):null};var Se=function(t){function r(e,r,n,i){t.call(this,e,r,n,Me),i&&(this.loadGeoJSON=i)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new e.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));h(o,!0);try{if(n.filter){var s=e.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(e){return e.key+": "+e.message})).join(", "));var l=o.features.filter((function(e){return s.value.evaluate({zoom:0},e)}));o={type:"FeatureCollection",features:l}}t._geoJSONIndex=n.cluster?new U(function(t){var r=t.superclusterOptions,n=t.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:t.button},r.remove=function(e){e.parentNode&&e.parentNode.removeChild(e)};var f=function(t){function r(){t.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(e){if(this.loaded!==e&&(this.loaded=e,e)){for(var t=0,r=this.requestors;t=0?1.2:1))}function y(e,t,r,n,i,a,o){for(var s=0;s65535)t(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])t(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(e,t){if(t){for(var r in t)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=t[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=e[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(f*f+m*m)}else p=n-Math.sqrt(f*f+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addRegularDash=function(e){for(var t=e.length-1;t>=0;--t){var r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}var i=e[0],a=e[e.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=e[s],c=0;c1&&(l=e[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=l.isDash?f:-f;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addDash=function(t,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&t.x=i&&t.y0&&(l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(new e.Event("data",n))}}))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setData=function(t){var r=this;return this._data=t,this.fire(new e.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(t){if(t)r.fire(new e.ErrorEvent(t));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new e.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(e,t){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:e,source:this.id},t),this},r.prototype.getClusterChildren=function(e,t){return this.actor.send("geojson.getClusterChildren",{clusterId:e,source:this.id},t),this},r.prototype.getClusterLeaves=function(e,t,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:e,limit:t,offset:r},n),this},r.prototype._updateWorkerData=function(t){var r=this;this._loaded=!1;var n=e.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(e.browser.resolveURL(i),e.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(e,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),t(e))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(t,r){var n=this,i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;var a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,a,(function(e,a){return delete t.request,t.unloadVectorData(),t.aborted?r(null):e?r(e):(t.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0},r.prototype.unloadTile=function(e){e.unloadVectorData(),this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(e.Evented),L=e.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(t){function r(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(t,r){var n=this;this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this.url=this.options.url,e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new e.ErrorEvent(i)):a&&(n.image=a,t&&(n.coordinates=t),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(e){var t=this;return this.image&&e.url?(this.options.url=e.url,this.load(e.coordinates,(function(){t.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setCoordinates=function(t){var r=this;this.coordinates=t;var n=t.map(e.MercatorCoordinate.fromLngLat);this.tileID=function(t){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=t;or.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=t}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,r=t.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,L.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),D=function(t){function r(r,n,i,a){t.call(this,r,n,i,a),n.coordinates?(!Array.isArray(n.coordinates)||4!==n.coordinates.length||n.coordinates.some((function(e){return!Array.isArray(e)||2!==e.length||e.some((function(e){return"number"!=typeof e}))})))&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"!=typeof n.canvas&&!(n.canvas instanceof e.window.HTMLCanvasElement)&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,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 e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.ErrorEvent(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())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,L.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var e=0,t=[this.canvas.width,this.canvas.height];ethis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(e){return e.wrapped().key in this.data},j.prototype.getAndRemove=function(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null},j.prototype._getAndRemoveByKey=function(e){var t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value},j.prototype.getByKey=function(e){var t=this.data[e];return t?t[0].value:null},j.prototype.get=function(e){return this.has(e)?this.data[e.wrapped().key][0].value:null},j.prototype.remove=function(e,t){if(!this.has(e))return this;var r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(e){for(this.max=e;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this},j.prototype.filter=function(e){var t=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(e){return this.getTileByID(e.key)},r.prototype.getTileByID=function(e){return this._tiles[e]},r.prototype._retainLoadedChildren=function(e,t,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>t+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>t;)if(e[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(e,t){if(e.key in this._loadedParentTiles){var r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(var n=e.overscaledZ-1;n>=t;n--){var i=e.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(e){var t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)},r.prototype.updateCacheSize=function(e){var t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),r=Math.floor(5*t),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(e){var t=(e-(void 0===this._prevLng?e:this._prevLng))/360,r=Math.round(t);if(this._prevLng=e,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(t){var n=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(t){return new e.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)})):(i=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(e){return n._source.hasTile(e)})))):i=[];var a=t.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(ze(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var v=d.children(this._source.maxzoom);if(n[v[0].key]&&n[v[1].key]&&n[v[2].key]&&n[v[3].key])continue}for(var x=m.wasRequested(),_=d.overscaledZ-1;_>=a;--_){var b=d.scaledTo(_);if(i[b.key]||(i[b.key]=!0,!(m=this.getTile(b))&&x&&(m=this._addTile(b)),m&&(n[b.key]=b,x=m.wasRequested(),m.hasData())))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var e in this._loadedParentTiles={},this._tiles){for(var t=[],r=void 0,n=this._tiles[e].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}t.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=t;a0)&&(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},r.prototype.clearTiles=function(){for(var e in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(e);this._cache.reset()},r.prototype.tilesIn=function(t,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(t):t,l=t.map((function(e){return o.pointCoordinate(e)})),c=s.map((function(e){return o.pointCoordinate(e)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&y[1].y+g>=0){var v=l.map((function(e){return s.getTilePoint(e)})),x=c.map((function(e){return s.getTilePoint(e)}));a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}},x=0;x=e.browser.now())return!0}return!1},r.prototype.setFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.updateState(e,t,r)},r.prototype.removeFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.removeFeatureState(e,t,r)},r.prototype.getFeatureState=function(e,t){return e=e||"_geojsonTileLayer",this._state.getState(e,t)},r.prototype.setDependencies=function(e,t,r){var n=this._tiles[e];n&&n.setDependencies(t,r)},r.prototype.reloadTilesForDependencies=function(e,t){for(var r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(e,t)}))},r}(e.Evented);function Pe(e,t){var r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function ze(e){return"raster"===e||"image"===e||"video"===e}function De(){return new e.window.Worker(na.workerUrl)}Le.maxOverzooming=10,Le.maxUnderzooming=3;var Oe="mapboxgl_preloaded_worker_pool",Re=function(){this.active={}};Re.prototype.acquire=function(e){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Ke=function(e,t,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(var a=0;a=-t[0]&&r<=t[0]&&n>=-t[1]&&n<=t[1]}function nt(t,r,n,i,a,o,s,l){var c=i?t.textSizeData:t.iconSizeData,u=e.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;f.clear();for(var p=t.lineVertexArray,d=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function ot(t,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=t.lineOffsetX*g,v=t.lineOffsetY*g;if(t.numGlyphs>1){var x=t.glyphStartIndex+t.numGlyphs,_=t.lineStartIndex,b=t.lineStartIndex+t.lineLength,w=it(g,l,y,v,n,h,f,t,c,o,p);if(!w)return{notEnoughRoom:!0};var T=et(w.first.point,s).point,k=et(w.last.point,s).point;if(i&&!n){var A=at(t.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=t.glyphStartIndex+1;M0?I.point:st(f,C,S,1,a),P=at(t.writingMode,S,L,d);if(P)return P}var z=lt(g*l.getoffsetX(t.glyphStartIndex),y,v,n,h,f,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var D=0,O=m;D0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new e.Point(u.getx(g),u.gety(g)),k=et(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=st(0===x?o:new e.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}Ke.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Ke.prototype.insert=function(e,t,r,n,i){this._forEachCell(t,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Ke.prototype.insertCircle=function(e,t,r,n){this._forEachCell(t-n,r-n,t+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(r),this.circles.push(n)},Ke.prototype._insertBoxCell=function(e,t,r,n,i,a){this.boxCells[i].push(a)},Ke.prototype._insertCircleCell=function(e,t,r,n,i,a){this.circleCells[i].push(a)},Ke.prototype._query=function(e,t,r,n,i,a){if(r<0||e>this.width||n<0||t>this.height)return!i&&[];var o=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Ke.prototype._queryCircle=function(e,t,r,n,i){var a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Ke.prototype.query=function(e,t,r,n,i){return this._query(e,t,r,n,!1,i)},Ke.prototype.hitTest=function(e,t,r,n,i){return this._query(e,t,r,n,!0,i)},Ke.prototype.hitTestCircle=function(e,t,r,n){return this._queryCircle(e,t,r,!0,n)},Ke.prototype._queryCell=function(e,t,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,y=0,v=m;yo*o+s*s},Ke.prototype._circleAndRectCollide=function(e,t,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ct=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ut(e,t){for(var r=0;r=1;L--)I.push(E.path[L]);for(var P=1;P0){for(var R=I[0].clone(),F=I[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[I]:F.xM.x||F.yM.y?[]:e.clipLine([I],A.x,A.y,M.x,M.y)}for(var j=0,N=O;j=this.screenRightBoundary||nthis.screenBottomBoundary},pt.prototype.isInsideGrid=function(e,t,r,n){return r>=0&&e=0&&t0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:e,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,e,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}):void 0},Tt.prototype.placeLayerBucketPart=function(t,r,n){var i=this,a=t.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),_="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(t,a){if(!r[t.crossTileID]){if(f)return void(i.placements[t.crossTileID]=new yt(!1,!1,!1));var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},I={box:null,offscreen:null},L=null,P=null,z=0,D=0,O=0;a.textFeatureIndex?z=a.textFeatureIndex:t.useRuntimeCollisionCircles&&(z=t.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=e.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[t.crossTileID];a&&(i.placedOrientations[t.crossTileID]=a,n=a,i.markUsedOrientation(o,n,t))}return n},B=function(r,n){if(o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(j=j.filter((function(e){return e!==N.anchor}))).unshift(N.anchor)}var U=function(e,r,n){for(var a=e.x2-e.x1,s=e.y2-e.y1,c=t.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=v?2*j.length:j.length,d=0;d=j.length,k=i.attemptAnchorPlacement(g,e,a,s,c,_,b,h,l,m,y,t,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=k.shift;break}}return f};B((function(){return U(R,a.iconBox,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[t.crossTileID];q&&(i.variableOffsets[t.crossTileID]=q,i.markUsedJustification(o,q.anchor,t,V))}}else{var H=function(e,r){var n=i.collisionIndex.placeCollisionBox(e,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,t),i.placedOrientations[t.crossTileID]=r),n};B((function(){return H(R,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?H(r,e.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,t.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),W=e.evaluateSizeForFeature(o.textSizeData,d,G),Z=s.get("text-padding"),Y=t.collisionCircleDiameter;L=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,W,l,c,u,n,b,m.predicate,Y,Z),T=v||L.circles.length>0&&!L.collisionDetected,S=S&&L.offscreen}if(a.iconFeatureIndex&&(O=a.iconFeatureIndex),a.iconBox){var X=function(e){var t=w&&E?wt(e,E.x,E.y,_,b,i.transform.angle):e;return i.collisionIndex.placeCollisionBox(t,x,h,l,m.predicate)};M=I&&I.box&&I.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var $=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,K=y||0===t.numIconVertices;if($||K?K?$||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(I&&I.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,O,m.ID),L&&(T&&i.collisionIndex.insertCollisionCircles(L.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID),n)){var J=o.bucketInstanceId,Q=i.collisionCircleArrays[J];void 0===Q&&(Q=i.collisionCircleArrays[J]=new vt);for(var ee=0;ee=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var I=t.symbolInstanceStart;I=0&&(t.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},Tt.prototype.markUsedOrientation=function(t,r,n){for(var i=r===e.WritingMode.horizontal||r===e.WritingMode.horizontalOnly?r:0,a=r===e.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===e.WritingMode.vertical,w=_===e.WritingMode.horizontal||_===e.WritingMode.horizontalOnly;if(v){var T=Pt(y.text),k=b?zt:T;d(t.text,s,k);var A=w?zt:T;d(t.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(e){e>=0&&(t.text.placedSymbolArray.get(e).hidden=M||b?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(t,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(t,"left",a,E),i.markUsedOrientation(t,E,a))}if(x){var C=Pt(y.icon),I=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var L=I?C:zt;d(t.icon,a.numIconVertices,L),t.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=I?zt:C;d(t.icon,a.numVerticalIconVertices,P),t.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){var z=t.collisionArrays[n];if(z){var D=new e.Point(0,0);if(z.textBox||z.verticalTextBox){var O=!0;if(c){var R=i.variableOffsets[m];R?(D=bt(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&D._rotate(h?i.transform.angle:-i.transform.angle)):O=!1}z.textBox&&kt(t.textCollisionBox.collisionVertexArray,y.text.placed,!O||b,D.x,D.y),z.verticalTextBox&&kt(t.textCollisionBox.collisionVertexArray,y.text.placed,!O||w,D.x,D.y)}var F=!(w||!z.verticalIconBox);z.iconBox&&kt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?D.x:0,f?D.y:0),z.verticalIconBox&&kt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?D.x:0,f?D.y:0)}}},g=0;ge},Tt.prototype.setStale=function(){this.stale=!0};var At=Math.pow(2,25),Mt=Math.pow(2,24),St=Math.pow(2,17),Et=Math.pow(2,16),Ct=Math.pow(2,9),It=Math.pow(2,8),Lt=Math.pow(2,1);function Pt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;var t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*At+t*Mt+r*St+t*Et+r*Ct+t*It+r*Lt+t}var zt=0,Dt=function(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Dt.prototype.continuePlacement=function(e,t,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[t[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Dt(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Ot.prototype.commit=function(e){return this.placement.commit(e),this.placement};var Rt=512/e.EXTENT/2,Ft=function(e,t,r){this.tileID=e,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;ne.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(e)&&l.findMatches(t.symbolInstances,e,i)}else{var c=o[e.scaledTo(Number(a)).key];c&&c.findMatches(t.symbolInstances,e,i)}}for(var u=0;u1?"@2x":"",l=e.getJSON(r.transformRequest(r.normalizeSpriteURL(t,s,".json"),e.ResourceType.SpriteJSON),(function(e,t){l=null,o||(o=e,i=t,u())})),c=e.getImage(r.transformRequest(r.normalizeSpriteURL(t,s,".png"),e.ResourceType.SpriteImage),(function(e,t){c=null,o||(o=e,a=t,u())}));function u(){if(o)n(o);else if(i&&a){var t=e.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new e.RGBAImage({width:c,height:u});e.RGBAImage.copy(t,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,(function(t,n){if(r._spriteRequest=null,t)r.fire(new e.ErrorEvent(t));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new e.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(t){var r=this.sourceCaches[t.source];if(r){var n=t.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+t.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(e){for(var t=[],r=0,n=e;r0)throw new Error("Unimplemented: "+i.map((function(e){return e.command})).join(", ")+".");return n.forEach((function(e){"setTransition"!==e.command&&r[e.command].apply(r,e.args)})),this.stylesheet=t,!0},r.prototype.addImage=function(t,r){if(this.getImage(t))return this.fire(new e.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(t,r),this._afterImageUpdated(t)},r.prototype.updateImage=function(e,t){this.imageManager.updateImage(e,t)},r.prototype.getImage=function(e){return this.imageManager.getImage(e)},r.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new e.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(t),this._afterImageUpdated(t)},r.prototype._afterImageUpdated=function(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new e.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(t,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(e.validateStyle.source,"sources."+t,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[t]=new Le(t,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:t}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===t)return this.fire(new e.ErrorEvent(new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),this._changed=!0},r.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},r.prototype.addLayer=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=t.id;if(this.getLayer(i))this.fire(new e.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===t.type){if(Ut(this,e.validateCustomStyleLayer(t)))return;a=e.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(i,t.source),t=e.clone$1(t),t=e.extend(t,{source:i})),this._validate(e.validateStyle.layer,"layers."+i,t,{arrayIndex:-1},n))return;a=e.createStyleLayer(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(t,r){if(this._checkLoaded(),this._changed=!0,this._layers[t]){if(t!==r){var n=this._order.indexOf(t);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;if(r&&-1===i)return void this.fire(new e.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));this._order.splice(i,0,t),this._layerOrderChanged=!0}}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(t){this._checkLoaded();var r=this._layers[t];if(r){r.setEventedParent(null);var n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(e){return this._layers[e]},r.prototype.hasLayer=function(e){return e in this._layers},r.prototype.setLayerZoomRange=function(t,r,n){this._checkLoaded();var i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(t);if(i){if(!e.deepEqual(i.filter,r)){if(null==r)return i.filter=void 0,void this._updateLayer(i);this._validate(e.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=e.clone$1(r),this._updateLayer(i))}}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(t){return e.clone$1(this.getLayer(t).filter)},r.prototype.setLayoutProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(t,r){var n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},r.prototype.setFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new e.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,t.id,r)):this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?t.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,t.id,r):this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,t.id);this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return e.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:e.mapObject(this.sourceCaches,(function(e){return e.serialize()})),layers:this._serializeLayers(this._order)},(function(e){return void 0!==e}))},r.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(e){for(var t=this,r=function(e){return"fill-extrusion"===t._layers[e].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=e;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 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_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),tr=xr("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);}"),rr=xr("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,0,1);}"),nr=xr("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),ir=xr("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ar=xr("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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;}"),or=xr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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);}"),sr=xr("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);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;}"),lr=xr("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;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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\n? a_pos\n: 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;}"),cr=xr("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;}"),ur=xr("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;\n#define PI 3.141592653589793\nvoid 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;}"),hr=xr("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute 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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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);}"),fr=xr("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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute 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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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);}"),pr=xr("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;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute 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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat 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;}"),dr=xr("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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute 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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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);}"),mr=xr("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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;}"),gr=xr("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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));}"),yr=xr("#define SDF_PX 8.0\nuniform 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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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);}"),vr=xr("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform 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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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);}");function xr(e,t){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,(function(e,t,r,n,i){return s[i]=!0,"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:t=t.replace(r,(function(e,t,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var _r=Object.freeze({__proto__:null,prelude:Zt,background:Yt,backgroundPattern:Xt,circle:$t,clippingMask:Kt,heatmap:Jt,heatmapTexture:Qt,collisionBox:er,collisionCircle:tr,debug:rr,fill:nr,fillOutline:ir,fillOutlinePattern:ar,fillPattern:or,fillExtrusion:sr,fillExtrusionPattern:lr,hillshadePrepare:cr,hillshade:ur,line:hr,lineGradient:fr,linePattern:pr,lineSDF:dr,raster:mr,symbolIcon:gr,symbolSDF:yr,symbolTextAndIcon:vr}),br=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function wr(e){for(var t=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Tr.prototype.draw=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=e.gl;if(!this.failedToCreate){for(var v in e.program.set(this.program),e.setDepthMode(r),e.setStencilMode(n),e.setColorMode(i),e.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(e,this.binderUniforms,h,{zoom:f});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[t],_=0,b=u.get();_0?1/(1-e):1+e}function Zr(e){return e>0?1-1/(1.001-e):-e}var Yr,Xr=function(e,t,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},$r=function(t,r,n,i,a,o,s,l,c,u,h){var f=a.transform;return e.extend(Xr(t,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+h})},Kr=function(t,r,n,i,a,o,s,l,c,u){return e.extend($r(t,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Jr=function(e,t,r){return{u_matrix:e,u_opacity:t,u_color:r}},Qr=function(t,r,n,i,a,o){return e.extend(function(e,t,r,n){var i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/dt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(i,o,n,a),{u_matrix:t,u_opacity:r})},en={fillExtrusion:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fillExtrusionPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_height_factor:new e.Uniform1f(t,r.u_height_factor),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fill:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},fillPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},fillOutline:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world)}},fillOutlinePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},circle:function(t,r){return{u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(t,r.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},collisionBox:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(t,r.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_overscale_factor:new e.Uniform1f(t,r.u_overscale_factor)}},collisionCircle:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_inv_matrix:new e.UniformMatrix4f(t,r.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(t,r.u_viewport_size)}},debug:function(t,r){return{u_color:new e.UniformColor(t,r.u_color),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_overlay:new e.Uniform1i(t,r.u_overlay),u_overlay_scale:new e.Uniform1f(t,r.u_overlay_scale)}},clippingMask:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmap:function(t,r){return{u_extrude_scale:new e.Uniform1f(t,r.u_extrude_scale),u_intensity:new e.Uniform1f(t,r.u_intensity),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmapTexture:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_color_ramp:new e.Uniform1i(t,r.u_color_ramp),u_opacity:new e.Uniform1f(t,r.u_opacity)}},hillshade:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_latrange:new e.Uniform2f(t,r.u_latrange),u_light:new e.Uniform2f(t,r.u_light),u_shadow:new e.UniformColor(t,r.u_shadow),u_highlight:new e.UniformColor(t,r.u_highlight),u_accent:new e.UniformColor(t,r.u_accent)}},hillshadePrepare:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_dimension:new e.Uniform2f(t,r.u_dimension),u_zoom:new e.Uniform1f(t,r.u_zoom),u_unpack:new e.Uniform4f(t,r.u_unpack)}},line:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels)}},lineGradient:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_image:new e.Uniform1i(t,r.u_image),u_image_height:new e.Uniform1f(t,r.u_image_height)}},linePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_texsize:new e.Uniform2f(t,r.u_texsize),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_image:new e.Uniform1i(t,r.u_image),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},lineSDF:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(t,r.u_patternscale_a),u_patternscale_b:new e.Uniform2f(t,r.u_patternscale_b),u_sdfgamma:new e.Uniform1f(t,r.u_sdfgamma),u_image:new e.Uniform1i(t,r.u_image),u_tex_y_a:new e.Uniform1f(t,r.u_tex_y_a),u_tex_y_b:new e.Uniform1f(t,r.u_tex_y_b),u_mix:new e.Uniform1f(t,r.u_mix)}},raster:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_tl_parent:new e.Uniform2f(t,r.u_tl_parent),u_scale_parent:new e.Uniform1f(t,r.u_scale_parent),u_buffer_scale:new e.Uniform1f(t,r.u_buffer_scale),u_fade_t:new e.Uniform1f(t,r.u_fade_t),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image0:new e.Uniform1i(t,r.u_image0),u_image1:new e.Uniform1i(t,r.u_image1),u_brightness_low:new e.Uniform1f(t,r.u_brightness_low),u_brightness_high:new e.Uniform1f(t,r.u_brightness_high),u_saturation_factor:new e.Uniform1f(t,r.u_saturation_factor),u_contrast_factor:new e.Uniform1f(t,r.u_contrast_factor),u_spin_weights:new e.Uniform3f(t,r.u_spin_weights)}},symbolIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture)}},symbolSDF:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},symbolTextAndIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texsize_icon:new e.Uniform2f(t,r.u_texsize_icon),u_texture:new e.Uniform1i(t,r.u_texture),u_texture_icon:new e.Uniform1i(t,r.u_texture_icon),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},background:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_color:new e.UniformColor(t,r.u_color)}},backgroundPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image:new e.Uniform1i(t,r.u_image),u_pattern_tl_a:new e.Uniform2f(t,r.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(t,r.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(t,r.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(t,r.u_pattern_br_b),u_texsize:new e.Uniform2f(t,r.u_texsize),u_mix:new e.Uniform1f(t,r.u_mix),u_pattern_size_a:new e.Uniform2f(t,r.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(t,r.u_pattern_size_b),u_scale_a:new e.Uniform1f(t,r.u_scale_a),u_scale_b:new e.Uniform1f(t,r.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(t,r.u_tile_units_to_pixels)}}};function tn(t,r,n,i,a,o,s){for(var l=t.context,c=l.gl,u=t.useProgram("collisionBox"),h=[],f=0,p=0,d=0;d0){var b=e.create(),w=v;e.mul(b,y.placementInvProjMatrix,t.transform.glCoordMatrix),e.mul(b,b,y.placementViewportMatrix),h.push({circleArray:_,circleOffset:p,transform:w,invTransform:b}),p=f+=_.length/4}x&&u.draw(l,c.LINES,Ae.disabled,Se.disabled,t.colorModeForRenderPass(),Ce.disabled,Pr(v,t.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,t.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=t.useProgram("collisionCircle"),k=new e.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ut(y.numGlyphs,p)}if(h){d.clear();for(var I=t.icon.placedSymbolArray,L=0;L0){var s=e.browser.now(),l=(s-t.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.clamp(f?l:1-c,0,1);return t.refreshedUponExpiration&&l>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var dn=new e.Color(1,0,0,1),mn=new e.Color(0,1,0,1),gn=new e.Color(0,0,1,1),yn=new e.Color(1,0,1,1),vn=new e.Color(0,1,1,1);function xn(e,t,r,n){bn(e,0,t+r/2,e.transform.width,r,n)}function _n(e,t,r,n){bn(e,t-r/2,0,r,e.transform.height,n)}function bn(t,r,n,i,a,o){var s=t.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*e.browser.devicePixelRatio,n*e.browser.devicePixelRatio,i*e.browser.devicePixelRatio,a*e.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function wn(t,r,n){var i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram("debug"),l=Ae.disabled,c=Se.disabled,u=t.colorModeForRenderPass(),h="$debug";i.activeTexture.set(a.TEXTURE0),t.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Ce.disabled,Dr(o,e.Color.red),h,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/t.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(e,t){e.initDebugOverlayCanvas();var r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,c,Ee.alphaBlended,Ce.disabled,Dr(o,e.Color.transparent,g),h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)}var Tn={symbol:function(t,r,n,i,a){if("translucent"===t.renderPass){var o=Se.disabled,s=t.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(t,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,h=0,f=t;h256&&this.clearStencil(),r.setColorMode(Ee.disabled),r.setDepthMode(Ae.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=t;a256&&this.clearStencil();var e=this.nextStencilID++,t=this.context.gl;return new Se({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)},kn.prototype.stencilModeForClipping=function(e){var t=this.context.gl;return new Se({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)},kn.prototype.stencilConfigForOverlap=function(e){var t,r=this.context.gl,n=e.sort((function(e,t){return t.overscaledZ-e.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?t.pop():null},kn.prototype.isPatternMissing=function(e){if(!e)return!1;if(!e.from||!e.to)return!0;var t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r},kn.prototype.useProgram=function(e,t){this.cache=this.cache||{};var r=""+e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Tr(this.context,e,_r[e],t,en[e],this._showOverdrawInspector)),this.cache[r]},kn.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()},kn.prototype.setBaseState=function(){var e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)},kn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=e.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var t=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,t.RGBA)}},kn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var An=function(e,t){this.points=e,this.planes=t};An.fromInvProjectionMatrix=function(t,r,n){var i=Math.pow(2,n),a=[[-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((function(r){return e.transformMat4([],r,t)})).map((function(t){return e.scale$1([],t,1/t[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(t){var r=e.sub([],a[t[0]],a[t[1]]),n=e.sub([],a[t[2]],a[t[1]]),i=e.normalize([],e.cross([],r,n)),o=-e.dot(i,a[t[1]]);return i.concat(o)}));return new An(a,o)};var Mn=function(t,r){this.min=t,this.max=r,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};Mn.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],n=e.clone$2(this.min),i=e.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var Sn=function(e,t,r,n){if(void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n};Sn.prototype.interpolate=function(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.number(t.right,r.right,n)),this},Sn.prototype.getCenter=function(t,r){var n=e.clamp((this.left+t-this.right)/2,0,t),i=e.clamp((this.top+r-this.bottom)/2,0,r);return new e.Point(n,i)},Sn.prototype.equals=function(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right},Sn.prototype.clone=function(){return new Sn(this.top,this.bottom,this.left,this.right)},Sn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var En=function(t,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=n??0,this._maxPitch=i??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Sn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Cn={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}};En.prototype.clone=function(){var e=new En(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.tileSize=this.tileSize,e.latRange=this.latRange,e.width=this.width,e.height=this.height,e._center=this._center,e.zoom=this.zoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._calcMatrices(),e},Cn.minZoom.get=function(){return this._minZoom},Cn.minZoom.set=function(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))},Cn.maxZoom.get=function(){return this._maxZoom},Cn.maxZoom.set=function(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))},Cn.minPitch.get=function(){return this._minPitch},Cn.minPitch.set=function(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))},Cn.maxPitch.get=function(){return this._maxPitch},Cn.maxPitch.set=function(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))},Cn.renderWorldCopies.get=function(){return this._renderWorldCopies},Cn.renderWorldCopies.set=function(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e},Cn.worldSize.get=function(){return this.tileSize*this.scale},Cn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Cn.size.get=function(){return new e.Point(this.width,this.height)},Cn.bearing.get=function(){return-this.angle/Math.PI*180},Cn.bearing.set=function(t){var r=-e.wrap(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Cn.pitch.get=function(){return this._pitch/Math.PI*180},Cn.pitch.set=function(t){var r=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Cn.fov.get=function(){return this._fov/Math.PI*180},Cn.fov.set=function(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())},Cn.zoom.get=function(){return this._zoom},Cn.zoom.set=function(e){var t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom,this._constrain(),this._calcMatrices())},Cn.center.get=function(){return this._center},Cn.center.set=function(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())},Cn.padding.get=function(){return this._edgeInsets.toJSON()},Cn.padding.set=function(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())},Cn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},En.prototype.isPaddingEqual=function(e){return this._edgeInsets.equals(e)},En.prototype.interpolatePadding=function(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()},En.prototype.coveringZoomLevel=function(e){var t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)},En.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new e.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new e.Point(0,0)),i=this.pointCoordinate(new e.Point(this.width,0)),a=this.pointCoordinate(new e.Point(this.width,this.height)),o=this.pointCoordinate(new e.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new e.UnwrappedTileID(c,t));return r},En.prototype.coveringTiles=function(t){var r=this.coveringZoomLevel(t),n=r;if(void 0!==t.minzoom&&rt.maxzoom&&(r=t.maxzoom);var i=e.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=An.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(e){return{aabb:new Mn([e*a,0,0],[(e+1)*a,a,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}},u=[],h=[],f=r,p=t.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=m.aabb.distanceX(o),b=m.aabb.distanceY(o),w=Math.max(Math.abs(_),Math.abs(b)),T=3+(1<T&&m.zoom>=l)h.push({tileID:new e.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:e.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:v})}}return h.sort((function(e,t){return e.distanceSq-t.distanceSq})).map((function(e){return e.tileID}))},En.prototype.resize=function(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()},Cn.unmodified.get=function(){return this._unmodified},En.prototype.zoomScale=function(e){return Math.pow(2,e)},En.prototype.scaleZoom=function(e){return Math.log(e)/Math.LN2},En.prototype.project=function(t){var r=e.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(t.lng)*this.worldSize,e.mercatorYfromLat(r)*this.worldSize)},En.prototype.unproject=function(t){return new e.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()},Cn.point.get=function(){return this.project(this.center)},En.prototype.setLocationAtPoint=function(t,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},En.prototype.locationPoint=function(e){return this.coordinatePoint(this.locationCoordinate(e))},En.prototype.pointLocation=function(e){return this.coordinateLocation(this.pointCoordinate(e))},En.prototype.locationCoordinate=function(t){return e.MercatorCoordinate.fromLngLat(t)},En.prototype.coordinateLocation=function(e){return e.toLngLat()},En.prototype.pointCoordinate=function(t){var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4(r,r,this.pixelMatrixInverse),e.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new e.MercatorCoordinate(e.number(o,s,f)/this.worldSize,e.number(l,c,f)/this.worldSize)},En.prototype.coordinatePoint=function(t){var r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix),new e.Point(r[0]/r[3],r[1]/r[3])},En.prototype.getBounds=function(){return(new e.LngLatBounds).extend(this.pointLocation(new e.Point(0,0))).extend(this.pointLocation(new e.Point(this.width,0))).extend(this.pointLocation(new e.Point(this.width,this.height))).extend(this.pointLocation(new e.Point(0,this.height)))},En.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},En.prototype.setMaxBounds=function(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},En.prototype.calculatePosMatrix=function(t,r){void 0===r&&(r=!1);var n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=t.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*t.wrap,l=e.identity(new Float64Array(16));return e.translate(l,l,[s*o,a.y*o,0]),e.scale(l,l,[o/e.EXTENT,o/e.EXTENT,1]),e.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},En.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},En.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=e.mercatorYfromLat(h[1])*this.worldSize,t=(o=e.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}(void 0!==n||void 0!==i)&&(this.center=this.unproject(new e.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},En.prototype._calcMatrices=function(){if(this.height){var t=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(t)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,h=new Float64Array(16);e.perspective(h,this._fov,this.width/this.height,u,c),h[8]=2*-r.x/this.width,h[9]=2*r.y/this.height,e.scale(h,h,[1,-1,1]),e.translate(h,h,[0,0,-this.cameraToCenterDistance]),e.rotateX(h,h,this._pitch),e.rotateZ(h,h,this.angle),e.translate(h,h,[-s,-l,0]),this.mercatorMatrix=e.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),e.scale(h,h,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=e.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(e.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=e.create(),e.scale(h,h,[this.width/2,-this.height/2,1]),e.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=e.create(),e.scale(h,h,[1,-1,1]),e.translate(h,h,[-1,-1,0]),e.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=e.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},En.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new e.Point(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},En.prototype.getCameraPoint=function(){var t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,r))},En.prototype.getCameraQueryGeometry=function(t){var r=this.getCameraPoint();if(1===t.length)return[t[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=t;s=3&&!e.some((function(e){return isNaN(e)}))){var t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());try{e.window.history.replaceState(e.window.history.state,null,t)}catch{}};var Ln={linearity:.3,easing:e.bezier(0,0,.3,1)},Pn=e.extend({deceleration:2500,maxSpeed:1400},Ln),zn=e.extend({deceleration:20,maxSpeed:1400},Ln),Dn=e.extend({deceleration:1e3,maxSpeed:360},Ln),On=e.extend({deceleration:1e3,maxSpeed:90},Ln),Rn=function(e){this._map=e,this.clear()};function Fn(e,t){(!e.duration||e.duration0&&r-t[0].time>160;)t.shift()},Rn.prototype._onMoveEnd=function(t){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.dblclick=function(e){return this._firePreventable(new jn(e.type,this._map,e))},Vn.prototype.mouseover=function(e){this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.mouseout=function(e){this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.touchstart=function(e){return this._firePreventable(new Nn(e.type,this._map,e))},Vn.prototype.touchmove=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype.touchend=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype.touchcancel=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype._firePreventable=function(e){if(this._map.fire(e),e.defaultPrevented)return{}},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var qn=function(e){this._map=e};qn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},qn.prototype.mousemove=function(e){this._map.fire(new jn(e.type,this._map,e))},qn.prototype.mousedown=function(){this._delayContextMenu=!0},qn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new jn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},qn.prototype.contextmenu=function(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new jn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()},qn.prototype.isEnabled=function(){return!0},qn.prototype.isActive=function(){return!1},qn.prototype.enable=function(){},qn.prototype.disable=function(){};var Hn=function(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1};function Gn(e,t){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),!this.aborted&&(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){for(var r=new e.Point(0,0),n=0,i=t;n30)&&(this.aborted=!0)}}},Wn.prototype.touchend=function(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(e){this.singleTap=new Wn(e),this.numTaps=e.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(e,t,r){this.singleTap.touchstart(e,t,r)},Zn.prototype.touchmove=function(e,t,r){this.singleTap.touchmove(e,t,r)},Zn.prototype.touchend=function(e,t,r){var n=this.singleTap.touchend(e,t,r);if(n){var i=e.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if((!i||!a)&&this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Yn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Yn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Yn.prototype.touchstart=function(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)},Yn.prototype.touchmove=function(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)},Yn.prototype.touchend=function(e,t,r){var n=this,i=this._zoomIn.touchend(e,t,r),a=this._zoomOut.touchend(e,t,r);return i?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(i)},{originalEvent:e})}}):a?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(a)},{originalEvent:e})}}):void 0},Yn.prototype.touchcancel=function(){this.reset()},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Xn={0:1,2:2},$n=function(e){this.reset(),this._clickTolerance=e.clickTolerance||1};$n.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},$n.prototype._correctButton=function(e,t){return!1},$n.prototype._move=function(e,t){return{}},$n.prototype.mousedown=function(e,t){if(!this._lastPoint){var n=r.mouseButton(e);this._correctButton(e,n)&&(this._lastPoint=t,this._eventButton=n)}},$n.prototype.mousemoveWindow=function(e,t){var r=this._lastPoint;if(r){if(e.preventDefault(),function(e,t){var r=Xn[t];return void 0===e.buttons||(e.buttons&r)!==r}(e,this._eventButton))return void this.reset();if(this._moved||!(t.dist(r)0&&(this._active=!0);var i=Gn(n,r),a=new e.Point(0,0),o=new e.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(e.x)}var li=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},t.prototype._start=function(e){this._lastPoints=e,si(e[0].sub(e[1]))&&(this._valid=!1)},t.prototype._move=function(e,t,r){var n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},t.prototype.gestureBeginsVertically=function(e,t,r){if(void 0!==this._valid)return this._valid;var n=e.mag()>=2,i=t.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=e.y>0==t.y>0;return si(e)&&si(t)&&a}},t}(ti),ci={panStep:100,bearingStep:15,pitchStep:10},ui=function(){var e=ci;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1};function hi(e){return e*(2-e)}ui.prototype.reset=function(){this._active=!1},ui.prototype.keydown=function(e){var t=this;if(!(e.altKey||e.ctrlKey||e.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),a=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),a=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:hi,zoom:r?Math.round(l)+r*(e.shiftKey?2:1):l,bearing:s.getBearing()+n*t._bearingStep,pitch:s.getPitch()+i*t._pitchStep,offset:[-a*t._panStep,-o*t._panStep],center:s.getCenter()},{originalEvent:e})}}}},ui.prototype.enable=function(){this._enabled=!0},ui.prototype.disable=function(){this._enabled=!1,this.reset()},ui.prototype.isEnabled=function(){return this._enabled},ui.prototype.isActive=function(){return this._active},ui.prototype.disableRotation=function(){this._rotationDisabled=!0},ui.prototype.enableRotation=function(){this._rotationDisabled=!1};var fi=4.000244140625,pi=1/450,di=function(t,r){this._map=t,this._el=t.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=pi,e.bindAll(["_onTimeout"],this)};di.prototype.setZoomRate=function(e){this._defaultZoomRate=e},di.prototype.setWheelZoomRate=function(e){this._wheelZoomRate=e},di.prototype.isEnabled=function(){return!!this._enabled},di.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},di.prototype.isZooming=function(){return!!this._zooming},di.prototype.enable=function(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},di.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},di.prototype.wheel=function(t){if(this.isEnabled()){var r=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,n=e.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%fi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),t.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=t,this._delta-=r,this._active||this._start(t)),t.preventDefault()}},di.prototype._onTimeout=function(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},di.prototype._start=function(t){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 n=r.mousePos(this._el,t);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},di.prototype.renderFrame=function(){var t=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>fi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=e.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){t._zooming=!1,t._handler._triggerRenderFrame(),delete t._targetZoom,delete t._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},di.prototype._smoothOutEasing=function(t){var r=e.ease;if(this._prevEase){var n=this._prevEase,i=(e.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.bezier(o,s,.25,1)}return this._prevEase={start:e.browser.now(),duration:t,easing:r},r},di.prototype.reset=function(){this._active=!1};var mi=function(e,t){this._clickZoom=e,this._tapZoom=t};mi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},mi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},mi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},mi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var gi=function(){this.reset()};gi.prototype.reset=function(){this._active=!1},gi.prototype.dblclick=function(e,t){return e.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(e.shiftKey?-1:1),around:r.unproject(t)},{originalEvent:e})}}},gi.prototype.enable=function(){this._enabled=!0},gi.prototype.disable=function(){this._enabled=!1,this.reset()},gi.prototype.isEnabled=function(){return this._enabled},gi.prototype.isActive=function(){return this._active};var yi=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};yi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},yi.prototype.touchstart=function(e,t,r){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=t[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(e,t,r))},yi.prototype.touchmove=function(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)},yi.prototype.touchend=function(e,t,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(e,t,r)&&(this._tapTime=e.timeStamp)},yi.prototype.touchcancel=function(){this.reset()},yi.prototype.enable=function(){this._enabled=!0},yi.prototype.disable=function(){this._enabled=!1,this.reset()},yi.prototype.isEnabled=function(){return this._enabled},yi.prototype.isActive=function(){return this._active};var vi=function(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r};vi.prototype.enable=function(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var xi=function(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r};xi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},xi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},xi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},xi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var _i=function(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};_i.prototype.enable=function(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},_i.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},_i.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},_i.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},_i.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},_i.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var bi=function(e){return e.zoom||e.drag||e.pitch||e.rotate},wi=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(e.Event);function Ti(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}var ki=function(t,n){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rn(t),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),e.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[e.window.document,"mousemove",{capture:!0}],[e.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[e.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,b):Math.max(.5,b),w=Math.pow(g,1-t),T=i.unproject(x.add(_.mult(t*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(e){n._afterEase(r,e)}),t),this},r.prototype._prepareEase=function(t,r,n){void 0===n&&(n={}),this._moving=!0,!r&&!n.moving&&this.fire(new e.Event("movestart",t)),this._zooming&&!n.zooming&&this.fire(new e.Event("zoomstart",t)),this._rotating&&!n.rotating&&this.fire(new e.Event("rotatestart",t)),this._pitching&&!n.pitching&&this.fire(new e.Event("pitchstart",t))},r.prototype._fireMoveEvents=function(t){this.fire(new e.Event("move",t)),this._zooming&&this.fire(new e.Event("zoom",t)),this._rotating&&this.fire(new e.Event("rotate",t)),this._pitching&&this.fire(new e.Event("pitch",t))},r.prototype._afterEase=function(t,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.Event("zoomend",t)),i&&this.fire(new e.Event("rotateend",t)),a&&this.fire(new e.Event("pitchend",t)),this.fire(new e.Event("moveend",t))}},r.prototype.flyTo=function(t,r){var n=this;if(!t.essential&&e.browser.prefersReducedMotion){var i=e.pick(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in t?e.clamp(+t.zoom,a.minZoom,a.maxZoom):o,h="bearing"in t?this._normalizeBearing(t.bearing,s):s,f="pitch"in t?+t.pitch:l,p="padding"in t?t.padding:a.padding,d=a.zoomScale(u-o),m=e.Point.convert(t.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=e.LngLat.convert(t.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=t.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if("minZoom"in t){var A=e.clamp(Math.min(t.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);b=Math.sqrt(M/k*2)}var S=b*b;function E(e){var t=(T*T-w*w+(e?-1:1)*S*S*k*k)/(2*(e?T:w)*S*k);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function I(e){return(Math.exp(e)+Math.exp(-e))/2}var L=E(0),P=function(e){return I(L)/I(L+b*e)},z=function(e){return w*((I(L)*function(e){return C(e)/I(e)}(L+b*e)-C(L))/S)/k},D=(E(1)-L)/b;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,r);var O=Tt.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(t){var i=t*D,d=1/P(i);a.zoom=1===t?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=e.number(s,h,t)),n._pitching&&(a.pitch=e.number(l,f,t)),n._padding&&(a.interpolatePadding(c,p,t),g=a.centerPoint.add(m));var y=1===t?v:a.unproject(x.add(_.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),t),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,t)}if(!e){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(t,r,n){!1===n.animate||0===n.duration?(t(1),r()):(this._easeStart=e.browser.now(),this._easeOptions=n,this._onEaseFrame=t,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(t,r){t=e.wrap(t,-180,180);var n=Math.abs(t-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}},r}(e.Evented),Mi=function(t){void 0===t&&(t={}),this.options=t,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Mi.prototype.getDefaultPosition=function(){return"bottom-right"},Mi.prototype.onAdd=function(e){var t=this.options&&this.options.compact;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),t&&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),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Mi.prototype.onRemove=function(){r.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},Mi.prototype._setElementTitle=function(e,t){var r=this._map._getUIString("AttributionControl."+t);e.title=r,e.setAttribute("aria-label",r)},Mi.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"))},Mi.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){var n=r.reduce((function(e,t,n){return t.value&&(e+=t.key+"="+t.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,e.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Mi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Si=function(){e.bindAll(["_updateLogo"],this),e.bindAll(["_updateCompact"],this)};Si.prototype.onAdd=function(e){this._map=e,this._container=r.create("div","mapboxgl-ctrl");var t=r.create("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Si.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Si.prototype.getDefaultPosition=function(){return"bottom-left"},Si.prototype._updateLogo=function(e){(!e||"metadata"===e.sourceDataType)&&(this._container.style.display=this._logoRequired()?"block":"none")},Si.prototype._logoRequired=function(){if(this._map.style){var e=this._map.style.sourceCaches;for(var t in e)if(e[t].getSource().mapbox_logo)return!0;return!1}},Si.prototype._updateCompact=function(){var e=this._container.children;if(e.length){var t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}};var Ei=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ei.prototype.add=function(e){var t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t},Ei.prototype.remove=function(e){for(var t=this._currentlyRunning,r=0,n=t?this._queue.concat(t):this._queue;rt.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var i=new En(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies);if(n.call(this,i,t),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new Ei,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},Ci,t.locale),this._clickTolerance=t.clickTolerance,this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken),"string"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error("Container '"+t.container+"' not found.")}else{if(!(t.container instanceof Li))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),typeof e.window<"u"&&(e.window.addEventListener("online",this._onWindowOnline,!1),e.window.addEventListener("resize",this._onWindowResize,!1),e.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new ki(this,t);var a="string"==typeof t.hash&&t.hash||void 0;this._hash=t.hash&&new In(a).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new Mi({customAttribution:t.customAttribution})),this.addControl(new Si,t.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(t){r._update("style"===t.dataType),r.fire(new e.Event(t.dataType+"data",t))})),this.on("dataloading",(function(t){r.fire(new e.Event(t.dataType+"dataloading",t))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=t.onAdd(this);this._controls.push(t);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this},i.prototype.hasControl=function(e){return this._controls.indexOf(e)>-1},i.prototype.resize=function(t){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new e.Event("movestart",t)).fire(new e.Event("move",t))),this.fire(new e.Event("resize",t)),a&&this.fire(new e.Event("moveend",t)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()},i.prototype.setMinZoom=function(e){if((e=e??-2)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(e){if((e=e??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()60)throw new Error("maxPitch must be less than or equal to 60");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(e){return this.transform.renderWorldCopies=e,this._update()},i.prototype.project=function(t){return this.transform.locationPoint(e.LngLat.convert(t))},i.prototype.unproject=function(t){return this.transform.pointLocation(e.Point.convert(t))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(e,t,r){var n,i=this;if("mouseenter"===e||"mouseover"===e){var a=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[];o.length?a||(a=!0,r.call(i,new jn(e,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===e||"mouseout"===e){var o=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){(i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[]).length?o=!0:o&&(o=!1,r.call(i,new jn(e,i,n.originalEvent)))},mouseout:function(t){o&&(o=!1,r.call(i,new jn(e,i,t.originalEvent)))}}}}return{layer:t,listener:r,delegates:(n={},n[e]=function(e){var n=i.getLayer(t)?i.queryRenderedFeatures(e.point,{layers:[t]}):[];n.length&&(e.features=n,r.call(i,e),delete e.features)},n)}},i.prototype.on=function(e,t,r){if(void 0===r)return n.prototype.on.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(e,t,r){if(void 0===r)return n.prototype.once.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(e,t,r){var i=this;return void 0===r?n.prototype.off.call(this,e,t):(this._delegatedListeners&&this._delegatedListeners[e]&&function(n){for(var a=n[e],o=0;o180;){var s=n.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t}Bi.prototype.down=function(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),r.disableDrag()},Bi.prototype.move=function(e,t){var r=this.map,n=this.mouseRotate.mousemoveWindow(e,t);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(e,t);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Bi.prototype.off=function(){var e=this.element;r.removeEventListener(e,"mousedown",this.mousedown),r.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(e,"touchmove",this.touchmove),r.removeEventListener(e,"touchend",this.touchend),r.removeEventListener(e,"touchcancel",this.reset),this.offTemp()},Bi.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(e.window,"mousemove",this.mousemove),r.removeEventListener(e.window,"mouseup",this.mouseup)},Bi.prototype.mousedown=function(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:function(){return t.preventDefault()}}),r.mousePos(this.element,t)),r.addEventListener(e.window,"mousemove",this.mousemove),r.addEventListener(e.window,"mouseup",this.mouseup)},Bi.prototype.mousemove=function(e){this.move(e,r.mousePos(this.element,e))},Bi.prototype.mouseup=function(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()},Bi.prototype.touchstart=function(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return e.preventDefault()}},this._startPos))},Bi.prototype.touchmove=function(e){1!==e.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.move({preventDefault:function(){return e.preventDefault()}},this._lastPos))},Bi.prototype.touchend=function(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.Event("dragstart"))),this.fire(new e.Event("drag")))},n.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),"active"===this._state&&this.fire(new e.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(e){this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.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))},n.prototype.setDraggable=function(e){return this._draggable=!!e,this._map&&(e?(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},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(e){return this._rotation=e||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(e){return this._rotationAlignment=e||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(e.Evented),Hi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Gi=0,Wi=!1,Zi=function(t){function n(r){t.call(this),this.options=e.extend({},Hi,r),e.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(t){void 0!==Vi?t(Vi):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:"geolocation"}).then((function(e){Vi="denied"!==e.state,t(Vi)})):(Vi=!!e.window.navigator.geolocation,t(Vi))}(this._setupUI),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(e.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(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Gi=0,Wi=!1},n.prototype._isOutOfMapMaxBounds=function(e){var t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.getNorth())},n.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")}},n.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,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")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),(!this.options.trackUserLocation||"ACTIVE_LOCK"===this._watchState)&&this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("geolocate",t)),this._finish()}},n.prototype._updateCamera=function(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(t){if(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var e=this._map._container.clientHeight/2,t=this._map.unproject([0,e]),r=this._map.unproject([1,e]),n=t.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){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 r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Wi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("error",t)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(t){var n=this;if(this._container.addEventListener("contextmenu",(function(e){return e.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===t){e.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new qi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new qi({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(t){var r=t.originalEvent&&"resize"===t.originalEvent.type;!t.geolocateSource&&"ACTIVE_LOCK"===n._watchState&&!r&&(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new e.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return e.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 e.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Gi--,Wi=!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 e.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 e.Event("trackuserlocationstart"))}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")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Gi>1?(t={maximumAge:6e5,timeout:0},Wi=!0):(t=this.options.positionOptions,Wi=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){e.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)},n}(e.Evented),Yi={maxWidth:100,unit:"metric"},Xi=function(t){this.options=e.extend({},Yi,t),e.bindAll(["_onMove","setUnit"],this)};function $i(e,t,r){var n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Ki(t,n,l/5280,e._getUIString("ScaleControl.Miles")):Ki(t,n,l,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ki(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ki(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):Ki(t,n,s,e._getUIString("ScaleControl.Meters"))}function Ki(e,t,r,n){var i=function(e){var t=Math.pow(10,(""+Math.floor(e)).length-1),r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){var t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r),t*r}(r),a=i/r;e.style.width=t*a+"px",e.innerHTML=i+" "+n}Xi.prototype.getDefaultPosition=function(){return"bottom-left"},Xi.prototype._onMove=function(){$i(this._map,this._container,this.options)},Xi.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Xi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Xi.prototype.setUnit=function(e){this.options.unit=e,$i(this._map,this._container,this.options)};var Ji=function(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce("Full screen control 'container' must be a DOM element.")),e.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in e.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in e.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in e.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in e.window.document&&(this._fullscreenchange="MSFullscreenChange")};Ji.prototype.onAdd=function(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var t=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",t).setAttribute("aria-hidden",!0),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.prototype._onClickFullscreen=function(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.mozCancelFullScreen?e.window.document.mozCancelFullScreen():e.window.document.msExitFullscreen?e.window.document.msExitFullscreen():e.window.document.webkitCancelFullScreen&&e.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 Qi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},ea=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ta=function(t){function n(r){t.call(this),this.options=e.extend(Object.create(Qi),r),e.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,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 e.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.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 e.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(t){return this._lngLat=e.LngLat.convert(t),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},n.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},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(t){return this.setDOMContent(e.window.document.createTextNode(t))},n.prototype.setHTML=function(t){var r,n=e.window.document.createDocumentFragment(),i=e.window.document.createElement("body");for(i.innerHTML=t;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(e){return this.options.maxWidth=e,this._update(),this},n.prototype.setDOMContent=function(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(e){this._container&&this._container.classList.add(e)},n.prototype.removeClassName=function(e){this._container&&this._container.classList.remove(e)},n.prototype.setOffset=function(e){return this.options.offset=e,this._update(),this},n.prototype.toggleClassName=function(e){if(this._container)return this._container.classList.toggle(e)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.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))},n.prototype._onMouseUp=function(e){this._update(e.point)},n.prototype._onMouseMove=function(e){this._update(e.point)},n.prototype._onDrag=function(e){this._update(e.point)},n.prototype._update=function(e){var t=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(e){return t._container.classList.add(e)})),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=ji(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,o=ra(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-c?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,Ni[a]+" translate("+u.x+"px,"+u.y+"px)"),Ui(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var e=this._container.querySelector(ea);e&&e.focus()}},n.prototype._onClose=function(){this.remove()},n}(e.Evented);function ra(t){if(t){if("number"==typeof t){var r=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{center:new e.Point(0,0),top:new e.Point(0,t),"top-left":new e.Point(r,r),"top-right":new e.Point(-r,r),bottom:new e.Point(0,-t),"bottom-left":new e.Point(r,-r),"bottom-right":new e.Point(-r,-r),left:new e.Point(t,0),right:new e.Point(-t,0)}}if(t instanceof e.Point||Array.isArray(t)){var n=e.Point.convert(t);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:e.Point.convert(t.center||[0,0]),top:e.Point.convert(t.top||[0,0]),"top-left":e.Point.convert(t["top-left"]||[0,0]),"top-right":e.Point.convert(t["top-right"]||[0,0]),bottom:e.Point.convert(t.bottom||[0,0]),"bottom-left":e.Point.convert(t["bottom-left"]||[0,0]),"bottom-right":e.Point.convert(t["bottom-right"]||[0,0]),left:e.Point.convert(t.left||[0,0]),right:e.Point.convert(t.right||[0,0])}}return ra(new e.Point(0,0))}var na={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:Di,NavigationControl:Fi,GeolocateControl:Zi,AttributionControl:Mi,ScaleControl:Xi,FullscreenControl:Ji,Popup:ta,Marker:qi,Style:Gt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:function(){je().acquire(Oe)},clearPrewarmedResources:function(){var e=Fe;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Oe),Fe=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()"))},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t},get workerCount(){return Re.workerCount},set workerCount(e){Re.workerCount=e},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage:function(t){e.clearTileCache(t)},workerUrl:""};return na})),r},"object"==typeof e&&typeof t<"u"?t.exports=n():(r=r||self).mapboxgl=n()}}),V_=m({"src/plots/mapbox/layers.js"(e,t){var r=ct(),n=Et().sanitizeHTML,i=O_(),a=C_();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapboxLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.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,l(e)){var r=function(e){var t,r=e.sourcetype,i=e.source,a={type:r};return"geojson"===r?t="data":"vector"===r?t="string"==typeof i?"url":"tiles":"raster"===r?(t="tiles",a.tileSize=256):"image"===r&&(t="url",a.coordinates=e.coordinates),a[t]=i,e.sourceattribution&&(a.attribution=n(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},s.findFollowingMapboxLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t=this,r=t.map,i=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(c)};var l=t.dragOptions;t.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:t.div,gd:i,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),h(o)||u(o)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){f(e,r,n,t.dragOptions,o)},s.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))}function c(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},x.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])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;t1&&r.warn(f.multipleTokensErrorMsg),i[0]):(a.length&&r.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(e,o);t.accessToken=s;for(var l=0;lw/2){var T=v.split("|").join("
");_.text(T).attr("data-unformatted",T).call(c.convertToTspans,e),b=l.bBox(_.node())}_.attr("transform",n(-3,8-b.height)),x.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>w&&(k=w/(b.width+6));var A=[a.l+a.w*d.x[1],a.t+a.h*(1-d.y[0])];x.attr("transform",n(A[0],A[1])+i(k))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[h],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),J_=m({"src/traces/choroplethmapbox/index.js"(e,t){["*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(" "),t.exports={attributes:Y_(),supplyDefaults:X_(),colorbar:Vo(),calc:Ng(),plot:K_(),hoverPoints:qg(),eventData:Hg(),selectPoints:Gg(),styleOnSelect:function(e,t){t&&t[0].trace._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("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(t),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),ab=m({"src/traces/densitymapbox/hover.js"(e,t){var r=ar(),n=B_().hoverPoints,i=B_().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),ob=m({"src/traces/densitymapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),sb=m({"src/traces/densitymapbox/index.js"(e,t){["*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(" "),t.exports={attributes:eb(),supplyDefaults:tb(),colorbar:Vo(),formatLabels:D_(),calc:rb(),plot:ib(),hoverPoints:ab(),eventData:ob(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;nESRI"},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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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}\n{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"}}}),ub=m({"src/plots/map/styles/arcgis-sat.js"(e,t){t.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"}}]}}}),hb=m({"src/plots/map/constants.js"(e,t){var r=Ye(),n=cb(),i="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",a="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",o="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",s={basic:o,streets:o,outdoors:o,light:i,dark:a,satellite:ub(),"satellite-streets":n,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'© OpenStreetMap contributors',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":i,"carto-darkmatter":a,"carto-voyager":o,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},l=r(s);t.exports={styleValueDflt:"basic",stylesMap:s,styleValuesMap:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",l.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error."}}}),fb=m({"src/plots/map/layout_attributes.js"(e,t){var r=ct(),n=W().defaultLine,i=Ma().attributes,a=j(),o=kn().textposition,s=De().overrideAll,l=vt().templatedArray,c=hb(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("map",".layers",!0)],domain:i({name:"map"}),style:{valType:"any",values:c.styleValuesMap,dflt:c.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:l("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:n},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:n}},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:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),pb=m({"src/traces/scattermap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=sg(),s=kn(),l=fb(),c=q(),u=zt(),h=B().extendFlat,f=De().overrideAll,p=fb(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.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:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),db=m({"src/traces/scattermap/constants.js"(e,t){var r=["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"];t.exports={isSupportedFont:function(e){return-1!==r.indexOf(e)}}}}),mb=m({"src/traces/scattermap/defaults.js"(e,t){var r=ct(),n=Xt(),i=Yn(),a=Xn(),o=Kn(),s=Jn(),l=pb(),c=db().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}var d=function(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,f);if(d){if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var m=t.marker;"circle"!==m.symbol&&(r.isArrayOrTypedArray(m.size)&&(m.size=m.size[0]),r.isArrayOrTypedArray(m.color)&&(m.color=m.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var g=p("cluster.maxzoom"),y=p("cluster.step"),v=p("cluster.color",t.marker&&t.marker.color||u),x=p("cluster.size"),_=p("cluster.opacity");if(f("cluster.enabled",!1!==g||!1!==y||!1!==v||!1!==x||!1!==_)||n.hasText(t)){var b=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(b)?b:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}else t.visible=!1}}}),gb=m({"src/traces/scattermap/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),yb=m({"src/plots/map/convert_text_opts.js"(e,t){var r=ct();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),vb=m({"src/traces/scattermap/convert.js"(e,t){var r=M(),n=ct(),i=S().BADNUM,a=dg(),o=Yt(),s=er(),l=$t(),c=Xt(),u=db().isSupportedFont,h=yb(),f=Kt().appendArrayPointValue,p=Et().NEWLINES,d=Et().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e){return e[0]===i}function x(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var i,u=t[0].trace,b=!0===u.visible&&0!==u._length,w="none"!==u.fill,T=c.hasLines(u),k=c.hasMarkers(u),A=c.hasText(u),M=k&&"circle"===u.marker.symbol,S=k&&"circle"!==u.marker.symbol,E=u.cluster&&u.cluster.enabled,C=m("fill"),I=m("line"),L=m("circle"),P=m("symbol"),z={fill:C,line:I,circle:L,symbol:P};if(!b)return z;if((w||T)&&(i=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(i),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":u.fillcolor})),T&&(I.geojson=a.makeLine(i),I.layout.visibility="visible",n.extendFlat(I.paint,{"line-width":u.line.width,"line-color":u.line.color,"line-opacity":u.opacity})),M){var D=function(e){var t,i,a,c,u=e[0].trace,h=u.marker,f=u.selectedpoints,p=n.isArrayOrTypedArray(h.color),d=n.isArrayOrTypedArray(h.size),m=n.isArrayOrTypedArray(h.opacity);function g(e){return u.opacity*e}p&&(i=o.hasColorscale(u,"marker")?o.makeColorScaleFuncFromTrace(h):n.identity),d&&(a=l(u)),m&&(c=function(e){return g(r(e)?+n.constrain(e,0,1):0)});var y,x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}function u(e){return e+"°"}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(e){return e.id}))}var v=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-v;if(r.getClosest(c,(function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([x,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),e),!1!==e.index){var _=c[e.index],b=_.lonlat,w=[n.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;e.x0=T-A,e.x1=T+A,e.y0=k-A,e.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=i(u,_),e.extraText=l(u,_,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),bb=m({"src/traces/scattermap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),wb=m({"src/traces/scattermap/select.js"(e,t){var r=ct(),n=Xt(),i=S().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var l=r(o);let c,u;function h(){return null==c&&(c=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function d(){if(null==u&&(u=!1,h())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let r=4*t;e.fillStyle=`rgb(${r},${r+1},${r+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){u=!0;break}}}return u||!1}function m(e,t,r,n){let i=new l(e,t,r,n);return e=>i.solve(e)}let g=m(.25,.1,.25,1);function y(e,t,r){return Math.min(r,Math.max(t,e))}function v(e,t,r){let n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function x(e,...t){for(let r of t)for(let t in r)e[t]=r[t];return e}let _=1;function b(e,t,r){let n={};for(let r in e)n[r]=t.call(this,e[r],r,e);return n}function w(e,t,r){let n={};for(let r in e)t.call(this,e[r],r,e)&&(n[r]=e[r]);return n}function T(e){return Array.isArray(e)?e.map(T):"object"==typeof e&&e?b(e,T):e}let k={};function A(e){k[e]||(typeof console<"u"&&console.warn(e),k[e]=!0)}function M(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function S(e){return typeof WorkerGlobalScope<"u"&&void 0!==e&&e instanceof WorkerGlobalScope}let E=null;function C(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}let I="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function L(e,r,n,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw new Error(`Unrecognized format ${o}`);let s=o.startsWith("BGR"),l=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(l,function(e,t,r,n,i){let a=4*Math.max(-t,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,t),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(e.width,t+n)-l,height:Math.min(e.height,r+i)-c},layout:[{offset:o,stride:s}]}}(e,r,n,i,a)),s)for(let e=0;eS(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,U=function(e,r){if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let t=F(e.url);if(t)return t(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:B},r)}if(!(/^file:/.test(n=e.url)||/^file:/.test(N())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(e,r){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:N(),signal:r.signal});"json"!==e.type||t.headers.has("Accept")||t.headers.set("Accept","application/json");let n,i=yield fetch(t);if(!i.ok){let t=yield i.blob();throw new j(i.status,i.statusText,e.url,t)}n="arrayBuffer"===e.type||"image"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text();let a=yield n;if(r.signal.aborted)throw O();return{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires")}}))}(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:B},r)}var n,i,a;return i=e,a=r,new Promise(((e,t)=>{var r;let n=new XMLHttpRequest;n.open(i.method||"GET",i.url,!0),"arrayBuffer"!==i.type&&"image"!==i.type||(n.responseType="arraybuffer");for(let e in i.headers)n.setRequestHeader(e,i.headers[e]);"json"===i.type&&(n.responseType="text",!(null===(r=i.headers)||void 0===r)&&r.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===i.credentials,n.onerror=()=>{t(new Error(n.statusText))},n.onload=()=>{if(!a.signal.aborted)if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let r=n.response;if("json"===i.type)try{r=JSON.parse(n.response)}catch(e){return void t(e)}e({data:r,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")})}else{let e=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});t(new j(n.status,n.statusText,i.url,e))}},a.signal.addEventListener("abort",(()=>{n.abort(),t(O())})),n.send(i.body)}))};function V(e){if(!e||e.indexOf("://")<=0||0===e.indexOf("data:image/")||0===e.indexOf("blob:"))return!0;let t=new URL(e),r=window.location;return t.protocol===r.protocol&&t.host===r.host}function q(e,t,r){r[e]&&-1!==r[e].indexOf(t)||(r[e]=r[e]||[],r[e].push(t))}function H(e,t,r){if(r&&r[e]){let n=r[e].indexOf(t);-1!==n&&r[e].splice(n,1)}}class G{constructor(e,t={}){x(this,t),this.type=e}}class W extends G{constructor(e,t={}){super("error",x({error:e},t))}}class Z{on(e,t){return this._listeners=this._listeners||{},q(e,t,this._listeners),this}off(e,t){return H(e,t,this._listeners),H(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},q(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new G(e,t||{}));let r=e.type;if(this.listens(r)){e.target=this;let t=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(let r of t)r.call(this,e);let n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(let t of n)H(r,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(x(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof W&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var Y={$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 X=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function $(e,t){let r={};for(let t in e)"ref"!==t&&(r[t]=e[t]);return X.forEach((e=>{e in t&&(r[e]=t[e])})),r}function K(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}let ke=[ue,he,fe,pe,de,ve,me,we(ge),xe,_e,be];function Ae(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!Ae(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(let e of ke)if(!Ae(e,t))return null}return`Expected ${Te(e)} but found ${Te(t)} instead.`}function Me(e,t){return t.some((t=>t.kind===e.kind))}function Se(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}function Ee(e,t){return"array"===e.kind&&"array"===t.kind?e.itemType.kind===t.itemType.kind&&"number"==typeof e.N:e.kind===t.kind}let Ce=.96422,Ie=.82521,Le=4/29,Pe=6/29,ze=3*Pe*Pe,De=Pe*Pe*Pe,Oe=Math.PI/180,Re=180/Math.PI;function Fe(e){return(e%=360)<0&&(e+=360),e}function Be([e,t,r,n]){let i,a,o=Ne((.2225045*(e=je(e))+.7168786*(t=je(t))+.0606169*(r=je(r)))/1);e===t&&t===r?i=a=o:(i=Ne((.4360747*e+.3850649*t+.1430804*r)/Ce),a=Ne((.0139322*e+.0971045*t+.7141733*r)/Ie));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function je(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ne(e){return e>De?Math.pow(e,1/3):e/ze+Le}function Ue([e,t,r,n]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(r)?i:i-r/200;return i=1*qe(i),a=Ce*qe(a),o=Ie*qe(o),[Ve(3.1338561*a-1.6168667*i-.4906146*o),Ve(-.9787684*a+1.9161415*i+.033454*o),Ve(.0719453*a-.2289914*i+1.4052427*o),n]}function Ve(e){return(e=e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055)<0?0:e>1?1:e}function qe(e){return e>Pe?e*e*e:ze*(e-Le)}function He(e){return parseInt(e.padEnd(2,e),16)/255}function Ge(e,t){return We(t?e/100:e,0,1)}function We(e,t,r){return Math.min(Math.max(t,e),r)}function Ze(e){return!e.some(Number.isNaN)}let Ye={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 Xe{constructor(e,t,r,n=1,i=!0){this.r=e,this.g=t,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[e,t,r,n]))}static parse(e){if(e instanceof Xe)return e;if("string"!=typeof e)return;let t=function(e){if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let t=Ye[e];if(t){let[e,r,n]=t;return[e/255,r/255,n/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,r=1;return[He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+t)||"ff")]}if(e.startsWith("rgb")){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,r,n,i,a,o,s,l,c,u,h,f]=t,p=[i||" ",s||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){let e=[n,o,c].join(""),t="%%%"===e?100:""===e?255:0;if(t){let e=[We(+r/t,0,1),We(+a/t,0,1),We(+l/t,0,1),h?Ge(+h,f):1];if(Ze(e))return e}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[e,t,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){let e=[+t,We(+i,0,100),We(+o,0,100),l?Ge(+l,c):1];if(Ze(e))return function([e,t,r,n]){function i(n){let i=(n+e/30)%12,a=t*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=Fe(e),t/=100,r/=100,[i(0),i(8),i(4),n]}(e)}}}(e);return t?new Xe(...t,!1):void 0}get rgb(){let{r:e,g:t,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[e/i,t/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(e){let[t,r,n,i]=Be(e),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?Fe(Math.atan2(n,r)*Re):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Be(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,r,n]=this.rgb;return`rgba(${[e,t,r].map((e=>Math.round(255*e))).join(",")},${n})`}}Xe.black=new Xe(0,0,0,1),Xe.white=new Xe(1,1,1,1),Xe.transparent=new Xe(0,0,0,0),Xe.red=new Xe(1,0,0,1);class $e{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ke{constructor(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i}}class Je{constructor(e){this.sections=e}static fromString(e){return new Je([new Ke(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof Je?e:Je.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}}class Qe{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Qe)return e;if("number"==typeof e)return new Qe([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if("number"!=typeof t)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Qe(e)}}toString(){return JSON.stringify(this.values)}}let et=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class tt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof tt)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[e,t,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function it(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e||e instanceof Xe||e instanceof $e||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt)return!0;if(Array.isArray(e)){for(let t of e)if(!it(t))return!1;return!0}if("object"==typeof e){for(let t in e)if(!it(e[t]))return!1;return!0}return!1}function at(e){if(null===e)return ue;if("string"==typeof e)return fe;if("boolean"==typeof e)return pe;if("number"==typeof e)return he;if(e instanceof Xe)return de;if(e instanceof $e)return ye;if(e instanceof Je)return ve;if(e instanceof Qe)return xe;if(e instanceof tt)return be;if(e instanceof rt)return _e;if(Array.isArray(e)){let t,r=e.length;for(let r of e){let e=at(r);if(t){if(t===e)continue;t=ge;break}t=e}return we(t||ge,r)}return me}function ot(e){let t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Xe||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt?e.toString():JSON.stringify(e)}class st{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!it(e[1]))return t.error("invalid value");let r=e[1],n=at(r),i=t.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new st(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class lt{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}let ct={string:fe,number:he,boolean:pe,object:me};class ut{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r,n=1,i=e[0];if("array"===i){let i,a;if(e.length>2){let r=e[1];if("string"!=typeof r||!(r in ct)||"object"===r)return t.error('The item type argument of "array" must be one of string, number, boolean',1);i=ct[r],n++}else i=ge;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);a=e[2],n++}r=we(i,a)}else{if(!ct[i])throw new Error(`Types doesn't contain name = ${i}`);r=ct[i]}let a=[];for(;ne.outputDefined()))}}let ht={"to-boolean":pe,"to-color":de,"to-number":he,"to-string":fe};class ft{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[0];if(!ht[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");let n=ht[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:nt(t[0],t[1],t[2],t[3]),!r))return new Xe(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new lt(r||`Could not parse color from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"padding":{let t;for(let r of this.args){t=r.evaluate(e);let n=Qe.parse(t);if(n)return n}throw new lt(`Could not parse padding from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"variableAnchorOffsetCollection":{let t;for(let r of this.args){t=r.evaluate(e);let n=tt.parse(t);if(n)return n}throw new lt(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"number":{let t=null;for(let r of this.args){if(t=r.evaluate(e),null===t)return 0;let n=Number(t);if(!isNaN(n))return n}throw new lt(`Could not convert ${JSON.stringify(t)} to number.`)}case"formatted":return Je.fromString(ot(this.args[0].evaluate(e)));case"resolvedImage":return rt.fromString(ot(this.args[0].evaluate(e)));default:return ot(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let pt=["Unknown","Point","LineString","Polygon"];class dt{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?"number"==typeof this.feature.type?pt[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(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Xe.parse(e)),t}}class mt{constructor(e,t,r=[],n,i=new ce,a=[]){this.registry=e,this.path=r,this.key=r.map((e=>`[${e}]`)).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=t}parse(e,t,r,n,i={}){return t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)}_parse(e,t){function r(e,t,r){return"assert"===r?new ut(t,[e]):"coerce"===r?new ft(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let n=e[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==i.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==i.kind&&"string"!==i.kind)if("padding"!==e.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind)if("variableAnchorOffsetCollection"!==e.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(e,i))return null}else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"assert")}if(!(n instanceof st)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){let e=new dt;try{n=new st(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,r){let n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new mt(this.registry,this._isConstant,n,t||null,i,this.errors)}error(e,...t){let r=`${this.key}${t.map((e=>`[${e}]`)).join("")}`;this.errors.push(new le(r,e))}checkSubtype(e,t){let r=Ae(e,t);return r&&this.error(r),r}}class gt{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let r=[];for(let n=1;n=r.length)throw new lt(`Array index out of bounds: ${t} > ${r.length-1}.`);if(t!==Math.floor(t))throw new lt(`Array index must be an integer, but found ${t} instead.`);return r[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class xt{constructor(e,t){this.type=pe,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);return r&&n?Me(r.type,[pe,fe,he,ue,ge])?new xt(r,n):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Te(r.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!Se(t,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${Te(at(t))} instead.`);if(!Se(r,["string","array"]))throw new lt(`Expected second argument to be of type array or string, but found ${Te(at(r))} instead.`);return r.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class _t{constructor(e,t,r){this.type=he,this.needle=e,this.haystack=t,this.fromIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);if(!r||!n)return null;if(!Me(r.type,[pe,fe,he,ue,ge]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Te(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new _t(r,n,i):null}return new _t(r,n)}evaluate(e){let t,r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!Se(r,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${Te(at(r))} instead.`);if(this.fromIndex&&(t=this.fromIndex.evaluate(e)),Se(n,["string"])){let e=n.indexOf(r,t);return-1===e?-1:[...n.slice(0,e)].length}if(Se(n,["array"]))return n.indexOf(r,t);throw new lt(`Expected second argument to be of type array or string, but found ${Te(at(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class bt{constructor(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let r,n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);let i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,at(e)))return null}else r=at(e);if(void 0!==i[String(e)])return c.error("Branch labels must be unique.");i[String(e)]=a.length}let u=t.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}let o=t.parse(e[1],1,ge);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,n);return s?"value"!==o.type.kind&&t.concat(1).checkSubtype(r,o.type)?null:new bt(r,n,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(at(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class wt{constructor(e,t,r){this.type=e,this.branches=t,this.otherwise=r}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);let n=[];for(let i=1;it.outputDefined()))&&this.otherwise.outputDefined()}}class Tt{constructor(e,t,r,n){this.type=e,this.input=t,this.beginIndex=r,this.endIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,he);if(!r||!n)return null;if(!Me(r.type,[we(ge),fe,ge]))return t.error(`Expected first argument to be of type array or string, but found ${Te(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new Tt(r.type,r,n,i):null}return new Tt(r.type,r,n)}evaluate(e){let t,r=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(this.endIndex&&(t=this.endIndex.evaluate(e)),Se(r,["string"]))return[...r].slice(n,t).join("");if(Se(r,["array"]))return r.slice(n,t);throw new lt(`Expected first argument to be of type array or string, but found ${Te(at(r))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function kt(e,t){let r,n,i=e.length-1,a=0,o=i,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],n=e[s+1],r<=t){if(s===i||tt))throw new lt("Input is not a number.");o=s-1}return 0}class At{constructor(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of r)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=[],i=null;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);for(let r=1;r=a)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);let c=t.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new At(i,r,n)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[kt(t,n)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}var Mt=St;function St(e,t,r,n){this.cx=3*e,this.bx=3*(r-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(n-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=r,this.p2y=n}St.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var Et,Ct=(Et=Mt)&&Et.__esModule&&Object.prototype.hasOwnProperty.call(Et,"default")?Et.default:Et;function It(e,t,r){return e+r*(t-e)}function Lt(e,t,r){return e.map(((e,n)=>It(e,t[n],r)))}let Pt={number:It,color:function(e,t,r,n="rgb"){switch(n){case"rgb":{let[n,i,a,o]=Lt(e.rgb,t.rgb,r);return new Xe(n,i,a,o,!1)}case"hcl":{let n,i,[a,o,s,l]=e.hcl,[c,u,h,f]=t.hcl;if(isNaN(a)||isNaN(c))isNaN(a)?isNaN(c)?n=NaN:(n=c,1!==s&&0!==s||(i=u)):(n=a,1!==h&&0!==h||(i=o));else{let e=c-a;c>a&&e>180?e-=360:c180&&(e+=360),n=a+r*e}let[p,d,m,g]=function([e,t,r,n]){return e=isNaN(e)?0:e*Oe,Ue([r,Math.cos(e)*t,Math.sin(e)*t,n])}([n,i??It(o,u,r),It(s,h,r),It(l,f,r)]);return new Xe(p,d,m,g,!1)}case"lab":{let[n,i,a,o]=Ue(Lt(e.lab,t.lab,r));return new Xe(n,i,a,o,!1)}}},array:Lt,padding:function(e,t,r){return new Qe(Lt(e.values,t.values,r))},variableAnchorOffsetCollection:function(e,t,r){let n=e.values,i=t.values;if(n.length!==i.length)throw new lt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(i=t.parse(i,2,he),!i)return null;let o=[],s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=de:t.expectedType&&"value"!==t.expectedType.kind&&(s=t.expectedType);for(let e=0;e=r)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);let c=t.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Ee(s,he)||Ee(s,de)||Ee(s,xe)||Ee(s,be)||Ee(s,we(he))?new zt(s,r,n,i,o):t.error(`Type ${Te(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);let a=kt(t,n),o=zt.interpolationFactor(this.interpolation,n,t[a],t[a+1]),s=r[a].evaluate(e),l=r[a+1].evaluate(e);switch(this.operator){case"interpolate":return Pt[this.type.kind](s,l,o);case"interpolate-hcl":return Pt.color(s,l,o,"hcl");case"interpolate-lab":return Pt.color(s,l,o,"lab")}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function Dt(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}class Ot{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expectected at least one argument.");let r=null,n=t.expectedType;n&&"value"!==n.kind&&(r=n);let i=[];for(let n of e.slice(1)){let e=t.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!e)return null;r=r||e.type,i.push(e)}if(!r)throw new Error("No output type");let a=n&&i.some((e=>Ae(n,e.type)));return new Ot(a?ge:r,i)}evaluate(e){let t,r=null,n=0;for(let i of this.args)if(n++,r=i.evaluate(e),r&&r instanceof rt&&!r.available&&(t||(t=r.name),r=null,n===this.args.length&&(r=t)),null!==r)break;return r}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function Rt(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function Ft(e,t,r,n){return 0===n.compare(t,r)}function Bt(e,t,r){let n="=="!==e&&"!="!==e;return class i{constructor(e,t,r){this.type=pe,this.lhs=e,this.rhs=t,this.collator=r,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");let r=e[0],a=t.parse(e[1],1,ge);if(!a)return null;if(!Rt(r,a.type))return t.concat(1).error(`"${r}" comparisons are not supported for type '${Te(a.type)}'.`);let o=t.parse(e[2],2,ge);if(!o)return null;if(!Rt(r,o.type))return t.concat(2).error(`"${r}" comparisons are not supported for type '${Te(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error(`Cannot compare types '${Te(a.type)}' and '${Te(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ut(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ut(a.type,[o])));let s=null;if(4===e.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error("Cannot use collator to compare non-string types.");if(s=t.parse(e[3],3,ye),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){let t=at(a),r=at(o);if(t.kind!==r.kind||"string"!==t.kind&&"number"!==t.kind)throw new lt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){let e=at(a),r=at(o);if("string"!==e.kind||"string"!==r.kind)return t(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let jt=Bt("==",(function(e,t,r){return t===r}),Ft),Nt=Bt("!=",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!Ft(0,t,r,n)})),Ut=Bt("<",(function(e,t,r){return t",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),qt=Bt("<=",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Ht=Bt(">=",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0}));class Gt{constructor(e,t,r){this.type=ye,this.locale=r,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");let r=e[1];if("object"!=typeof r||Array.isArray(r))return t.error("Collator options argument must be an object.");let n=t.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,pe);if(!n)return null;let i=t.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,pe);if(!i)return null;let a=null;return r.locale&&(a=t.parse(r.locale,1,fe),!a)?null:new Gt(n,i,a)}evaluate(e){return new $e(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class Wt{constructor(e,t,r,n,i){this.type=fe,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=t.parse(n.locale,1,fe),!i))return null;let a=null;if(n.currency&&(a=t.parse(n.currency,1,fe),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=t.parse(n["min-fraction-digits"],1,he),!o))return null;let s=null;return n["max-fraction-digits"]&&(s=t.parse(n["max-fraction-digits"],1,he),!s)?null:new Wt(r,i,a,o,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class Zt{constructor(e){this.type=ve,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");let n=[],i=!1;for(let r=1;r<=e.length-1;++r){let a=e[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let e=null;if(a["font-scale"]&&(e=t.parse(a["font-scale"],1,he),!e))return null;let r=null;if(a["text-font"]&&(r=t.parse(a["text-font"],1,we(fe)),!r))return null;let o=null;if(a["text-color"]&&(o=t.parse(a["text-color"],1,de),!o))return null;let s=n[n.length-1];s.scale=e,s.font=r,s.textColor=o}else{let a=t.parse(e[r],1,ge);if(!a)return null;let o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new Zt(n)}evaluate(e){return new Je(this.sections.map((t=>{let r=t.content.evaluate(e);return at(r)===_e?new Ke("",r,null,null,null):new Ke(ot(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}}class Yt{constructor(e){this.type=_e,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,fe);return r?new Yt(r):t.error("No image name provided.")}evaluate(e){let t=this.input.evaluate(e),r=rt.fromString(t);return r&&e.availableImages&&(r.available=e.availableImages.indexOf(t)>-1),r}eachChild(e){e(this.input)}outputDefined(){return!1}}class Xt{constructor(e){this.type=he,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error(`Expected argument of type string or array, but found ${Te(r.type)} instead.`):new Xt(r):null}evaluate(e){let t=this.input.evaluate(e);if("string"==typeof t)return[...t].length;if(Array.isArray(t))return t.length;throw new lt(`Expected value to be of type string or array, but found ${Te(at(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let $t=8192;function Kt(e,t){let r=(180+e[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=Math.pow(2,t.z);return[Math.round(r*i*$t),Math.round(n*i*$t)]}function Jt(e,t){let r=Math.pow(2,t.z);return[(i=(e[0]/$t+t.x)/r,360*i-180),(n=(e[1]/$t+t.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i}function Qt(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function er(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function tr(e,t,r){let n=e[0]-t[0],i=e[1]-t[1],a=e[0]-r[0],o=e[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(e,t,r,n){return(i=[n[0]-r[0],n[1]-r[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!lr(e,t,r,n)||!lr(r,n,e,t));var i,a}function nr(e,t,r){for(let n of r)for(let r=0;r(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(e,t){for(let r of t)if(ir(e,r))return!0;return!1}function or(e,t){for(let r of e)if(!ir(r,t))return!1;for(let r=0;r0&&s<0||o<0&&s>0}function cr(e,t,r){let n=[];for(let i=0;ir[2]){let t=.5*n,i=e[0]-r[0]>t?-n:r[0]-e[0]>t?n:0;0===i&&(i=e[0]-r[2]>t?-n:r[2]-e[0]>t?n:0),e[0]+=i}Qt(t,e)}function fr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let n of e)for(let e of n){let n=[e.x+a[0],e.y+a[1]];hr(n,t,r,i),o.push(n)}return o}function pr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let r of e){let e=[];for(let n of r){let r=[n.x+a[0],n.y+a[1]];Qt(t,r),e.push(r)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let n of e)hr(n,t,r,i)}var s;return o}class dr{constructor(e,t){this.type=pe,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type){let e=[];for(let r of t.features){let{type:t,coordinates:n}=r.geometry;"Polygon"===t&&e.push(n),"MultiPolygon"===t&&e.push(...n)}if(e.length)return new dr(t,{type:"MultiPolygon",coordinates:e})}else if("Feature"===t.type){let e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new dr(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new dr(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ir(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ar(e,a))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=pr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!or(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=pr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!sr(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}};function gr(e,t,r,n,i){yr(e,t,r,n||e.length-1,i||xr)}function yr(e,t,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);yr(e,t,Math.max(r,Math.floor(t-o*l/a+c)),Math.min(n,Math.floor(t+(a-o)*l/a+c)),i)}var u=e[t],h=r,f=n;for(vr(e,r,t),i(e[n],u)>0&&vr(e,r,n);h0;)f--}0===i(e[r],u)?vr(e,r,f):vr(e,++f,n),f<=t&&(r=f+1),t<=f&&(n=f-1)}}function vr(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function xr(e,t){return et?1:0}function _r(e,t){if(e.length<=1)return[e];let r,n,i=[];for(let t of e){let e=wr(t);0!==e&&(t.area=Math.abs(e),void 0===n&&(n=e<0),n===e<0?(r&&i.push(r),r=[t]):r.push(t))}if(r&&i.push(r),t>1)for(let e=0;e1?(l=e[s+1][0],c=e[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f)),u=this.wrap(t[0]-l)*this.kx,h=(t[1]-c)*this.ky;let p=u*u+h*h;p180;)e-=360;return e}}function Sr(e,t){return t[0]-e[0]}function Er(e){return e[1]-e[0]+1}function Cr(e,t){return e[1]>=e[0]&&e[1]e[1])return[null,null];let r=Er(e);if(t){if(2===r)return[e,null];let t=Math.floor(r/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(1===r)return[e,null];let n=Math.floor(r/2)-1;return[[e[0],e[0]+n],[e[0]+n+1,e[1]]]}function Lr(e,t){if(!Cr(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let n=t[0];n<=t[1];++n)Qt(r,e[n]);return r}function Pr(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let e of r)Qt(t,e);return t}function zr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Dr(e,t,r){if(!zr(e)||!zr(t))return NaN;let n=0,i=0;return e[2]t[2]&&(n=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]=n)return n;if(er(i,a)){if(Ur(e,t))return 0}else if(Ur(t,e))return 0;let o=1/0;for(let n of e)for(let e=0,i=n.length,a=i-1;e0;){let i=o.pop();if(i[0]>=a)continue;let l=i[1],c=t?50:100;if(Er(l)<=c){if(!Cr(l,e.length))return NaN;if(t){let t=Nr(e,l,r,n);if(isNaN(t)||0===t)return t;a=Math.min(a,t)}else for(let t=l[0];t<=l[1];++t){let i=jr(e[t],r,n);if(a=Math.min(a,i),0===a)return 0}}else{let r=Ir(l,t);qr(o,a,n,e,s,r[0]),qr(o,a,n,e,s,r[1])}}return a}function Wr(e,t,r,n,i,a=1/0){let o=Math.min(a,i.distance(e[0],r[0]));if(0===o)return o;let s=new mr([[0,[0,e.length-1],[0,r.length-1]]],Sr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let l=a[1],c=a[2],u=t?50:100,h=n?50:100;if(Er(l)<=u&&Er(c)<=h){if(!Cr(l,e.length)&&Cr(c,r.length))return NaN;let a;if(t&&n)a=Fr(e,l,r,c,i),o=Math.min(o,a);else if(t&&!n){let t=e.slice(l[0],l[1]+1);for(let e=c[0];e<=c[1];++e)if(a=Or(r[e],t,i),o=Math.min(o,a),0===o)return o}else if(!t&&n){let t=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Or(e[r],t,i),o=Math.min(o,a),0===o)return o}else a=Br(e,l,r,c,i),o=Math.min(o,a)}else{let a=Ir(l,t),u=Ir(c,n);Hr(s,o,i,e,r,a[0],u[0]),Hr(s,o,i,e,r,a[0],u[1]),Hr(s,o,i,e,r,a[1],u[0]),Hr(s,o,i,e,r,a[1],u[1])}}return o}function Zr(e){return"MultiPolygon"===e.type?e.coordinates.map((e=>({type:"Polygon",coordinates:e}))):"MultiLineString"===e.type?e.coordinates.map((e=>({type:"LineString",coordinates:e}))):"MultiPoint"===e.type?e.coordinates.map((e=>({type:"Point",coordinates:e}))):[e]}class Yr{constructor(e,t){this.type=he,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type)return new Yr(t,t.features.map((e=>Zr(e.geometry))).flat());if("Feature"===t.type)return new Yr(t,Zr(t.geometry));if("type"in t&&"coordinates"in t)return new Yr(t,Zr(t))}return t.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!1,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!1,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!1,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!0,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!0,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!0,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("Polygon"===e.geometryType())return function(e,t){let r=e.geometry();if(0===r.length||0===r[0].length)return NaN;let n=_r(r,0).map((t=>t.map((t=>t.map((t=>Jt([t.x,t.y],e.canonical))))))),i=new Mr(n[0][0][0][1]),a=1/0;for(let e of t)for(let t of n){switch(e.type){case"Point":a=Math.min(a,Gr([e.coordinates],!1,t,i,a));break;case"LineString":a=Math.min(a,Gr(e.coordinates,!0,t,i,a));break;case"Polygon":a=Math.min(a,Vr(t,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let Xr={"==":jt,"!=":Nt,">":Vt,"<":Ut,">=":Ht,"<=":qt,array:ut,at:vt,boolean:ut,case:wt,coalesce:Ot,collator:Gt,format:Zt,image:Yt,in:xt,"index-of":_t,interpolate:zt,"interpolate-hcl":zt,"interpolate-lab":zt,length:Xt,let:gt,literal:st,match:bt,number:ut,"number-format":Wt,object:ut,slice:Tt,step:At,string:ut,"to-boolean":ft,"to-color":ft,"to-number":ft,"to-string":ft,var:yt,within:dr,distance:Yr};class $r{constructor(e,t,r,n){this.name=e,this.type=t,this._evaluate=r,this.args=n}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let r=e[0],n=$r.definitions[r];if(!n)return t.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[n,a]of o){s=new mt(t.registry,tn,t.path,null,t.scope);let o=[],l=!1;for(let t=1;t{return t=e,Array.isArray(t)?`(${t.map(Te).join(", ")})`:`(${Te(t.type)}...)`;var t})).join(" | "),n=[];for(let r=1;r{r=t?r&&tn(e):r&&e instanceof st})),!!r&&rn(e)&&an(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function rn(e){if(e instanceof $r&&("get"===e.name&&1===e.args.length||"feature-state"===e.name||"has"===e.name&&1===e.args.length||"properties"===e.name||"geometry-type"===e.name||"id"===e.name||/^filter-/.test(e.name))||e instanceof dr||e instanceof Yr)return!1;let t=!0;return e.eachChild((e=>{t&&!rn(e)&&(t=!1)})),t}function nn(e){if(e instanceof $r&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!nn(e)&&(t=!1)})),t}function an(e,t){if(e instanceof $r&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild((e=>{r&&!an(e,t)&&(r=!1)})),r}function on(e){return{result:"success",value:e}}function sn(e){return{result:"error",value:e}}function ln(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function cn(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function un(e){return!!e.expression&&e.expression.interpolated}function hn(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function fn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function pn(e){return e}function dn(e,t){let r="color"===t.type,n=e.stops&&"object"==typeof e.stops[0][0],i=n||!(n||void 0!==e.property),a=e.type||(un(t)?"exponential":"interval");if(r||"padding"===t.type){let n=r?Xe.parse:Qe.parse;(e=se({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],n(e[1])]))),e.default=n(e.default?e.default:t.default)}if(e.colorSpace&&"rgb"!==(o=e.colorSpace)&&"hcl"!==o&&"lab"!==o)throw new Error(`Unknown color space: "${e.colorSpace}"`);var o;let s,l,c;if("exponential"===a)s=vn;else if("interval"===a)s=yn;else if("categorical"===a){s=gn,l=Object.create(null);for(let t of e.stops)l[t[0]]=t[1];c=typeof e.stops[0][0]}else{if("identity"!==a)throw new Error(`Unknown function type "${a}"`);s=xn}if(n){let r={},n=[];for(let t=0;te[0])),evaluate:({zoom:r},n)=>vn({stops:i,base:e.base},t,r).evaluate(r,n)}}if(i){let r="exponential"===a?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:r,interpolationFactor:zt.interpolationFactor.bind(void 0,r),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:r})=>s(e,t,r,l,c)}}return{kind:"source",evaluate(r,n){let i=n&&n.properties?n.properties[e.property]:void 0;return void 0===i?mn(e.default,t.default):s(e,t,i,l,c)}}}function mn(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function gn(e,t,r,n,i){return mn(typeof r===i?n[r]:void 0,e.default,t.default)}function yn(e,t,r){if("number"!==hn(r))return mn(e.default,t.default);let n=e.stops.length;if(1===n||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let i=kt(e.stops.map((e=>e[0])),r);return e.stops[i][1]}function vn(e,t,r){let n=void 0!==e.base?e.base:1;if("number"!==hn(r))return mn(e.default,t.default);let i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let a=kt(e.stops.map((e=>e[0])),r),o=function(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=Pt[t.type]||pn;return"function"==typeof s.evaluate?{evaluate(...t){let r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o,e.colorSpace)}}:c(s,l,o,e.colorSpace)}function xn(e,t,r){switch(t.type){case"color":r=Xe.parse(r);break;case"formatted":r=Je.fromString(r.toString());break;case"resolvedImage":r=rt.fromString(r.toString());break;case"padding":r=Qe.parse(r);break;default:hn(r)===t.type||"enum"===t.type&&t.values[r]||(r=void 0)}return mn(r,e.default,t.default)}$r.register(Xr,{error:[{kind:"error"},[fe],(e,[t])=>{throw new lt(t.evaluate(e))}],typeof:[fe,[ge],(e,[t])=>Te(at(t.evaluate(e)))],"to-rgba":[we(he,4),[de],(e,[t])=>{let[r,n,i,a]=t.evaluate(e).rgb;return[255*r,255*n,255*i,a]}],rgb:[de,[he,he,he],Kr],rgba:[de,[he,he,he,he],Kr],has:{type:pe,overloads:[[[fe],(e,[t])=>Jr(t.evaluate(e),e.properties())],[[fe,me],(e,[t,r])=>Jr(t.evaluate(e),r.evaluate(e))]]},get:{type:ge,overloads:[[[fe],(e,[t])=>Qr(t.evaluate(e),e.properties())],[[fe,me],(e,[t,r])=>Qr(t.evaluate(e),r.evaluate(e))]]},"feature-state":[ge,[fe],(e,[t])=>Qr(t.evaluate(e),e.featureState||{})],properties:[me,[],e=>e.properties()],"geometry-type":[fe,[],e=>e.geometryType()],id:[ge,[],e=>e.id()],zoom:[he,[],e=>e.globals.zoom],"heatmap-density":[he,[],e=>e.globals.heatmapDensity||0],"line-progress":[he,[],e=>e.globals.lineProgress||0],accumulated:[ge,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[he,en(he),(e,t)=>{let r=0;for(let n of t)r+=n.evaluate(e);return r}],"*":[he,en(he),(e,t)=>{let r=1;for(let n of t)r*=n.evaluate(e);return r}],"-":{type:he,overloads:[[[he,he],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[he],(e,[t])=>-t.evaluate(e)]]},"/":[he,[he,he],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[he,[he,he],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[he,[],()=>Math.LN2],pi:[he,[],()=>Math.PI],e:[he,[],()=>Math.E],"^":[he,[he,he],(e,[t,r])=>Math.pow(t.evaluate(e),r.evaluate(e))],sqrt:[he,[he],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[he,[he],(e,[t])=>Math.log(t.evaluate(e))],log2:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[he,[he],(e,[t])=>Math.sin(t.evaluate(e))],cos:[he,[he],(e,[t])=>Math.cos(t.evaluate(e))],tan:[he,[he],(e,[t])=>Math.tan(t.evaluate(e))],asin:[he,[he],(e,[t])=>Math.asin(t.evaluate(e))],acos:[he,[he],(e,[t])=>Math.acos(t.evaluate(e))],atan:[he,[he],(e,[t])=>Math.atan(t.evaluate(e))],min:[he,en(he),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[he,en(he),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[he,[he],(e,[t])=>Math.abs(t.evaluate(e))],round:[he,[he],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[he,[he],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[he,[he],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[pe,[fe,ge],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[pe,[ge],(e,[t])=>e.id()===t.value],"filter-type-==":[pe,[fe],(e,[t])=>e.geometryType()===t.value],"filter-<":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n{let r=e.id(),n=t.value;return typeof r==typeof n&&r":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>n}],"filter-<=":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r<=n}],"filter->=":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>=n}],"filter-has":[pe,[ge],(e,[t])=>t.value in e.properties()],"filter-has-id":[pe,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[pe,[we(fe)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[pe,[we(ge)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[pe,[fe,we(ge)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[pe,[fe,we(ge)],(e,[t,r])=>function(e,t,r,n){for(;r<=n;){let i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:pe,overloads:[[[pe,pe],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[en(pe),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:pe,overloads:[[[pe,pe],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[en(pe),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[pe,[pe],(e,[t])=>!t.evaluate(e)],"is-supported-script":[pe,[fe],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[fe,[fe],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[fe,[fe],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[fe,en(ge),(e,t)=>t.map((t=>ot(t.evaluate(e)))).join("")],"resolved-locale":[fe,[ye],(e,[t])=>t.evaluate(e).resolvedLocale()]});class _n{constructor(e,t){var r;this.expression=e,this._warningHistory={},this._evaluator=new dt,this._defaultValue=t?"color"===(r=t).type&&fn(r.default)?new Xe(0,0,0,0):"color"===r.type?Xe.parse(r.default)||null:"padding"===r.type?Qe.parse(r.default)||null:"variableAnchorOffsetCollection"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new lt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<"u"&&console.warn(e.message)),this._defaultValue}}}function bn(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Xr}function wn(e,t){let r=new mt(Xr,tn,[],t?function(e){let t={color:de,string:fe,number:he,enum:fe,boolean:pe,formatted:ve,padding:xe,resolvedImage:_e,variableAnchorOffsetCollection:be};return"array"===e.type?we(t[e.value]||ge,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?on(new _n(n,t)):sn(r.errors)}class Tn{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!nn(t.expression)}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}}class kn{constructor(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!nn(t.expression),this.interpolationType=n}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}interpolationFactor(e,t,r){return this.interpolationType?zt.interpolationFactor(this.interpolationType,e,t,r):0}}function An(e,t){let r=wn(e,t);if("error"===r.result)return r;let n=r.value.expression,i=rn(n);if(!i&&!ln(t))return sn([new le("","data expressions not supported")]);let a=an(n,["zoom"]);if(!a&&!cn(t))return sn([new le("","zoom expressions not supported")]);let o=Sn(n);return o||a?o instanceof le?sn([o]):o instanceof zt&&!un(t)?sn([new le("",'"interpolate" expressions cannot be used with this property')]):on(o?new kn(i?"camera":"composite",r.value,o.labels,o instanceof zt?o.interpolation:void 0):new Tn(i?"constant":"source",r.value)):sn([new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Mn{constructor(e,t){this._parameters=e,this._specification=t,se(this,dn(this._parameters,this._specification))}static deserialize(e){return new Mn(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function Sn(e){let t=null;if(e instanceof gt)t=Sn(e.result);else if(e instanceof Ot){for(let r of e.args)if(t=Sn(r),t)break}else(e instanceof At||e instanceof zt)&&e.input instanceof $r&&"zoom"===e.input.name&&(t=e);return t instanceof le||e.eachChild((e=>{let r=Sn(e);r instanceof le?t=r:!t&&r?t=new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&r&&t!==r&&(t=new le("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}function En(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(let t of e.slice(1))if(!En(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}let Cn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function In(e){if(null==e)return{filter:()=>!0,needGeometry:!1};En(e)||(e=zn(e));let t=wn(e,Cn);if("error"===t.result)throw new Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return{filter:(e,r,n)=>t.value.evaluate(e,r,{},n),needGeometry:Pn(e)}}function Ln(e,t){return et?1:0}function Pn(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?Dn(e[1],e[2],t):"any"===t?(r=e.slice(1),["any"].concat(r.map(zn))):"all"===t?["all"].concat(e.slice(1).map(zn)):"none"===t?["all"].concat(e.slice(1).map(zn).map(Fn)):"in"===t?On(e[1],e.slice(2)):"!in"===t?Fn(On(e[1],e.slice(2))):"has"===t?Rn(e[1]):"!has"!==t||Fn(Rn(e[1]));var r}function Dn(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function On(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(Ln)]]:["filter-in-small",e,["literal",t]]}}function Rn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function Fn(e){return["!",e]}function Bn(e){let t=typeof e;if("number"===t||"boolean"===t||"string"===t||null==e)return JSON.stringify(e);if(Array.isArray(e)){let t="[";for(let r of e)t+=`${Bn(r)},`;return`${t}]`}let r=Object.keys(e).sort(),n="{";for(let t=0;tn.maximum?[new oe(t,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Wn(e){let t,r,n,i=e.valueSpec,a=Un(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l=!s,c="array"===hn(e.value.stops)&&"array"===hn(e.value.stops[0])&&"object"===hn(e.value.stops[0][0]),u=qn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new oe(e.key,e.value,'identity function may not have a "stops" property')];let t=[],r=e.value;return t=t.concat(Hn({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:h})),"array"===hn(r)&&0===r.length&&t.push(new oe(e.key,r,"array must have at least one stop")),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&u.push(new oe(e.key,e.value,'missing required property "property"')),"identity"===a||e.value.stops||u.push(new oe(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!un(e.valueSpec)&&u.push(new oe(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!ln(e.valueSpec)?u.push(new oe(e.key,e.value,"property functions not supported")):s&&!cn(e.valueSpec)&&u.push(new oe(e.key,e.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==e.value.property||u.push(new oe(e.key,e.value,'"property" property is required')),u;function h(e){let t=[],a=e.value,s=e.key;if("array"!==hn(a))return[new oe(s,a,`array expected, ${hn(a)} found`)];if(2!==a.length)return[new oe(s,a,`array length 2 expected, length ${a.length} found`)];if(c){if("object"!==hn(a[0]))return[new oe(s,a,`object expected, ${hn(a[0])} found`)];if(void 0===a[0].zoom)return[new oe(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new oe(s,a,"object stop key must have value")];if(n&&n>Un(a[0].zoom))return[new oe(s,a[0].zoom,"stop zoom values must appear in ascending order")];Un(a[0].zoom)!==n&&(n=Un(a[0].zoom),r=void 0,o={}),t=t.concat(qn({key:`${s}[0]`,value:a[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Gn,value:f}}))}else t=t.concat(f({key:`${s}[0]`,value:a[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},a));return bn(Vn(a[1]))?t.concat([new oe(`${s}[1]`,a[1],"expressions are not allowed in function stops.")]):t.concat(e.validateSpec({key:`${s}[1]`,value:a[1],valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function f(e,n){let s=hn(e.value),l=Un(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new oe(e.key,c,`${s} stop domain type must match previous stop domain type ${t}`)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new oe(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){let t=`number expected, ${s} found`;return ln(i)&&void 0===a&&(t+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new oe(e.key,c,t)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&lnew oe(`${e.key}${t.key}`,e.value,t.message)));let r=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!r.outputDefined())return[new oe(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!an(r,["zoom","feature-state"]))return[new oe(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!rn(r))return[new oe(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Yn(e){let t=e.key,r=e.value,n=e.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function Xn(e){return En(Vn(e.value))?Zn(se({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):$n(e)}function $n(e){let t=e.value,r=e.key;if("array"!==hn(t))return[new oe(r,t,`array expected, ${hn(t)} found`)];let n,i=e.styleSpec,a=[];if(t.length<1)return[new oe(r,t,"filter array must have at least 1 element")];switch(a=a.concat(Yn({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Un(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===Un(t[1])&&a.push(new oe(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&a.push(new oe(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=hn(t[1]),"string"!==n&&a.push(new oe(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let o=2;o{e in r&&t.push(new oe(n,r[e],`"${e}" is prohibited for ref layers`))})),i.layers.forEach((t=>{Un(t.id)===s&&(e=t)})),e?e.ref?t.push(new oe(n,r.ref,"ref cannot reference another ref layer")):o=Un(e.type):t.push(new oe(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(r.source){let e=i.sources&&i.sources[r.source],a=e&&Un(e.type);e?"vector"===a&&"raster"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?t.push(new oe(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?t.push(new oe(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!r.paint||!r.paint["line-gradient"]||"geojson"===a&&e.lineMetrics||t.push(new oe(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new oe(n,r,`layer "${r.id}" must specify a "source-layer"`)):t.push(new oe(n,r.source,`source "${r.source}" not found`))}else t.push(new oe(n,r,'missing required property "source"'));return t=t.concat(qn({key:n,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"}),filter:Xn,layout:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Qn(se({layerType:o},e))}}),paint:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Jn(se({layerType:o},e))}})}})),t}function ti(e){let t=e.value,r=e.key,n=hn(t);return"string"!==n?[new oe(r,t,`string expected, ${n} found`)]:[]}let ri={promoteId:function({key:e,value:t}){if("string"===hn(t))return ti({key:e,value:t});{let r=[];for(let n in t)r.push(...ti({key:`${e}.${n}`,value:t[n]}));return r}}};function ni(e){let t=e.value,r=e.key,n=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new oe(r,t,'"type" is required')];let o,s=Un(t.type);switch(s){case"vector":case"raster":return o=qn({key:r,value:t,valueSpec:n[`source_${s.replace("-","_")}`],style:e.style,styleSpec:n,objectElementValidators:ri,validateSpec:a}),o;case"raster-dem":return o=function(e){var t;let r=null!==(t=e.sourceName)&&void 0!==t?t:"",n=e.value,i=e.styleSpec,a=i.source_raster_dem,o=e.style,s=[],l=hn(n);if(void 0===n)return s;if("object"!==l)return s.push(new oe("source_raster_dem",n,`object expected, ${l} found`)),s;let c="custom"===Un(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let t in n)!c&&u.includes(t)?s.push(new oe(t,n[t],`In "${r}": "${t}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[t]?s=s.concat(e.validateSpec({key:t,value:n[t],valueSpec:a[t],validateSpec:e.validateSpec,style:o,styleSpec:i})):s.push(new oe(t,n[t],`unknown property "${t}"`));return s}({sourceName:r,value:t,style:e.style,styleSpec:n,validateSpec:a}),o;case"geojson":if(o=qn({key:r,value:t,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ri}),t.cluster)for(let e in t.clusterProperties){let[n,i]=t.clusterProperties[e],s="string"==typeof n?[n,["accumulated"],["get",e]]:n;o.push(...Zn({key:`${r}.${e}.map`,value:i,validateSpec:a,expressionContext:"cluster-map"})),o.push(...Zn({key:`${r}.${e}.reduce`,value:s,validateSpec:a,expressionContext:"cluster-reduce"}))}return o;case"video":return qn({key:r,value:t,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case"image":return qn({key:r,value:t,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case"canvas":return[new oe(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Yn({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,validateSpec:a,styleSpec:n})}}function ii(e){let t=e.value,r=e.styleSpec,n=r.light,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("light",t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:i,styleSpec:r}):n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)])}return a}function ai(e){let t=e.value,r=e.styleSpec,n=r.sky,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("sky",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o}function oi(e){let t=e.value,r=e.styleSpec,n=r.terrain,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("terrain",t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)]);return a}function si(e){let t=[],r=e.value,n=e.key;if(Array.isArray(r)){let i=[],a=[];for(let o in r)r[o].id&&i.includes(r[o].id)&&t.push(new oe(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&t.push(new oe(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url),t=t.concat(qn({key:`${n}[${o}]`,value:r[o],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return ti({key:n,value:r})}let li={"*":()=>[],array:Hn,boolean:function(e){let t=e.value,r=e.key,n=hn(t);return"boolean"!==n?[new oe(r,t,`boolean expected, ${n} found`)]:[]},number:Gn,color:function(e){let t=e.key,r=e.value,n=hn(r);return"string"!==n?[new oe(t,r,`color expected, ${n} found`)]:Xe.parse(String(r))?[]:[new oe(t,r,`color expected, "${r}" found`)]},constants:Nn,enum:Yn,filter:Xn,function:Wn,layer:ei,object:qn,source:ni,light:ii,sky:ai,terrain:oi,projection:function(e){let t=e.value,r=e.styleSpec,n=r.projection,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("projection",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o},string:ti,formatted:function(e){return 0===ti(e).length?[]:Zn(e)},resolvedImage:function(e){return 0===ti(e).length?[]:Zn(e)},padding:function(e){let t=e.key,r=e.value;if("array"===hn(r)){if(r.length<1||r.length>4)return[new oe(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let n={type:"number"},i=[];for(let a=0;a[]}})),e.constants&&(r=r.concat(Nn({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:ci}))),pi(r)}function fi(e){return function(t){return e(p(f({},t),{validateSpec:ci}))}}function pi(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function di(e){return function(...t){return pi(e.apply(this,t))}}hi.source=di(fi(ni)),hi.sprite=di(fi(si)),hi.glyphs=di(fi(ui)),hi.light=di(fi(ii)),hi.sky=di(fi(ai)),hi.terrain=di(fi(oi)),hi.layer=di(fi(ei)),hi.filter=di(fi(Xn)),hi.paintProperty=di(fi(Jn)),hi.layoutProperty=di(fi(Qn));let mi=hi,gi=mi.light,yi=mi.sky,vi=mi.paintProperty,xi=mi.layoutProperty;function _i(e,t){let r=!1;if(t&&t.length)for(let n of t)e.fire(new W(new Error(n.message))),r=!0;return r}class bi{constructor(e,t,r){let n=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(r=i[2]);for(let e=0;e=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){let c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,e,t,r,n,c,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,r=0;for(let e=0;e=0)continue;let a=e[n];i[n]=wi[r].shallow.indexOf(n)>=0?a:Si(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function Ei(e){if(Mi(e))return e;if(Array.isArray(e))return e.map(Ei);if("object"!=typeof e)throw new Error("can't deserialize object of type "+typeof e);let t=Ai(e)||"Object";if(!wi[t])throw new Error(`can't deserialize unregistered class ${t}`);let{klass:r}=wi[t];if(!r)throw new Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let n=Object.create(r.prototype);for(let r of Object.keys(e)){if("$name"===r)continue;let i=e[r];n[r]=wi[t].shallow.indexOf(r)>=0?i:Ei(i)}return n}class Ci{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoome>=12272&&e<=12287,Li=e=>e>=12288&&e<=12351,Pi=e=>e>=12448&&e<=12543,zi=e=>e>=12736&&e<=12783,Di=e=>e>=12800&&e<=13055,Oi=e=>e>=13056&&e<=13311,Ri=e=>e>=65040&&e<=65055,Fi=e=>e>=65072&&e<=65103,Bi=e=>e>=65104&&e<=65135,ji=e=>e>=65280&&e<=65519;function Ni(e){for(let t of e)if(Wi(t.charCodeAt(0)))return!0;return!1}function Ui(e){for(let t of e)if(!Hi(t.charCodeAt(0)))return!1;return!0}function Vi(e){let t=e.map((e=>{try{return new RegExp(`\\p{sc=${e}}`,"u").source}catch{return null}})).filter((e=>e));return new RegExp(t.join("|"),"u")}let qi=Vi(["Arab","Dupl","Mong","Ougr","Syrc"]);function Hi(e){return!qi.test(String.fromCodePoint(e))}let Gi=Vi(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Wi(e){return!(746!==e&&747!==e&&(e<4352||!(Fi(e)&&!(e>=65097&&e<=65103)||Oi(e)||zi(e)||!(!Li(e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||Di(e)||Ii(e)||(e=>e>=12688&&e<=12703)(e)||Pi(e)&&12540!==e||!(!ji(e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!Bi(e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||Ri(e)||(e=>e>=19904&&e<=19967)(e)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(e))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(e))||Gi.test(String.fromCodePoint(e)))))}function Zi(e){return!(Wi(e)||(t=e,(e=>e>=128&&e<=255)(t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||(e=>e>=8192&&e<=8303)(t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||(e=>e>=8448&&e<=8527)(t)||(e=>e>=8528&&e<=8591)(t)||(e=>e>=8960&&e<=9215)(t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||(e=>e>=9216&&e<=9279)(t)&&9251!==t||(e=>e>=9280&&e<=9311)(t)||(e=>e>=9312&&e<=9471)(t)||(e=>e>=9632&&e<=9727)(t)||(e=>e>=9728&&e<=9983)(t)&&!(t>=9754&&t<=9759)||(e=>e>=11008&&e<=11263)(t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Li(t)||Pi(t)||(e=>e>=57344&&e<=63743)(t)||Fi(t)||Bi(t)||ji(t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t));var t}let Yi=Vi(["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 Xi(e){return Yi.test(String.fromCodePoint(e))}function $i(e,t){return!(!t&&Xi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||(e=>e>=6016&&e<=6143)(e))}function Ki(e){for(let t of e)if(Xi(t.charCodeAt(0)))return!0;return!1}let Ji=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Qi{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ci,this.transition={})}isSupportedScript(e){return function(e,t){for(let r of e)if(!$i(r.charCodeAt(0),t))return!1;return!0}(e,"loaded"===Ji.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}}class ea{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(fn(e))return new Mn(e,t);if(bn(e)){let r=An(e,t);if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return r.value}{let r=e;return"color"===t.type&&"string"==typeof e?r=Xe.parse(e):"padding"!==t.type||"number"!=typeof e&&!Array.isArray(e)?"variableAnchorOffsetCollection"===t.type&&Array.isArray(e)&&(r=tt.parse(e)):r=Qe.parse(e),{kind:"constant",evaluate:()=>r}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}}class ta{constructor(e){this.property=e,this.value=new ea(e,void 0)}transitioned(e,t){return new na(this.property,this.value,t,x({},e.transition,this.transition),e.now)}untransitioned(){return new na(this.property,this.value,null,{},0)}}class ra{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return T(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].value=new ea(this._values[e].property,null===t?void 0:T(t))}getTransition(e){return T(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].transition=T(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r);let n=this.getTransition(t);void 0!==n&&(e[`${t}-transition`]=n)}return e}transitioned(e,t){let r=new ia(this._properties);for(let n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(e,t._values[n]);return r}untransitioned(){let e=new ia(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class na{constructor(e,t,r,n,i){this.property=e,this.value=t,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,e.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let n=e.now||0,i=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}}return i}}class ia{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class aa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return void 0!==this._values[e].value}getValue(e){return T(this._values[e].value)}setValue(e,t){this._values[e]=new ea(this._values[e].property,null===t?void 0:T(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}}class oa{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(e){return"constant"===this.value.kind?this.value.value:e}evaluate(e,t,r,n){return this.property.evaluate(this.value,this.parameters,e,t,r,n)}}class sa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class la{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw new Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){let n=Pt[this.specification.type];return n?n(e,t,r):e}}class ca{constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,r,n){return new oa(this,"constant"===e.expression.kind||"camera"===e.expression.kind?{kind:"constant",value:e.expression.evaluate(t,null,{},r,n)}:e.expression,t)}interpolate(e,t,r){if("constant"!==e.value.kind||"constant"!==t.value.kind)return e;if(void 0===e.value.value||void 0===t.value.value)return new oa(this,{kind:"constant",value:void 0},e.parameters);let n=Pt[this.specification.type];if(n){let i=n(e.value.value,t.value.value,r);return new oa(this,{kind:"constant",value:i},e.parameters)}return e}evaluate(e,t,r,n,i,a){return"constant"===e.kind?e.value:e.evaluate(t,r,n,i,a)}}class ua extends ca{possiblyEvaluate(e,t,r,n){if(void 0===e.value)return new oa(this,{kind:"constant",value:void 0},t);if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n),a="resolvedImage"===e.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,t);return new oa(this,{kind:"constant",value:o},t)}if("camera"===e.expression.kind){let r=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new oa(this,{kind:"constant",value:r},t)}return new oa(this,e.expression,t)}evaluate(e,t,r,n,i,a){if("source"===e.kind){let o=e.evaluate(t,r,n,i,a);return this._calculate(o,o,o,t)}return"composite"===e.kind?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,n),e.evaluate({zoom:Math.floor(t.zoom)},r,n),e.evaluate({zoom:Math.floor(t.zoom)+1},r,n),t):e.value}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class ha{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new Qi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class fa{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)}interpolate(){return!1}}class pa{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let n=this.defaultPropertyValues[t]=new ea(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new ta(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}}}Ti("DataDrivenProperty",ca),Ti("DataConstantProperty",la),Ti("CrossFadedDataDrivenProperty",ua),Ti("CrossFadedProperty",ha),Ti("ColorRampProperty",fa);let da="-transition";class ma extends Z{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new aa(t.layout)),t.paint)){this._transitionablePaint=new ra(t.paint);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new sa(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,r={}){null!=t&&this._validate(xi,`layers.${this.id}.layout.${e}`,e,t,r)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return e.endsWith(da)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(null!=t&&this._validate(vi,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith(da))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let r=this._transitionablePaint._values[e],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={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&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),w(e,((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}_validate(e,t,r,n,i={}){return(!i||!1!==i.validate)&&_i(this,e.call(mi,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:Y,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof oa&&ln(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}}let ga={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ya{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class va{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xa(e,t=1){let r=0,n=0;return{members:e.map((e=>{let i=ga[e.type].BYTES_PER_ELEMENT,a=r=_a(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:_a(r,Math.max(n,t)),alignment:t}}function _a(e,t){return Math.ceil(e/t)*t}class ba extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e}}ba.prototype.bytesPerElement=4,Ti("StructArrayLayout2i4",ba);class wa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e}}wa.prototype.bytesPerElement=6,Ti("StructArrayLayout3i6",wa);class Ta extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e}}Ta.prototype.bytesPerElement=8,Ti("StructArrayLayout4i8",Ta);class ka extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}ka.prototype.bytesPerElement=12,Ti("StructArrayLayout2i4i12",ka);class Aa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e}}Aa.prototype.bytesPerElement=8,Ti("StructArrayLayout2i4ub8",Aa);class Ma extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e}}Ma.prototype.bytesPerElement=8,Ti("StructArrayLayout2f8",Ma);class Sa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)}emplace(e,t,r,n,i,a,o,s,l,c,u){let h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e}}Sa.prototype.bytesPerElement=20,Ti("StructArrayLayout10ui20",Sa);class Ea extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e}}Ea.prototype.bytesPerElement=24,Ti("StructArrayLayout4i4ui4i24",Ea);class Ca extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}Ca.prototype.bytesPerElement=12,Ti("StructArrayLayout3f12",Ca);class Ia extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}Ia.prototype.bytesPerElement=4,Ti("StructArrayLayout1ul4",Ia);class La extends va{_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(e,t,r,n,i,a,o,s,l){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)}emplace(e,t,r,n,i,a,o,s,l,c){let u=10*e,h=5*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e}}La.prototype.bytesPerElement=20,Ti("StructArrayLayout6i1ul2ui20",La);class Pa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}Pa.prototype.bytesPerElement=12,Ti("StructArrayLayout2i2i2i12",Pa);class za extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)}emplace(e,t,r,n,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e}}za.prototype.bytesPerElement=16,Ti("StructArrayLayout2f1f2i16",za);class Da extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=16*e,l=4*e,c=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,e}}Da.prototype.bytesPerElement=16,Ti("StructArrayLayout2ub2f2i16",Da);class Oa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e}}Oa.prototype.bytesPerElement=6,Ti("StructArrayLayout3ui6",Oa);class Ra extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){let y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){let v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e}}Ra.prototype.bytesPerElement=48,Ti("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ra);class Fa extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){let E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){let C=32*e,I=16*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[I+12]=k,this.float32[I+13]=A,this.float32[I+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,e}}Fa.prototype.bytesPerElement=64,Ti("StructArrayLayout8i15ui1ul2f2ui64",Fa);class Ba extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}Ba.prototype.bytesPerElement=4,Ti("StructArrayLayout1f4",Ba);class ja extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}ja.prototype.bytesPerElement=12,Ti("StructArrayLayout1ui2f12",ja);class Na extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=r,this.uint16[i+3]=n,e}}Na.prototype.bytesPerElement=8,Ti("StructArrayLayout1ul2ui8",Na);class Ua extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e}}Ua.prototype.bytesPerElement=4,Ti("StructArrayLayout2ui4",Ua);class Va extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Va.prototype.bytesPerElement=2,Ti("StructArrayLayout1ui2",Va);class qa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e}}qa.prototype.bytesPerElement=16,Ti("StructArrayLayout4f16",qa);class Ha extends ya{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 a(this.anchorPointX,this.anchorPointY)}}Ha.prototype.size=20;class Ga extends La{get(e){return new Ha(this,e)}}Ti("CollisionBoxArray",Ga);class Wa extends ya{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(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Wa.prototype.size=48;class Za extends Ra{get(e){return new Wa(this,e)}}Ti("PlacedSymbolArray",Za);class Ya extends ya{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(e){this._structArray.uint32[this._pos4+12]=e}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]}}Ya.prototype.size=64;class Xa extends Fa{get(e){return new Ya(this,e)}}Ti("SymbolInstanceArray",Xa);class $a extends Ba{getoffsetX(e){return this.float32[1*e+0]}}Ti("GlyphOffsetArray",$a);class Ka extends wa{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}Ti("SymbolLineVertexArray",Ka);class Ja extends ya{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]}}Ja.prototype.size=12;class Qa extends ja{get(e){return new Ja(this,e)}}Ti("TextAnchorOffsetArray",Qa);class eo extends ya{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]}}eo.prototype.size=8;class to extends Na{get(e){return new eo(this,e)}}Ti("FeatureIndexArray",to);class ro extends ba{}class no extends ba{}class io extends ba{}class ao extends ka{}class oo extends Aa{}class so extends Ma{}class lo extends Sa{}class co extends Ea{}class uo extends Ca{}class ho extends Ia{}class fo extends Pa{}class po extends Da{}class mo extends Oa{}class go extends Ua{}let yo=xa([{name:"a_pos",components:2,type:"Int16"}],4),{members:vo}=yo;class xo{constructor(e=[]){this.segments=e}prepareSegment(e,t,r,n){let i=this.segments[this.segments.length-1];return e>xo.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${xo.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!i||i.vertexLength+e>xo.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,r,n){return new xo([{vertexOffset:e,primitiveOffset:t,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function _o(e,t){return 256*(e=y(Math.floor(e),0,255))+y(Math.floor(t),0,255)}xo.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ti("SegmentVector",xo);let bo=xa([{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 wo={exports:{}},To=function(e,t){var r,n,i,a,o,s,l,c;for(n=e.length-(r=3&e.length),i=t,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0},ko=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};wo.exports=To,wo.exports.murmur3=To,wo.exports.murmur2=ko;var Ao=r(wo.exports);class Mo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,r,n){this.ids.push(So(e)),this.positions.push(t,r,n)}getPositions(e){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let t=So(e),r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=t?n=e:r=e+1}let i=[];for(;this.ids[r]===t;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(e,t){let r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Eo(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(e){let t=new Mo;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function So(e){let t=+e;return!isNaN(t)&&t<=Number.MAX_SAFE_INTEGER?t:Ao(String(e))}function Eo(e,t,r,n){for(;r>1],a=r-1,o=n+1;for(;;){do{a++}while(e[a]i);if(a>=o)break;Co(e,a,o),Co(t,3*a,3*o),Co(t,3*a+1,3*o+1),Co(t,3*a+2,3*o+2)}o-r`u_${e}`)),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return"color"===this.type?new zo(e,t):new Lo(e,t)}}class Fo{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setUniform(e,t,r,n){let i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,r){return"u_pattern"===r.substr(0,9)?new Po(e,t):new Lo(e,t)}}class Bo{constructor(e,t,r,n){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(e,t,r,n,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new Qi(0),t,{},n,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(e,t,i)}_setPaintValue(e,t,r){if("color"===this.type){let n=Oo(r);for(let r=e;r`u_${e}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,r,n,i){let a=this.expression.evaluate(new Qi(this.zoom),t,{},n,[],i),o=this.expression.evaluate(new Qi(this.zoom+1),t,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,r,n){if("color"===this.type){let i=Oo(r),a=Oo(n);for(let r=e;r`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Bo||r instanceof jo)for(let t=0;t!0){this.programConfigurations={};for(let n of e)this.programConfigurations[n.id]=new Uo(n,t,r);this.needsUpload=!1,this._featureMap=new Mo,this._bufferOffset=0}populatePaintArrays(e,t,r,n,i,a){for(let r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,n){for(let i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function qo(e,t){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"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function Ho(e,t,r){let n={color:{source:Ma,composite:qa},number:{source:Ba,composite:Ma}},i={"line-pattern":{source:lo,composite:lo},"fill-pattern":{source:lo,composite:lo},"fill-extrusion-pattern":{source:lo,composite:lo}}[e];return i&&i[r]||n[t][r]}Ti("ConstantBinder",Ro),Ti("CrossFadedConstantBinder",Fo),Ti("SourceExpressionBinder",Bo),Ti("CrossFadedCompositeBinder",No),Ti("CompositeExpressionBinder",jo),Ti("ProgramConfiguration",Uo,{omit:["_buffers"]}),Ti("ProgramConfigurationSet",Vo);let Go,Wo,Zo=8192,Yo=Math.pow(2,14)-1,Xo=-Yo-1;function $o(e){let t=Zo/e.extent,r=e.loadGeometry();for(let e=0;er.x+1||ar.y+1)&&A("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Ko(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?$o(e):[]}}function Jo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}class Qo{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new no,this.indexArray=new mo,this.segments=new xo,this.programConfigurations=new Vo(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){let n=this.layers[0],i=[],a=null,o=!1;"circle"===n.type&&(a=n.layout.get("circle-sort-key"),o=!a.isConstant());for(let{feature:t,id:n,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of i){let{geometry:i,index:a,sourceLayerIndex:o}=n,s=e[a].feature;this.addFeature(n,i,a,r),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,vo),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,n){for(let r of t)for(let t of r){let r=t.x,n=t.y;if(r<0||r>=Zo||n<0||n>=Zo)continue;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=i.vertexLength;Jo(this.layoutVertexArray,r,n,-1,-1),Jo(this.layoutVertexArray,r,n,1,-1),Jo(this.layoutVertexArray,r,n,1,1),Jo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)}}function es(e,t){for(let r=0;r1){if(is(e,t))return!0;for(let n=0;n1?r:r.sub(t)._mult(i)._add(t))}function ls(e,t){let r,n,i,a=!1;for(let o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function cs(e,t){let r=!1;for(let n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function us(e,t,r){let n=r[0],i=r[2];if(e.xi.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;let a=M(e,t,r[0]);return a!==M(e,t,r[1])||a!==M(e,t,r[2])||a!==M(e,t,r[3])}function hs(e,t,r){let n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function fs(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function ps(e,t,r,n,i){if(!t[0]&&!t[1])return e;let o=a.convert(t)._mult(i);"viewport"===r&&o._rotate(-n);let s=[];for(let t=0;tTs(e,p)))),f=u?c*o:c;var p;for(let e of n)for(let t of e){let e=u?t:Ts(t,s),r=f,n=bs([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),ts(h,e,r))return!0}return!1}}function Ts(e,t){let r=bs([],[e.x,e.y,0,1],t);return new a(r[0]/r[3],r[1]/r[3])}class ks extends Qo{}let As;Ti("HeatmapBucket",ks,{omit:["layers"]});var Ms={get paint(){return As=As||new pa({"heatmap-radius":new ca(Y.paint_heatmap["heatmap-radius"]),"heatmap-weight":new ca(Y.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new la(Y.paint_heatmap["heatmap-intensity"]),"heatmap-color":new fa(Y.paint_heatmap["heatmap-color"]),"heatmap-opacity":new la(Y.paint_heatmap["heatmap-opacity"])})}};function Ss(e,{width:t,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${t*r*n}`)}else i=new Uint8Array(t*r*n);return e.width=t,e.height=r,e.data=i,e}function Es(e,{width:t,height:r},n){if(t===e.width&&r===e.height)return;let i=Ss({},{width:t,height:r},n);Cs(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},n),e.width=t,e.height=r,e.data=i.data}function Cs(e,t,r,n,i,a){if(0===i.width||0===i.height)return t;if(i.width>e.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError("out of range destination coordinates for image copy");let o=e.data,s=t.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t80*r){n=1/0,i=1/0;let t=-1/0,o=-1/0;for(let a=r;at&&(t=r),s>o&&(o=s)}a=Math.max(t-n,o-i),a=0!==a?32767/a:0}return Gs(l,c,r,n,i,a,0),c}function qs(e,t,r,n,i){let a;if(i===function(e,t,r,n){let i=0;for(let a=t,o=r-n;a0)for(let i=t;i=t;i-=n)a=ul(i/n|0,e[i],e[i+1],a);return a&&il(a,a.next)&&(hl(a),a=a.next),a}function Hs(e,t){if(!e)return e;t||(t=e);let r,n=e;do{if(r=!1,n.steiner||!il(n,n.next)&&0!==nl(n.prev,n,n.next))n=n.next;else{if(hl(n),n=t=n.prev,n===n.next)break;r=!0}}while(r||n!==t);return t}function Gs(e,t,r,n,i,a,o){if(!e)return;!o&&a&&function(e,t,r,n){let i=e;do{0===i.z&&(i.z=Qs(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,function(e){let t,r=1;do{let n,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:e=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(t>1)}(i)}(e,n,i,a);let s=e;for(;e.prev!==e.next;){let l=e.prev,c=e.next;if(a?Zs(e,n,i,a):Ws(e))t.push(l.i,e.i,c.i),hl(e),e=c.next,s=c.next;else if((e=c)===s){o?1===o?Gs(e=Ys(Hs(e),t),t,r,n,i,a,2):2===o&&Xs(e,t,r,n,i,a):Gs(Hs(e),t,r,n,i,a,1);break}}}function Ws(e){let t=e.prev,r=e,n=e.next;if(nl(t,r,n)>=0)return!1;let i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,d=n.next;for(;d!==t;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&tl(i,s,a,l,o,c,d.x,d.y)&&nl(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Zs(e,t,r,n){let i=e.prev,a=e,o=e.next;if(nl(i,a,o)>=0)return!1;let s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,p=sl?s>c?s:c:l>c?l:c,g=u>h?u>f?u:f:h>f?h:f,y=Qs(p,d,t,r,n),v=Qs(m,g,t,r,n),x=e.prevZ,_=e.nextZ;for(;x&&x.z>=y&&_&&_.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,f,x.x,x.y)&&nl(x.prev,x,x.next)>=0||(x=x.prevZ,_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&tl(s,u,l,h,c,f,_.x,_.y)&&nl(_.prev,_,_.next)>=0))return!1;_=_.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,f,x.x,x.y)&&nl(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;_&&_.z<=v;){if(_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&tl(s,u,l,h,c,f,_.x,_.y)&&nl(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function Ys(e,t){let r=e;do{let n=r.prev,i=r.next.next;!il(n,i)&&al(n,r,r.next,i)&&ll(n,i)&&ll(i,n)&&(t.push(n.i,r.i,i.i),hl(r),hl(r.next),r=e=i),r=r.next}while(r!==e);return Hs(r)}function Xs(e,t,r,n,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&rl(o,e)){let s=cl(o,e);return o=Hs(o,o.next),s=Hs(s,s.next),Gs(o,t,r,n,i,a,0),void Gs(s,t,r,n,i,a,0)}e=e.next}o=o.next}while(o!==e)}function $s(e,t){return e.x-t.x}function Ks(e,t){let r=function(e,t){let r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){let e=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=i&&e>o&&(o=e,r=n.x=n.x&&n.x>=l&&i!==n.x&&tl(ar.x||n.x===r.x&&Js(r,n)))&&(r=n,u=t)}n=n.next}while(n!==s);return r}(e,t);if(!r)return t;let n=cl(r,e);return Hs(n,n.next),Hs(r,r.next)}function Js(e,t){return nl(e.prev,e,t.prev)<0&&nl(t.next,e,e.next)<0}function Qs(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function el(e){let 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 rl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&al(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ll(e,t)&&ll(t,e)&&function(e,t){let 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}(e,t)&&(nl(e.prev,e,t.prev)||nl(e,t.prev,t))||il(e,t)&&nl(e.prev,e,e.next)>0&&nl(t.prev,t,t.next)>0)}function nl(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function il(e,t){return e.x===t.x&&e.y===t.y}function al(e,t,r,n){let i=sl(nl(e,t,r)),a=sl(nl(e,t,n)),o=sl(nl(r,n,e)),s=sl(nl(r,n,t));return i!==a&&o!==s||!(0!==i||!ol(e,r,t))||!(0!==a||!ol(e,n,t))||!(0!==o||!ol(r,e,n))||!(0!==s||!ol(r,t,n))}function ol(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 sl(e){return e>0?1:e<0?-1:0}function ll(e,t){return nl(e.prev,e,e.next)<0?nl(e,t,e.next)>=0&&nl(e,e.prev,t)>=0:nl(e,t,e.prev)<0||nl(e,e.next,t)<0}function cl(e,t){let r=fl(e.i,e.x,e.y),n=fl(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 ul(e,t,r,n){let i=fl(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 hl(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 fl(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function pl(e,t,r){let n=r.patternDependencies,i=!1;for(let r of t){let t=r.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function dl(e,t,r,n,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if("constant"!==t.kind){let e=t.evaluate({zoom:n-1},r,{},i.availableImages),s=t.evaluate({zoom:n},r,{},i.availableImages),l=t.evaluate({zoom:n+1},r,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[e]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:e,mid:s,max:l}}}return r}class ml{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new io,this.indexArray=new mo,this.indexArray2=new go,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.segments2=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=pl("fill",this.layers,t);let n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(let{feature:o,id:s,index:l,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,u=Ko(o,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),u,r))continue;let h=i?n.evaluate(u,{},r,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:e?u.geometry:$o(o),patterns:{},sortKey:h};a.push(f)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=dl("fill",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Us),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),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(e,t,r,n,i){for(let e of _r(t,500)){let t=0;for(let r of e)t+=r.length;let r=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(let t of e){if(0===t.length)continue;t!==e[0]&&a.push(i.length/2);let r=this.segments2.prepareSegment(t.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(t[0].x,t[0].y),this.indexArray2.emplaceBack(n+t.length-1,n),i.push(t[0].x),i.push(t[0].y);for(let e=1;e>3}if(i--,1===n||2===n)a+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&s.push(t),t=[]),t.push(new wl(a,o));else{if(7!==n)throw new Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&s.push(t),s},kl.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},kl.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=kl.types[this.type];function u(e){for(var t=0;t>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}Cl.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Sl(this._pbf,t,this.extent,this._keys,this._values)};var Ll=El;function Pl(e,t,r){if(3===e){var n=new Ll(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}bl.VectorTile=function(e,t){this.layers=e.readFields(Pl,{},t)},bl.VectorTileFeature=Tl,bl.VectorTileLayer=El;let zl,Dl=bl.VectorTileFeature.types,Ol=Math.pow(2,13);function Rl(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*Ol)+o,i*Ol*2,a*Ol*2,Math.round(s))}class Fl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ao,this.centroidVertexArray=new ro,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.features=[],this.hasPattern=pl("fill-extrusion",this.layers,t);for(let{feature:n,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=Ko(n,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),s,r))continue;let l={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:$o(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(dl("fill-extrusion",this.layers,l,this.zoom,t)):this.addFeature(l,l.geometry,a,r,{}),t.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(e,t,r){for(let e of this.features){let{geometry:n}=e;this.addFeature(e,n,e.index,t,r)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,_l),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,n,i){for(let r of _r(t,500)){let t={x:0,y:0,vertexCount:0},n=0;for(let e of r)n+=e.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let e of r){if(0===e.length||jl(e))continue;let r=0;for(let n=0;n=1){let o=e[n-1];if(!Bl(a,o)){i.vertexLength+4>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let e=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,1,r),t.x+=2*a.x,t.y+=2*a.y,t.vertexCount+=2,r+=n,Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,1,r),t.x+=2*o.x,t.y+=2*o.y,t.vertexCount+=2;let s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==Dl[e.type])continue;let a=[],o=[],s=i.vertexLength;for(let e of r)if(0!==e.length){e!==r[0]&&o.push(a.length/2);for(let r=0;rZo)||e.y===t.y&&(e.y<0||e.y>Zo)}function jl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>Zo))||e.every((e=>e.y<0))||e.every((e=>e.y>Zo))}Ti("FillExtrusionBucket",Fl,{omit:["layers","features"]});var Nl={get paint(){return zl=zl||new pa({"fill-extrusion-opacity":new la(Y["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ca(Y["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new la(Y["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new la(Y["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ua(Y["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ca(Y["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ca(Y["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new la(Y["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Ul extends ma{constructor(e){super(e,Nl)}createBucket(e){return new Fl(e)}queryRadius(){return fs(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(e,t,r,n,i,o,s,l){let c=ps(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(t,r),h=this.paint.get("fill-extrusion-base").evaluate(t,r),f=function(e,t){let r=[];for(let n of e){let e=[n.x,n.y,0,1];bs(e,e,t),r.push(new a(e[0]/e[3],e[1]/e[3]))}return r}(c,l),p=function(e,t,r,n){let i=[],o=[],s=n[8]*t,l=n[9]*t,c=n[10]*t,u=n[11]*t,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r;for(let t of e){let e=[],r=[];for(let i of t){let t=i.x,o=i.y,m=n[0]*t+n[4]*o+n[12],g=n[1]*t+n[5]*o+n[13],y=n[2]*t+n[6]*o+n[14],v=n[3]*t+n[7]*o+n[15],x=y+c,_=v+u,b=m+h,w=g+f,T=y+p,k=v+d,A=new a((m+s)/_,(g+l)/_);A.z=x/_,e.push(A);let M=new a(b/k,w/k);M.z=T/k,r.push(M)}i.push(e),o.push(r)}return[i,o]}(n,h,u,l);return function(e,t,r){let n=1/0;rs(r,t)&&(n=ql(r,t[0]));for(let i=0;ie.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new oo,this.layoutVertexArray2=new so,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=pl("line",this.layers,t);let n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=dl("line",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Xl)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Zl),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,r,n,i){let a=this.layers[0].layout,o=a.get("line-join").evaluate(e,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(let r of t)this.addLine(r,e,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)}addLine(e,t,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[s-1].equals(e[s-2]);)s--;let l=0;for(;l0;if(b&&t>l){let e=c.dist(u);if(e>2*d){let t=c.sub(c.sub(u)._mult(d/e)._round());this.updateDistance(u,t),this.addCurrentVertex(t,f,0,0,m),u=t}}let T=u&&h,k=T?r:o?"butt":n;if(T&&"round"===k&&(xi&&(k="bevel"),"bevel"===k&&(x>2&&(k="flipbevel"),x100)g=p.mult(-1);else{let e=x*f.add(p).mag()/f.sub(p).mag();g._perp()._mult(e*(w?-1:1))}this.addCurrentVertex(c,g,0,0,m),this.addCurrentVertex(c,g.mult(-1),0,0,m)}else if("bevel"===k||"fakeround"===k){let e=-Math.sqrt(x*x-1),t=w?e:0,r=w?0:e;if(u&&this.addCurrentVertex(c,f,t,r,m),"fakeround"===k){let e=Math.round(180*_/Math.PI/20);for(let t=1;t2*d){let t=c.add(h.sub(c)._mult(d/e)._round());this.updateDistance(c,t),this.addCurrentVertex(t,p,0,0,m),c=t}}}}addCurrentVertex(e,t,r,n,i,a=!1){let o=t.y*n-t.x,s=-t.y-t.x*n;this.addHalfVertex(e,t.x+t.y*r,t.y-t.x*r,a,!1,r,i),this.addHalfVertex(e,o,s,a,!0,-n,i),this.distance>Jl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,n,i,a))}addHalfVertex({x:e,y:t},r,n,i,a,o,s){let l=.5*(this.lineClips?this.scaledDistance*(Jl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(i?1:0),(t<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}Ti("LineBucket",Ql,{omit:["layers","patternFeatures"]});var ec={get paint(){return Gl=Gl||new pa({"line-opacity":new ca(Y.paint_line["line-opacity"]),"line-color":new ca(Y.paint_line["line-color"]),"line-translate":new la(Y.paint_line["line-translate"]),"line-translate-anchor":new la(Y.paint_line["line-translate-anchor"]),"line-width":new ca(Y.paint_line["line-width"]),"line-gap-width":new ca(Y.paint_line["line-gap-width"]),"line-offset":new ca(Y.paint_line["line-offset"]),"line-blur":new ca(Y.paint_line["line-blur"]),"line-dasharray":new ha(Y.paint_line["line-dasharray"]),"line-pattern":new ua(Y.paint_line["line-pattern"]),"line-gradient":new fa(Y.paint_line["line-gradient"])})},get layout(){return Hl=Hl||new pa({"line-cap":new la(Y.layout_line["line-cap"]),"line-join":new ca(Y.layout_line["line-join"]),"line-miter-limit":new la(Y.layout_line["line-miter-limit"]),"line-round-limit":new la(Y.layout_line["line-round-limit"]),"line-sort-key":new ca(Y.layout_line["line-sort-key"])})}};class tc extends ca{possiblyEvaluate(e,t){return t=new Qi(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,n){return t=x({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,n)}}let rc;class nc extends ma{constructor(e){super(e,ec),this.gradientVersion=0,rc||(rc=new tc(ec.paint.properties["line-width"].specification),rc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if("line-gradient"===e){let e=this.gradientExpression();this.stepInterpolant=!(void 0===e._styleExpression)&&e._styleExpression.expression instanceof At,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=rc.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Ql(e)}queryRadius(e){let t=e,r=ic(hs("line-width",this,t),hs("line-gap-width",this,t)),n=hs("line-offset",this,t);return r/2+Math.abs(n)+fs(this.paint.get("line-translate"))}queryIntersectsFeature(e,t,r,n,i,o,s){let l=ps(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*ic(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),u=this.paint.get("line-offset").evaluate(t,r);return u&&(n=function(e,t){let r=[];for(let n=0;n=3)for(let t=0;t0?t+2*e:e}let ac=xa([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),oc=xa([{name:"a_projected_pos",components:3,type:"Float32"}],4);xa([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let sc=xa([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);xa([{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 lc=xa([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),cc=xa([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function uc(e,t,r){return e.sections.forEach((e=>{e.text=function(e,t,r){let n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),Ji.applyArabicShaping&&(e=Ji.applyArabicShaping(e)),e}(e.text,t,r)})),e}xa([{name:"triangle",components:3,type:"Uint16"}]),xa([{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"}]),xa([{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"}]),xa([{type:"Float32",name:"offsetX"}]),xa([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),xa([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let hc={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var fc=24,pc=gc,dc=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},mc=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m};function gc(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}gc.Varint=0,gc.Fixed64=1,gc.Bytes=2,gc.Fixed32=5;var yc=4294967296,vc=1/yc,xc=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function _c(e){return e.type===gc.Bytes?e.readVarint()+e.pos:e.pos+1}function bc(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function wc(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function zc(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}gc.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Lc(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=zc(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Lc(this.buf,this.pos)+Lc(this.buf,this.pos+4)*yc;return this.pos+=8,e},readSFixed64:function(){var e=Lc(this.buf,this.pos)+zc(this.buf,this.pos+4)*yc;return this.pos+=8,e},readFloat:function(){var e=dc(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=dc(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128?t:(t|=(127&(r=n[this.pos++]))<<7,r<128?t:(t|=(127&(r=n[this.pos++]))<<14,r<128?t:(t|=(127&(r=n[this.pos++]))<<21,r<128?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128||(n|=(127&(i=a[r.pos++]))<<3,i<128)||(n|=(127&(i=a[r.pos++]))<<10,i<128)||(n|=(127&(i=a[r.pos++]))<<17,i<128)||(n|=(127&(i=a[r.pos++]))<<24,i<128)||(n|=(1&(i=a[r.pos++]))<<31,i<128))return function(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e,t,r,n=this.readVarint()+this.pos,i=this.pos;return this.pos=n,n-i>=12&&xc?(e=this.buf,t=i,r=n,xc.decode(e.subarray(t,r))):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=e[i+2],128==(192&(a=e[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=e[i+2],s=e[i+3],128==(192&(a=e[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,i,n)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==gc.Bytes)return e.push(this.readVarint(t));var r=_c(this);for(e=e||[];this.pos127;);else if(t===gc.Bytes)this.pos=this.readVarint()+this.pos;else if(t===gc.Fixed32)this.pos+=4;else{if(t!==gc.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n,i,a;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),i=r,(a=t).buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,a.buf[a.pos]=127&(i>>>=7),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&bc(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),mc(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),mc(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&bc(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,gc.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,wc,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Tc,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Mc,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,kc,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Ac,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Sc,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Ec,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Cc,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Ic,t)},writeBytesField:function(e,t){this.writeTag(e,gc.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,gc.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,gc.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var Dc,Oc=r(pc);function Rc(e,t,r){1===e&&r.readMessage(Fc,t)}function Fc(e,t,r){if(3===e){let{id:e,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Bc,{});t.push({id:e,bitmap:new Is({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Bc(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function jc(e){let t=0,r=0;for(let n of e)t+=n.w*n.h,r=Math.max(r,n.w);e.sort(((e,t)=>t.h-e.h));let n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],i=0,a=0;for(let t of e)for(let e=n.length-1;e>=0;e--){let r=n[e];if(!(t.w>r.w||t.h>r.h)){if(t.x=r.x,t.y=r.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===r.w&&t.h===r.h){let t=n.pop();e=0&&r>=e&&Wc[this.text.charCodeAt(r)];r--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let r=new Hc;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(qc.forText(e.scale,e.fontStack||t));let r=this.sections.length-1;for(let t=0;t=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gc(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g,y=Hc.fromFeature(t,a);f===e.ah.vertical&&y.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:x}=Ji;if(v&&1===y.sections.length){g=[];let e=v(y.toString(),eu(y,u,o,r,i,d));for(let t of e){let e=new Hc;e.text=t,e.sections=y.sections;for(let r=0;r0&&n>w&&(w=n)}else{let e=n[m.fontStack],t=e&&e[y];if(t&&t.rect)T=t.rect,_=t.metrics;else{let e=r[m.fontStack],t=e&&e[y];if(!t)continue;_=t.metrics}v=(a-m.scale)*fc}M?(t.verticalizable=!0,b.push({glyph:y,imageName:k,x:p,y:d+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:_,rect:T}),p+=A*m.scale+u):(b.push({glyph:y,imageName:k,x:p,y:d+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:_,rect:T}),p+=_.advance*m.scale+u)}0!==b.length&&(m=Math.max(p-u,m),ru(b,0,b.length-1,y,w)),p=0;let T=o*a+w;_.lineOffset=Math.max(w,l),d+=T,g=Math.max(T,g),++v}var x;let _=d-Vc,{horizontalAlign:b,verticalAlign:w}=tu(s);(function(e,t,r,n,i,a,o,s,l){let c=(t-r)*i,u=0;u=a!==o?-s*n-Vc:(-n*l+.5)*o;for(let t of e)for(let e of t.positionedGlyphs)e.x+=c,e.y+=u})(t.positionedLines,y,b,w,m,g,o,_,a.length),t.top+=-w*_,t.bottom=t.top+_,t.left+=-b*m,t.right=t.left+m}(b,r,n,i,g,s,l,c,f,u,p,m),!function(e){for(let t of e)if(0!==t.positionedGlyphs.length)return!1;return!0}(_)&&b}let Wc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Zc={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},Yc={40:!0};function Xc(e,t,r,n,i,a){if(t.imageName){let e=n[t.imageName];return e?e.displaySize[0]*t.scale*fc/a+i:0}{let n=r[t.fontStack],a=n&&n[e];return a?a.metrics.advance*t.scale+i:0}}function $c(e,t,r,n){let i=Math.pow(e-t,2);return n?e=0,c=0;for(let r=0;rc){let e=Math.ceil(a/c);i*=e/o,o=e}return{x1:n,y1:i,x2:n+a,y2:i+o}}function au(e,t,r,n,i,a){let o,s=e.image;if(s.content){let e=s.content,t=s.pixelRatio||1;o=[e[0]/t,e[1]/t,s.displaySize[0]-e[2]/t,s.displaySize[1]-e[3]/t]}let l,c,u,h,f=t.left*a,p=t.right*a;"width"===r||"both"===r?(h=i[0]+f-n[3],c=i[0]+p+n[1]):(h=i[0]+(f+p-s.displaySize[0])/2,c=h+s.displaySize[0]);let d=t.top*a,m=t.bottom*a;return"height"===r||"both"===r?(l=i[1]+d-n[0],u=i[1]+m+n[2]):(l=i[1]+(d+m-s.displaySize[1])/2,u=l+s.displaySize[1]),{image:s,top:l,right:c,bottom:u,left:h,collisionPadding:o}}let ou=128,su=32640;function lu(e,t){let{expression:r}=t;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Qi(e+1))};if("source"===r.kind)return{kind:"source"};{let{zoomStops:t,interpolationType:n}=r,i=0;for(;ie.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ys([]),this.placementViewportMatrix=ys([]);let r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=lu(this.zoom,r["text-size"]),this.iconSizeData=lu(this.zoom,r["icon-size"]);let n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==cu(n,"text-overlap","text-allow-overlap")||"never"!==cu(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((t=>e.ah[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new yu(new Vo(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new yu(new Vo(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new $a,this.lineVertexArray=new Ka,this.symbolInstances=new Xa,this.textAnchorOffsets=new Qa}calculateGlyphDependencies(e,t,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;let f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new Qi(this.zoom);for(let{feature:r,id:s,index:l,sourceLayerIndex:g}of t){let t,y,v=i._featureFilter.needGeometry,x=Ko(r,v);if(!i._featureFilter.filter(m,x,n))continue;if(v||(x.geometry=$o(r)),c){let e=i.getValueAndResolveTokens("text-field",x,n,d),r=Je.factory(e),a=this.hasRTLText=this.hasRTLText||gu(r);(!a||"unavailable"===Ji.getRTLTextPluginStatus()||a&&Ji.isParsed())&&(t=uc(r,i,x))}if(u){let e=i.getValueAndResolveTokens("icon-image",x,n,d);y=e instanceof rt?e:rt.fromString(e)}if(!t&&!y)continue;let _=this.sortFeaturesByKey?h.evaluate(x,{},n):void 0;if(this.features.push({id:s,text:t,icon:y,index:l,sourceLayerIndex:g,geometry:x.geometry,properties:r.properties,type:fu[r.type],sortKey:_}),y&&(f[y.name]=!0),t){let r=o.evaluate(x,{},n).join(","),i="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let e of t.sections)if(e.image)f[e.image.name]=!0;else{let n=Ni(t.toString()),a=e.fontStack||r,o=p[a]=p[a]||{};this.calculateGlyphDependencies(e.text,o,i,this.allowVerticalPlacement,n)}}}"line"===a.get("symbol-placement")&&(this.features=function(e){let t={},r={},n=[],i=0;function a(t){n.push(e[t]),i++}function o(e,t,i){let a=r[e];return delete r[e],r[t]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(e,r,i){let a=t[r];return delete t[r],t[e]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(e,t,r){let n=r?t[0][t[0].length-1]:t[0][0];return`${e}:${n.x}:${n.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,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(e,t){let r=this.lineVertexArray.length;if(void 0!==e.segment){let r=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),i={};for(let n=e.segment+1;n=0;r--)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=t[r-1].dist(t[r]));for(let e=0;e0}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(e,t){let r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs;for(let t=r.vertexStartIndex;tn[e]-n[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,r)=>{e>=0&&r.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ti("SymbolBucket",xu,{omit:["layers","collisionBoxArray","features","compareText"]}),xu.MAX_GLYPHS=65535,xu.addDynamicAttributes=mu;var _u={get paint(){return hu=hu||new pa({"icon-opacity":new ca(Y.paint_symbol["icon-opacity"]),"icon-color":new ca(Y.paint_symbol["icon-color"]),"icon-halo-color":new ca(Y.paint_symbol["icon-halo-color"]),"icon-halo-width":new ca(Y.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ca(Y.paint_symbol["icon-halo-blur"]),"icon-translate":new la(Y.paint_symbol["icon-translate"]),"icon-translate-anchor":new la(Y.paint_symbol["icon-translate-anchor"]),"text-opacity":new ca(Y.paint_symbol["text-opacity"]),"text-color":new ca(Y.paint_symbol["text-color"],{runtimeType:de,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new ca(Y.paint_symbol["text-halo-color"]),"text-halo-width":new ca(Y.paint_symbol["text-halo-width"]),"text-halo-blur":new ca(Y.paint_symbol["text-halo-blur"]),"text-translate":new la(Y.paint_symbol["text-translate"]),"text-translate-anchor":new la(Y.paint_symbol["text-translate-anchor"])})},get layout(){return uu=uu||new pa({"symbol-placement":new la(Y.layout_symbol["symbol-placement"]),"symbol-spacing":new la(Y.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new la(Y.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ca(Y.layout_symbol["symbol-sort-key"]),"symbol-z-order":new la(Y.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new la(Y.layout_symbol["icon-allow-overlap"]),"icon-overlap":new la(Y.layout_symbol["icon-overlap"]),"icon-ignore-placement":new la(Y.layout_symbol["icon-ignore-placement"]),"icon-optional":new la(Y.layout_symbol["icon-optional"]),"icon-rotation-alignment":new la(Y.layout_symbol["icon-rotation-alignment"]),"icon-size":new ca(Y.layout_symbol["icon-size"]),"icon-text-fit":new la(Y.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new la(Y.layout_symbol["icon-text-fit-padding"]),"icon-image":new ca(Y.layout_symbol["icon-image"]),"icon-rotate":new ca(Y.layout_symbol["icon-rotate"]),"icon-padding":new ca(Y.layout_symbol["icon-padding"]),"icon-keep-upright":new la(Y.layout_symbol["icon-keep-upright"]),"icon-offset":new ca(Y.layout_symbol["icon-offset"]),"icon-anchor":new ca(Y.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new la(Y.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new la(Y.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new la(Y.layout_symbol["text-rotation-alignment"]),"text-field":new ca(Y.layout_symbol["text-field"]),"text-font":new ca(Y.layout_symbol["text-font"]),"text-size":new ca(Y.layout_symbol["text-size"]),"text-max-width":new ca(Y.layout_symbol["text-max-width"]),"text-line-height":new la(Y.layout_symbol["text-line-height"]),"text-letter-spacing":new ca(Y.layout_symbol["text-letter-spacing"]),"text-justify":new ca(Y.layout_symbol["text-justify"]),"text-radial-offset":new ca(Y.layout_symbol["text-radial-offset"]),"text-variable-anchor":new la(Y.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new ca(Y.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new ca(Y.layout_symbol["text-anchor"]),"text-max-angle":new la(Y.layout_symbol["text-max-angle"]),"text-writing-mode":new la(Y.layout_symbol["text-writing-mode"]),"text-rotate":new ca(Y.layout_symbol["text-rotate"]),"text-padding":new la(Y.layout_symbol["text-padding"]),"text-keep-upright":new la(Y.layout_symbol["text-keep-upright"]),"text-transform":new ca(Y.layout_symbol["text-transform"]),"text-offset":new ca(Y.layout_symbol["text-offset"]),"text-allow-overlap":new la(Y.layout_symbol["text-allow-overlap"]),"text-overlap":new la(Y.layout_symbol["text-overlap"]),"text-ignore-placement":new la(Y.layout_symbol["text-ignore-placement"]),"text-optional":new la(Y.layout_symbol["text-optional"])})}};class bu{constructor(e){if(void 0===e.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:ue,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ti("FormatSectionOverride",bu,{omit:["defaultValue"]});class wu extends ma{constructor(e){super(e,_u)}recalculate(e,t){if(super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){let e=this.layout.get("text-writing-mode");if(e){let t=[];for(let r of e)t.indexOf(r)<0&&t.push(r);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,r,n){let i=this.layout.get(e).evaluate(t,{},r,n),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||bn(a.value)||!i?i:(o=t.properties,i.replace(/{([^{}]+)}/g,((e,t)=>o&&t in o?String(o[t]):"")));var o}createBucket(e){return new xu(e)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let e of _u.paint.overridableProperties){if(!wu.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),r=new bu(t),n=new _n(r,t.property.specification),i=null;i="constant"===t.value.kind||"source"===t.value.kind?new Tn("source",n):new kn("composite",n,t.value.zoomStops),this.paint._values[e]=new oa(t.property,i,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,r){return!(!this.layout||t.isDataDriven()||r.isDataDriven())&&wu.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let r=e.get("text-field"),n=_u.paint.properties[t],i=!1,a=e=>{for(let t of e)if(n.overrides&&n.overrides.hasOverride(t))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof Je)a(r.value.value.sections);else if("source"===r.value.kind){let e=t=>{i||(t instanceof st&&at(t.value)===ve?a(t.value.sections):t instanceof Zt?a(t.sections):t.eachChild(e))},t=r.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let Tu;var ku={get paint(){return Tu=Tu||new pa({"background-color":new la(Y.paint_background["background-color"]),"background-pattern":new ha(Y.paint_background["background-pattern"]),"background-opacity":new la(Y.paint_background["background-opacity"])})}};class Au extends ma{constructor(e){super(e,ku)}}let Mu;var Su={get paint(){return Mu=Mu||new pa({"raster-opacity":new la(Y.paint_raster["raster-opacity"]),"raster-hue-rotate":new la(Y.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new la(Y.paint_raster["raster-brightness-min"]),"raster-brightness-max":new la(Y.paint_raster["raster-brightness-max"]),"raster-saturation":new la(Y.paint_raster["raster-saturation"]),"raster-contrast":new la(Y.paint_raster["raster-contrast"]),"raster-resampling":new la(Y.paint_raster["raster-resampling"]),"raster-fade-duration":new la(Y.paint_raster["raster-fade-duration"])})}};class Eu extends ma{constructor(e){super(e,Su)}}class Cu extends ma{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Iu{constructor(e){this._methodToThrottle=e,this._triggered=!1,typeof MessageChannel<"u"&&(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 Lu=6371008.8;class Pu{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Pu(v(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Lu*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof Pu)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Pu(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Pu(Number("lng"in e?e.lng:e.lon),Number(e.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 zu=2*Math.PI*Lu;function Du(e){return zu*Math.cos(e*Math.PI/180)}function Ou(e){return(180+e)/360}function Ru(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Fu(e,t){return e/Du(t)}function Bu(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}class ju{constructor(e,t,r=0){this.x=+e,this.y=+t,this.z=+r}static fromLngLat(e,t=0){let r=Pu.convert(e);return new ju(Ou(r.lng),Ru(r.lat),Fu(t,r.lat))}toLngLat(){return new Pu(360*this.x-180,Bu(this.y))}toAltitude(){return this.z*Du(Bu(this.y))}meterInMercatorCoordinateUnits(){return 1/zu*(e=Bu(this.y),1/Math.cos(e*Math.PI/180));var e}}function Nu(e,t,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[e*n-2*Math.PI*6378137/2,t*n-2*Math.PI*6378137/2]}class Uu{constructor(e,t,r){if(i=t,a=r,(n=e)<0||n>25||a<0||a>=Math.pow(2,n)||i<0||i>=Math.pow(2,n))throw new Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);var n,i,a;this.z=e,this.x=t,this.y=r,this.key=Hu(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let n=(a=this.y,o=this.z,s=Nu(256*(i=this.x),256*(a=Math.pow(2,o)-a-1),o),l=Nu(256*(i+1),256*(a+1),o),s[0]+","+s[1]+","+l[0]+","+l[1]);var i,a,o,s,l;let c=function(e,t,r){let n,i="";for(let a=e;a>0;a--)n=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,n)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=Math.pow(2,this.z);return new a((e.x*t-this.x)*Zo,(e.y*t-this.y)*Zo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Vu{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Hu(e,t.z,t.z,t.x,t.y)}}class qu{constructor(e,t,r,n,i){if(e= z; overscaledZ = ${e}; z = ${r}`);this.overscaledZ=e,this.wrap=t,this.canonical=new Uu(r,+n,+i),this.key=Hu(t,e,r,n,i)}clone(){return new qu(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new qu(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qu(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-e;return e>this.canonical.z?Hu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Hu(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new qu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new qu(t,this.wrap,t,r,n),new qu(t,this.wrap,t,r+1,n),new qu(t,this.wrap,t,r,n+1),new qu(t,this.wrap,t,r+1,n+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}unpack(e,t,r){return e*this.redFactor+t*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ls({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,r){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,l=-r*this.dim;for(let t=a;t=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class Zu{constructor(e,t,r,n,i){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=n,this.properties=e.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)"_geometry"!==t&&"_vectorTileFeature"!==t&&(e[t]=this[t]);return e}}class Yu{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new bi(Zo,16,0),this.grid3D=new bi(Zo,16,0),this.featureIndexArray=new to,this.promoteId=t}insert(e,t,r,n,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);let s=a?this.grid3D:this.grid;for(let e=0;e=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new bl.VectorTile(new Oc(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(e,t,r,n){this.loadVTLayers();let i=e.params||{},o=Zo/e.tileSize/e.scale,s=In(i.filter),l=e.queryGeometry,c=e.queryPadding*o,u=$u(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=$u(e.cameraQueryGeometry),p=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,((t,r,n,i)=>function(e,t,r,n,i){for(let a of e)if(t<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;let o=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(let t of o)if(cs(e,t))return!0;for(let t=0;t(f||(f=$o(t)),r.queryIntersectsFeature(l,t,n,f,this.z,e.transform,o,e.pixelPosMatrix))))}return m}loadMatchingFeature(e,t,r,n,i,a,o,s,l,c,u){let h=this.bucketLayerIDs[t];if(a&&!function(e,t){for(let r=0;r=0)return!0;return!1}(a,h))return;let f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){let e=Ko(p,!0);if(!i.filter(new Qi(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Qi(this.tileID.overscaledZ),p))return;let d=this.getId(p,f);for(let t=0;t{let o=t instanceof sa?t.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function $u(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:t,minY:r,maxX:n,maxY:i}}function Ku(e,t){return t-e}function Ju(e,t,r,n,i){let o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round():u.x>=n&&(u=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round():u.y>=i&&(u=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(u)))))}}return o}Ti("FeatureIndex",Yu,{omit:["rawTileData","sourceLayerCoder"]});class Qu extends a{constructor(e,t,r,n){super(e,t),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new Qu(this.x,this.y,this.angle,this.segment)}}function eh(e,t,r,n,i){if(void 0===t.segment||0===r)return!0;let a=t,o=t.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let l=[],c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=t.dist(r)}return!0}function th(e){let t=0;for(let r=0;rc){let u=(c-l)/a,h=Pt.number(n.x,i.x,u),f=Pt.number(n.y,i.y,u),p=new Qu(h,f,i.angleTo(n),r);return p._round(),!o||eh(e,p,s,o,t)?p:void 0}l+=a}}function ah(e,t,r,n,i,a,o,s,l){let c=rh(n,a,o),u=nh(n,i),h=u*o,f=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-h=0&&y=0&&v=0&&f+c<=u){let r=new Qu(y,v,m,t);r._round(),n&&!eh(e,r,a,n,i)||p.push(r)}}h+=d}return s||p.length||o||(p=oh(e,h/2,r,n,i,a,o,!0,l)),p}function sh(e,t,r,n){let i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=o.stretchX||[[0,l]],f=o.stretchY||[[0,c]],p=(e,t)=>e+t[1]-t[0],d=h.reduce(p,0),m=f.reduce(p,0),g=l-d,y=c-m,v=0,x=d,_=0,b=m,w=0,T=g,k=0,A=y;if(o.content&&n){let t=o.content,r=t[2]-t[0],n=t[3]-t[1];(o.textFitWidth||o.textFitHeight)&&(u=iu(e)),v=lh(h,0,t[0]),_=lh(f,0,t[1]),x=lh(h,t[0],t[2]),b=lh(f,t[1],t[3]),w=t[0]-v,k=t[1]-_,T=r-x,A=n-b}let M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,I=(e,n,i,l)=>{let c=uh(e.stretch-v,x,E,M),u=hh(e.fixed-w,T,e.stretch,d),h=uh(n.stretch-_,b,C,S),f=hh(n.fixed-k,A,n.stretch,m),p=uh(i.stretch-v,x,E,M),g=hh(i.fixed-w,T,i.stretch,d),y=uh(l.stretch-_,b,C,S),I=hh(l.fixed-k,A,l.stretch,m),L=new a(c,h),P=new a(p,h),z=new a(p,y),D=new a(c,y),O=new a(u/s,f/s),R=new a(g/s,I/s),F=t*Math.PI/180;if(F){let e=Math.sin(F),t=Math.cos(F),r=[t,-e,e,t];L._matMult(r),P._matMult(r),D._matMult(r),z._matMult(r)}let B=e.stretch+e.fixed,j=n.stretch+n.fixed;return{tl:L,tr:P,bl:D,br:z,tex:{x:o.paddedRect.x+1+B,y:o.paddedRect.y+1+j,w:i.stretch+i.fixed-B,h:l.stretch+l.fixed-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:R,minFontScaleX:T/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){let e=ch(h,g,d),t=ch(f,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{let c=null!==(h=o.image)&&void 0!==h&&h.content&&(o.image.textFitWidth||o.image.textFitHeight)?iu(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];let f=o.collisionPadding;if(f&&(c.x1-=f[0]*s,c.y1-=f[1]*s,c.x2+=f[2]*s,c.y2+=f[3]*s),u){let e=new a(c.x1,c.y1),t=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(e.x,t.x,r.x,n.x),c.x2=Math.max(e.x,t.x,r.x,n.x),c.y1=Math.min(e.y,t.y,r.y,n.y),c.y2=Math.max(e.y,t.y,r.y,n.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=e.length}}class ph{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}}function dh(e,t=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0];for(let e=0;eo)&&(o=t.x),(!e||t.y>s)&&(s=t.y)}let c=Math.min(o-n,s-i),u=c/2,h=new ph([],mh);if(0===c)return new a(n,i);for(let t=n;tf.d||!f.d)&&(f=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,p)),n.max-f.d<=t||(u=n.h/2,h.push(new gh(n.p.x-u,n.p.y-u,u,e)),h.push(new gh(n.p.x+u,n.p.y-u,u,e)),h.push(new gh(n.p.x-u,n.p.y+u,u,e)),h.push(new gh(n.p.x+u,n.p.y+u,u,e)),p+=4)}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${f.d}`)),f.p}function mh(e,t){return t.max-e.max}function gh(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){let r=!1,n=1/0;for(let i=0;ie.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,ss(e,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var yh;e.aq=void 0,(yh=e.aq||(e.aq={}))[yh.center=1]="center",yh[yh.left=2]="left",yh[yh.right=3]="right",yh[yh.top=4]="top",yh[yh.bottom=5]="bottom",yh[yh["top-left"]=6]="top-left",yh[yh["top-right"]=7]="top-right",yh[yh["bottom-left"]=8]="bottom-left",yh[yh["bottom-right"]=9]="bottom-right";let vh=Number.POSITIVE_INFINITY;function xh(e,t){return t[1]!==vh?function(e,t,r){let n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){let r=0,n=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-t;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function _h(e,t,r){var n;let i=e.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(t,{},r);if(a){let e=a.values,t=[];for(let r=0;re*fc));n.startsWith("top")?i[1]-=7:n.startsWith("bottom")&&(i[1]+=7),t[r+1]=i}return new tt(t)}let o=i.get("text-variable-anchor");if(o){let n;n=void 0!==e._unevaluatedLayout.getValue("text-radial-offset")?[i.get("text-radial-offset").evaluate(t,{},r)*fc,vh]:i.get("text-offset").evaluate(t,{},r).map((e=>e*fc));let a=[];for(let e of o)a.push(e,xh(e,n));return new tt(a)}return null}function bh(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function wh(t,r,n,i,a,o,s,l,c,u,h){let f=o.textMaxSize.evaluate(r,{});void 0===f&&(f=s);let p,d=t.layers[0].layout,m=d.get("icon-offset").evaluate(r,{},h),g=kh(n.horizontal),y=s/24,v=t.tilePixelRatio*y,x=t.tilePixelRatio*f/24,_=t.tilePixelRatio*l,b=t.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*t.tilePixelRatio,T=function(e,t,r,n=1){let i=e.get("icon-padding").evaluate(t,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(d,r,h,t.tilePixelRatio),k=d.get("text-max-angle")/180*Math.PI,M="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),S="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),E=d.get("symbol-placement"),C=b/2,I=d.get("icon-text-fit");i&&"none"!==I&&(t.allowVerticalPlacement&&n.vertical&&(p=au(i,n.vertical,I,d.get("icon-text-fit-padding"),m,y)),g&&(i=au(i,g,I,d.get("icon-text-fit-padding"),m,y)));let L=(l,f)=>{f.x<0||f.x>=Zo||f.y<0||f.y>=Zo||function(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,M){let S,E,C,I,L=t.addToLineVertexArray(r,n),P=0,z=0,D=0,O=0,R=-1,F=-1,B={},j=Ao("");if(t.allowVerticalPlacement&&i.vertical){let e=l.layout.get("text-rotate").evaluate(b,{},k)+90;C=new fh(c,r,u,h,f,i.vertical,p,d,m,e),s&&(I=new fh(c,r,u,h,f,s,y,v,m,e))}if(a){let n=l.layout.get("icon-rotate").evaluate(b,{}),i="none"!==l.layout.get("icon-text-fit"),o=sh(a,n,T,i),p=s?sh(s,n,T,i):void 0;E=new fh(c,r,u,h,f,a,y,v,!1,n),P=4*o.length;let d=t.iconSizeData,m=null;"source"===d.kind?(m=[ou*l.layout.get("icon-size").evaluate(b,{})],m[0]>su&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===d.kind&&(m=[ou*w.compositeIconSizes[0].evaluate(b,{},k),ou*w.compositeIconSizes[1].evaluate(b,{},k)],(m[0]>su||m[1]>su)&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,m,_,x,b,e.ah.none,r,L.lineStartIndex,L.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,p&&(z=4*p.length,t.addSymbols(t.icon,p,m,_,x,b,e.ah.vertical,r,L.lineStartIndex,L.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}let N=Object.keys(i.horizontal);for(let n of N){let a=i.horizontal[n];if(!S){j=Ao(a.text);let e=l.layout.get("text-rotate").evaluate(b,{},k);S=new fh(c,r,u,h,f,a,p,d,m,e)}let s=1===a.positionedLines.length;if(D+=Th(t,r,a,o,l,m,b,g,L,i.vertical?e.ah.horizontal:e.ah.horizontalOnly,s?N:[n],B,R,w,k),s)break}i.vertical&&(O+=Th(t,r,i.vertical,o,l,m,b,g,L,e.ah.vertical,["vertical"],B,F,w,k));let U=S?S.boxStartIndex:t.collisionBoxArray.length,V=S?S.boxEndIndex:t.collisionBoxArray.length,q=C?C.boxStartIndex:t.collisionBoxArray.length,H=C?C.boxEndIndex:t.collisionBoxArray.length,G=E?E.boxStartIndex:t.collisionBoxArray.length,W=E?E.boxEndIndex:t.collisionBoxArray.length,Z=I?I.boxStartIndex:t.collisionBoxArray.length,Y=I?I.boxEndIndex:t.collisionBoxArray.length,X=-1,$=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;X=$(S,X),X=$(C,X),X=$(E,X),X=$(I,X);let K=X>-1?1:0;K&&(X*=M/fc),t.glyphOffsetArray.length>=xu.MAX_GLYPHS&&A("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey);let J=_h(l,b,k),[Q,ee]=function(t,r){let n=t.length,i=r?.values;if(i?.length>0)for(let r=0;r=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,j,U,V,q,H,G,W,Z,Y,u,D,O,P,z,K,0,p,X,Q,ee)}(t,f,l,n,i,a,p,t.layers[0],t.collisionBoxArray,r.index,r.sourceLayerIndex,t.index,v,[w,w,w,w],M,c,_,T,S,m,r,o,u,h,s)};if("line"===E)for(let e of Ju(r.geometry,0,0,Zo,Zo)){let r=ah(e,b,k,n.vertical||g,i,24,x,t.overscaling,Zo);for(let n of r)g&&Ah(t,g.text,C,n)||L(e,n)}else if("line-center"===E){for(let e of r.geometry)if(e.length>1){let t=ih(e,k,n.vertical||g,i,24,x);t&&L(e,t)}}else if("Polygon"===r.type)for(let e of _r(r.geometry,0)){let t=dh(e,16);L(e[0],new Qu(t.x,t.y,0))}else if("LineString"===r.type)for(let e of r.geometry)L(e,new Qu(e[0].x,e[0].y,0));else if("Point"===r.type)for(let e of r.geometry)for(let t of e)L([t],new Qu(t.x,t.y,0))}function Th(e,t,r,n,i,o,s,l,c,u,h,f,p,d,m){let g=function(e,t,r,n,i,o,s,l){let c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let n of e.positionedGlyphs){if(!n.rect)continue;let o=n.rect||{},h=4,f=!0,p=1,d=0,m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&t.verticalizable&&(d=e.lineOffset/2-(n.imageName?-(fc-n.metrics.width*n.scale)/2:(n.scale-1)*fc)),n.imageName){let e=s[n.imageName];f=e.sdf,p=e.pixelRatio,h=1/p}let y=i?[n.x+g,n.y]:[0,0],v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-d],x=[0,0];m&&(x=v,v=[0,0]);let _=n.metrics.isDoubleResolution?2:1,b=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],T=b+o.w/_*n.scale/p,k=w+o.h/_*n.scale/p,A=new a(b,w),M=new a(T,w),S=new a(b,k),E=new a(T,k);if(m){let e=new a(-g,g-Vc),t=-Math.PI/2,r=12-g,i=new a(22-r,-(n.imageName?r:0)),o=new a(...x);A._rotateAround(t,e)._add(i)._add(o),M._rotateAround(t,e)._add(i)._add(o),S._rotateAround(t,e)._add(i)._add(o),E._rotateAround(t,e)._add(i)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),r=[t,-e,e,t];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}let C=new a(0,0),I=new a(0,0);u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:t.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:f,pixelOffsetTL:C,pixelOffsetBR:I,minFontScaleX:0,minFontScaleY:0})}return u}(0,r,l,i,o,s,n,e.allowVerticalPlacement),y=e.textSizeData,v=null;"source"===y.kind?(v=[ou*i.layout.get("text-size").evaluate(s,{})],v[0]>su&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===y.kind&&(v=[ou*d.compositeTextSizes[0].evaluate(s,{},m),ou*d.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>su||v[1]>su)&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,l,o,s,u,t,c.lineStartIndex,c.lineLength,p,m);for(let t of h)f[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function kh(e){for(let t in e)return e[t];return null}function Ah(e,t,r,n){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(n.dist(e[t])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);let i=Mh[15&r];if(!i)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Sh(o,a,i,e)}constructor(e,t=64,r=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=r,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Mh.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=e,this.coords[this._pos++]=t,r}finish(){let e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Eh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){let c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){let s=a[2*o],c=a[2*o+1];s>=e&&s<=r&&c>=t&&c<=n&&l.push(i[o])}continue}let f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=e&&p<=r&&d>=t&&d<=n&&l.push(i[f]),(0===c?e<=p:t<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(e,t,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){let c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Ph(i[2*r],i[2*r+1],e,t)<=l&&s.push(n[r]);continue}let f=h+u>>1,p=i[2*f],d=i[2*f+1];Ph(p,d,e,t)<=l&&s.push(n[f]),(0===c?e-r<=p:t-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?e+r>=p:t+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function Eh(e,t,r,n,i,a){if(i-n<=r)return;let o=n+i>>1;Ch(e,t,o,n,i,a),Eh(e,t,r,n,o-1,1-a),Eh(e,t,r,o+1,i,1-a)}function Ch(e,t,r,n,i,a){for(;i>n;){if(i-n>600){let o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Ch(e,t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}let o=t[2*r+a],s=n,l=i;for(Ih(e,t,n,r),t[2*i+a]>o&&Ih(e,t,n,i);so;)l--}t[2*n+a]===o?Ih(e,t,n,l):(l++,Ih(e,t,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function Ih(e,t,r,n){Lh(e,r,n),Lh(t,2*r,2*n),Lh(t,2*r+1,2*n+1)}function Lh(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Ph(e,t,r,n){let i=e-r,a=t-n;return i*i+a*a}var zh;e.bg=void 0,(zh=e.bg||(e.bg={})).create="create",zh.load="load",zh.fullLoad="fullLoad";let Dh=null,Oh=[],Rh=1e3/60,Fh="loadTime",Bh="fullLoadTime",jh={mark(e){performance.mark(e)},frame(e){let t=e;null!=Dh&&Oh.push(t-Dh),Dh=t},clearMetrics(){Dh=null,Oh=[],performance.clearMeasures(Fh),performance.clearMeasures(Bh);for(let t in e.bg)performance.clearMarks(e.bg[t])},getPerformanceMetrics(){performance.measure(Fh,e.bg.create,e.bg.load),performance.measure(Bh,e.bg.create,e.bg.fullLoad);let t=performance.getEntriesByName(Fh)[0].duration,r=performance.getEntriesByName(Bh)[0].duration,n=Oh.length,i=1/(Oh.reduce(((e,t)=>e+t),0)/n/1e3),a=Oh.filter((e=>e>Rh)).reduce(((e,t)=>e+(t-Rh)/Rh),0);return{loadTime:t,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};e.$=class extends Ta{},e.A=gs,e.B=yi,e.C=function(e){if(null==E){let t=e.navigator?e.navigator.userAgent:null;E=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return E},e.D=la,e.E=Z,e.F=class{constructor(e,t){var r,n,i;this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Iu((()=>this.process())),this.subscription=(r=this.target,n="message",i=e=>this.receive(e),r.addEventListener(n,i,!1),{unsubscribe:()=>{r.removeEventListener(n,i,!1)}}),this.globalScope=S(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise(((r,n)=>{let i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},t&&t.signal.addEventListener("abort",(()=>{delete this.resolveRejects[i];let t={id:i,type:"",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),{once:!0});let a=[],o=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Si(e.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(e){let t=e.data,r=t.id;if(!("file://"!==t.origin&&"file://"!==location.origin&&"resource://android"!==t.origin&&"resource://android"!==location.origin&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(""===t.type){delete this.tasks[r];let e=this.abortControllers[r];return delete this.abortControllers[r],void(e&&e.abort())}if(S(self)||t.mustQueue)return this.tasks[r]=t,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,t)}}process(){if(0===this.taskQueue.length)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,r){return t(this,void 0,void 0,(function*(){if(""===r.type){let t=this.resolveRejects[e];return delete this.resolveRejects[e],t?void(r.error?t.reject(Ei(r.error)):t.resolve(Ei(r.data))):void 0}if(!this.messageHandlers[r.type])return void this.completeTask(e,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let t=Ei(r.data),n=new AbortController;this.abortControllers[e]=n;try{let i=yield this.messageHandlers[r.type](r.sourceMapId,t,n);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}}))}completeTask(e,t,r){let n=[];delete this.abortControllers[e];let i={id:e,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?Si(t):null,data:Si(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=B,e.H=function(){var e=new gs(16);return gs!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.I=Nc,e.J=function(e,t,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*y+t[12],e[13]=t[1]*m+t[5]*g+t[9]*y+t[13],e[14]=t[2]*m+t[6]*g+t[10]*y+t[14],e[15]=t[3]*m+t[7]*g+t[11]*y+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],e[0]=n=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=f,e[10]=p,e[11]=d,e[12]=n*m+s*g+h*y+t[12],e[13]=i*m+l*g+f*y+t[13],e[14]=a*m+c*g+p*y+t[14],e[15]=o*m+u*g+d*y+t[15]),e},e.K=function(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},e.L=vs,e.M=function(e,t){let r={};for(let n=0;n{let t=window.document.createElement("video");return t.muted=!0,new Promise((r=>{t.onloadstart=()=>{r(t)};for(let r of e){let e=window.document.createElement("source");V(r)||(t.crossOrigin="Anonymous"),e.src=r,t.appendChild(e)}}))},e.a4=function(){return _++},e.a5=Ga,e.a6=xu,e.a7=In,e.a8=Ko,e.a9=Zu,e.aA=function(e){if("custom"===e.type)return new Cu(e);switch(e.type){case"background":return new Au(e);case"circle":return new ws(e);case"fill":return new yl(e);case"fill-extrusion":return new Ul(e);case"heatmap":return new Os(e);case"hillshade":return new Fs(e);case"line":return new nc(e);case"raster":return new Eu(e);case"symbol":return new wu(e)}},e.aB=T,e.aC=function(e,t){if(!e)return[{command:"setStyle",args:[t]}];let r=[];try{if(!K(e.version,t.version))return[{command:"setStyle",args:[t]}];K(e.center,t.center)||r.push({command:"setCenter",args:[t.center]}),K(e.zoom,t.zoom)||r.push({command:"setZoom",args:[t.zoom]}),K(e.bearing,t.bearing)||r.push({command:"setBearing",args:[t.bearing]}),K(e.pitch,t.pitch)||r.push({command:"setPitch",args:[t.pitch]}),K(e.sprite,t.sprite)||r.push({command:"setSprite",args:[t.sprite]}),K(e.glyphs,t.glyphs)||r.push({command:"setGlyphs",args:[t.glyphs]}),K(e.transition,t.transition)||r.push({command:"setTransition",args:[t.transition]}),K(e.light,t.light)||r.push({command:"setLight",args:[t.light]}),K(e.terrain,t.terrain)||r.push({command:"setTerrain",args:[t.terrain]}),K(e.sky,t.sky)||r.push({command:"setSky",args:[t.sky]}),K(e.projection,t.projection)||r.push({command:"setProjection",args:[t.projection]});let n={},i=[];!function(e,t,r,n){let i;for(i in t=t||{},e=e||{})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||ee(i,r,n));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?K(e[i],t[i])||("geojson"===e[i].type&&"geojson"===t[i].type&&re(e,t,i)?J(r,{command:"setGeoJSONSourceData",args:[i,t[i].data]}):te(i,t,r,n)):Q(i,t,r))}(e.sources,t.sources,i,n);let a=[];e.layers&&e.layers.forEach((e=>{"source"in e&&n[e.source]?r.push({command:"removeLayer",args:[e.id]}):a.push(e)})),r=r.concat(i),function(e,t,r){t=t||[];let n,i,a,o,s,l=(e=e||[]).map(ie),c=t.map(ie),u=e.reduce(ae,{}),h=t.reduce(ae,{}),f=l.slice(),p=Object.create(null);for(let e=0,t=0;e@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,r,n,i)=>{let a=n||i;return t[r]=!a||a.toLowerCase(),""})),t["max-age"]){let e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t},e.ab=function(e,t){let r=[];for(let n in e)n in t||r.push(n);return r},e.ac=y,e.ad=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=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+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+f*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=f*i-l*n,e},e.ae=function(e){var t=new gs(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},e.af=bs,e.ag=function(e,t){let r=0,n=0;if("constant"===e.kind)n=e.layoutSize;else if("source"!==e.kind){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?y(zt.interpolationFactor(i,t,a,o),0,1):0;"camera"===e.kind?n=Pt.number(e.minSize,e.maxSize,s):r=s}return{uSizeT:r,uSize:n}},e.ai=function(e,{uSize:t,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===e.kind?n/ou:"composite"===e.kind?Pt.number(n/ou,i/ou,r):t},e.aj=mu,e.ak=function(e,t,r,n){let i=t.y-e.y,o=t.x-e.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;let u=(l*(e.y-r.y)-s*(e.x-r.x))/c;return new a(e.x+u*o,e.y+u*i)},e.al=Ju,e.am=es,e.an=ys,e.ao=function(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[t,r,n,i]},e.ap=fc,e.ar=cu,e.as=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],p=t[11],d=t[12],m=t[13],g=t[14],y=t[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,I=v*C-x*E+_*S+b*M-w*A+T*k;return I?(e[0]=(s*C-l*E+c*S)*(I=1/I),e[1]=(i*E-n*C-a*S)*I,e[2]=(m*T-g*w+y*b)*I,e[3]=(f*w-h*T-p*b)*I,e[4]=(l*M-o*C-c*A)*I,e[5]=(r*C-i*M+a*A)*I,e[6]=(g*_-d*T-y*x)*I,e[7]=(u*T-f*_+p*x)*I,e[8]=(o*E-s*M+c*k)*I,e[9]=(n*M-r*E-a*k)*I,e[10]=(d*w-m*_+y*v)*I,e[11]=(h*_-u*w-p*v)*I,e[12]=(s*A-o*S-l*k)*I,e[13]=(r*S-n*A+i*k)*I,e[14]=(m*x-d*b-g*v)*I,e[15]=(u*b-h*x+f*v)*I,e):null},e.at=bh,e.au=tu,e.av=Sh,e.aw=function(){let e={},t=Y.$version;for(let r in Y.$root){let n=Y.$root[r];if(n.required){let i=null;i="version"===r?t:"array"===n.type?[]:{},null!=i&&(e[r]=i)}}return e},e.ax=Ci,e.ay=N,e.az=function(e){e=e.slice();let t=Object.create(null);for(let r=0;r25||n<0||n>=1||r<0||r>=1)},e.bc=function(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},e.bd=class extends wa{},e.be=Lu,e.bf=jh,e.bh=j,e.bi=function(e,t){R.REGISTERED_PROTOCOLS[e]=t},e.bj=function(e){delete R.REGISTERED_PROTOCOLS[e]},e.bk=function(e,t){let r={};for(let n=0;ne*fc))}let x=s?"center":n.get("text-justify").evaluate(i,{},t.canonical),_="point"===n.get("symbol-placement")?n.get("text-max-width").evaluate(i,{},t.canonical)*fc:1/0,b=()=>{t.bucket.allowVerticalPlacement&&Ni(a)&&(m.vertical=Gc(g,t.glyphMap,t.glyphPositions,t.imagePositions,h,_,o,d,"left",u,y,e.ah.vertical,!0,p,f))};if(!s&&v){let r=new Set;if("auto"===x)for(let e=0;et(void 0,void 0,void 0,(function*(){if(0===e.byteLength)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:"image/png"});try{return createImageBitmap(t)}catch(e){throw new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.e=x,e.f=e=>new Promise(((t,r)=>{let n=new Image;n.onload=()=>{t(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=I}))},n.onerror=()=>r(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 i=new Blob([new Uint8Array(e)],{type:"image/png"});n.src=e.byteLength?URL.createObjectURL(i):I})),e.g=F,e.h=(e,t)=>U(x(e,{type:"json"}),t),e.i=S,e.j=W,e.k=G,e.l=(e,t)=>U(x(e,{type:"arrayBuffer"}),t),e.m=U,e.n=function(e){return new Oc(e).readFields(Rc,[])},e.o=Is,e.p=jc,e.q=pa,e.r=gi,e.s=V,e.t=_i,e.u=mi,e.v=Y,e.w=A,e.x=function([e,t,r]){return t+=90,t*=Math.PI/180,r*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(r),y:e*Math.sin(t)*Math.sin(r),z:e*Math.cos(r)}},e.y=Pt,e.z=Qi})),r("worker",0,(function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,r){for(let r of t){this._layerConfigs[r.id]=r;let t=this._layers[r.id]=e.aA(r);t._featureFilter=e.a7(t.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(let e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let n=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let e of n){let t=e.map((e=>this._layers[e.id])),r=t[0];if("none"===r.visibility)continue;let n=r.source||"",i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});let a=r.sourceLayer||"_geojsonTileLayer",o=i[a];o||(o=i[a]=[]),o.push(t)}}}class r{constructor(t){let r={},n=[];for(let e in t){let i=t[e],a=r[e]={};for(let e in i){let t=i[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;let r={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};n.push(r),a[e]={rect:r,metrics:t.metrics}}}let{w:i,h:a}=e.p(n),o=new e.o({width:i||1,height:a||1});for(let n in t){let i=t[n];for(let t in i){let a=i[+t];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;let s=r[n][t].rect;e.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}e.bl("GlyphAtlas",r);class n{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,n,a,o){return e._(this,void 0,void 0,(function*(){this.status="parsing",this.data=t,this.collisionBoxArray=new e.a5;let s=new e.bm(Object.keys(t.layers).sort()),l=new e.bn(this.tileID,this.promoteId);l.bucketLayerIDs=[];let c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(let r in h){let n=t.layers[r];if(!n)continue;1===n.version&&e.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=s.encode(r),f=[];for(let e=0;e=r.maxzoom||"none"!==r.visibility&&(i(t,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let f=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>e?.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){let e=new AbortController;this.inFlightDependencies.push(e),p=o.sendAsync({type:"GG",data:{stacks:f,source:this.source,tileID:this.tileID,type:"glyphs"}},e)}let d=Object.keys(u.iconDependencies),m=Promise.resolve({});if(d.length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"icons"}},e)}let g=Object.keys(u.patternDependencies),y=Promise.resolve({});if(g.length){let e=new AbortController;this.inFlightDependencies.push(e),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},e)}let[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new e.bo(x,_);for(let t in c){let r=c[t];r instanceof e.a6?(i(r.layers,this.zoom,a),e.bp({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof e.bq||r instanceof e.br||r instanceof e.bs)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function i(t,r,n){let i=new e.z(r);for(let e of t)e.recalculate(i,n)}class a{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,r){return e._(this,void 0,void 0,(function*(){let n=yield e.l(t.request,r);try{return{vectorTile:new e.bt.VectorTile(new e.bu(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(e){let r=new Uint8Array(n.data),i=`Unable to parse the tile at ${t.request.url}, `;throw i+=31===r[0]&&139===r[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${e.message}`,new Error(i)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bv(t.request),a=new n(t);this.loading[r]=a;let o=new AbortController;a.abort=o;try{let n=yield this.loadVectorTile(t,o);if(delete this.loading[r],!n)return null;let s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);let c={};if(i){let e=i.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=n.vectorTile;let u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,l,c)}finally{delete this.fetching[r]}}catch(e){throw delete this.loading[r],a.status="done",this.loaded[r]=a,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid;if(!this.loaded||!this.loaded[r])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let n=this.loaded[r];if(n.showCollisionBoxes=t.showCollisionBoxes,"parsing"===n.status){let t,i=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);if(this.fetching[r]){let{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],t=e.e({rawTileData:n.slice(0)},i,a,o)}else t=i;return t}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){let e=this.loading,r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort.abort(),delete e[r])}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]}))}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=t,c=i.width+2,u=i.height+2,h=e.b(i)?new e.R({width:c,height:u},yield e.bw(i,-1,-1,c,u)):i,f=new e.bx(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f}))}removeTile(e){let t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]}}function s(e,t){if(0!==e.length){l(e[0],t);for(var r=1;r=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!t&&e.reverse()}var c=e.by((function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n>31}function A(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;se},C=Math.fround||(I=new Float32Array(1),e=>(I[0]=+e,I[0]));var I;class L{constructor(e){this.options=Object.assign(Object.create(E),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:r,maxZoom:n}=this.options;t&&console.time("total time");let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t=r;e--){let r=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log("z%d: %d clusters in %dms",e,o.numItems,+Date.now()-r)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){let e=this.getClusters([r,n,180,a],t),o=this.getClusters([-180,n,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(D(r),O(a),D(i),O(n)),l=o.data,c=[];for(let e of s){let t=this.stride*e;c.push(l[t+5]>1?P(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){let t=this._getOriginId(e),r=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);let a=i.data;if(t*this.stride>=a.length)throw new Error(n);let o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),l=[];for(let t of s){let r=t*this.stride;a[r+4]===e&&l.push(a[r+5]>1?P(a,r,this.clusterProps):this.points[a[r+3]])}if(0===l.length)throw new Error(n);return l}getLeaves(e,t,r){let n=[];return this._appendLeaves(n,e,t=t||10,r=r||0,0),n}getTile(e,t,r){let n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((t-s)/i,l,(t+1+s)/i,c),n.data,t,r,i,u),0===t&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),t===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id}return t}_appendLeaves(e,t,r,n,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,r,n,i):i1;if(u)e=z(t,c,this.clusterProps),s=t[c],l=t[c+1];else{let r=this.points[t[c+3]];e=r.properties;let[n,i]=r.geometry.coordinates;s=D(n),l=O(i)}let h,f={type:1,geometry:[[Math.round(this.options.extent*(s*i-r)),Math.round(this.options.extent*(l*i-n))]],tags:e};h=u||this.options.generateId?t[c+3]:this.points[t[c+3]].id,void 0!==h&&(f.id=h),a.features.push(f)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,t)),s=e.data,l=[],c=this.stride;for(let r=0;rt&&(p+=s[r+5])}if(p>f&&p>=a){let e,a=n*f,o=u*f,d=-1,m=(r/c<<5)+(t+1)+this.points.length;for(let n of h){let l=n*c;if(s[l+2]<=t)continue;s[l+2]=t;let u=s[l+5];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(e||(e=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let e=0;e1)for(let e of h){let r=e*c;if(!(s[r+2]<=t)){s[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,r){if(e[t+5]>1){let n=this.clusterProps[e[t+6]];return r?Object.assign({},n):n}let n=this.points[e[t+3]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function P(e,t,r){return{type:"Feature",id:e[t+3],properties:z(e,t,r),geometry:{type:"Point",coordinates:[(n=e[t],360*(n-.5)),R(e[t+1])]}};var n}function z(e,t,r){let n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=e[t+6],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function D(e){return e/360+.5}function O(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function R(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function F(e,t,r,n){let i,a=n,o=t+(r-t>>1),s=r-t,l=e[t],c=e[t+1],u=e[r],h=e[r+1];for(let n=t+3;na)i=n,a=t;else if(t===a){let e=Math.abs(n-o);en&&(i-t>3&&F(e,t,i,n),e[i+2]=a,r-i>3&&F(e,i,r,n))}function B(e,t,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){let l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=e-r,s=t-n,o*o+s*s}function j(e,t,r,n){let i={id:e??null,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===t||"MultiPoint"===t||"LineString"===t)N(i,r);else if("Polygon"===t)N(i,r[0]);else if("MultiLineString"===t)for(let e of r)N(i,e);else if("MultiPolygon"===t)for(let e of r)N(i,e[0]);return i}function N(e,t){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}let s=t.length-3;t[2]=1,F(t,0,s,r),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function H(e,t,r,n){for(let i=0;i1?1:r}function Z(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;let l=[];for(let t of e){let e=t.geometry,a=t.type,o=0===i?t.minX:t.minY,c=0===i?t.maxX:t.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)Y(e,u,r,n,i);else if("LineString"===a)X(e,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)K(e,u,r,n,i,!1);else if("Polygon"===a)K(e,u,r,n,i,!0);else if("MultiPolygon"===a)for(let t of e){let e=[];K(t,e,r,n,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(let e of u)l.push(j(t.id,a,e,t.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(j(t.id,a,u,t.tags))}}return l.length?l:null}function Y(e,t,r,n,i){for(let a=0;a=r&&o<=n&&J(t,e[a],e[a+1],e[a+2])}}function X(e,t,r,n,i,a,o){let s,l,c=$(e),u=0===i?Q:ee,h=e.start;for(let f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),t.push(c),c=$(e)),o&&(h+=s)}let f=e.length-3,p=e[f],d=e[f+1],m=0===i?p:d;m>=r&&m<=n&&J(c,p,d,e[f+2]),f=c.length-3,a&&f>=3&&(c[f]!==c[0]||c[f+1]!==c[1])&&J(c,c[0],c[1],c[2]),c.length&&t.push(c)}function $(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function K(e,t,r,n,i,a){for(let o of e)X(o,t,r,n,i,a,!1)}function J(e,t,r,n){e.push(t,r,n)}function Q(e,t,r,n,i,a){let o=(a-t)/(n-t);return J(e,a,r+(i-r)*o,1),o}function ee(e,t,r,n,i,a){let o=(a-r)/(i-r);return J(e,t+(n-t)*o,a,1),o}function te(e,t){let r=[];for(let n=0;n0&&t.size<(i?o:n))return void(r.numPoints+=t.length/3);let s=[];for(let e=0;eo)&&(r.numSimplified++,s.push(t[e],t[e+1])),r.numPoints++;i&&function(e,t){let r=0;for(let t=0,n=e.length,i=n-2;t0===t)for(let t=0,r=e.length;t24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");let n=function(e,t){let r=[];if("FeatureCollection"===e.type)for(let n=0;n1&&console.time("creation"),f=this.tiles[h]=ae(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,null==i){if(t===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===i)continue;if(null!=i){let e=i-t;if(r!==a>>e||n!==o>>e)continue}}if(f.source=null,0===e.length)continue;c>1&&console.time("clipping");let p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p,y=null,v=null,x=null,_=null,b=Z(e,u,r-p,r+m,0,f.minX,f.maxX,l),w=Z(e,u,r+d,r+g,0,f.minX,f.maxX,l);e=null,b&&(y=Z(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=Z(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=Z(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=Z(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],t+1,2*r,2*n),s.push(v||[],t+1,2*r,2*n+1),s.push(x||[],t+1,2*r+1,2*n),s.push(_||[],t+1,2*r+1,2*n+1)}}getTile(e,t,r){e=+e,t=+t,r=+r;let n=this.options,{extent:i,debug:a}=n;if(e<0||e>24)return null;let o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);let l,c=e,u=t,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[ue(c,u,h)];return l&&l.source?(a>1&&(console.log("found parent tile z%d-%d-%d",c,u,h),console.time("drilling down")),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ne(this.tiles[s],i):null):null}}function ue(e,t,r){return 32*((1<{o.properties=e;let t={};for(let e of s)t[e]=n[e].evaluate(a,o);return t},t.reduce=(e,t)=>{o.properties=t;for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(i=yield this._pendingData,new ce(i,t.geojsonVtOptions)),this.loaded={};let r={};if(n){let e=n.finish();e&&(r.resourceTiming={},r.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return r}catch(t){if(delete this._pendingRequest,e.bB(t))return{abandoned:!0};throw t}var i}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(t,r);if(delete this._pendingRequest,"object"!=typeof n)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(n,!0),t.filter){let r=e.bC(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));n={type:"FeatureCollection",features:n.features.filter((e=>r.value.evaluate({zoom:0},e)))}}return n}))}loadGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let{promoteId:n}=t;if(t.request){let i=yield e.h(t.request,r);return this._dataUpdateable=fe(i.data,n)?pe(i.data,n):void 0,i.data}if("string"==typeof t.data)try{let e=JSON.parse(t.data);return this._dataUpdateable=fe(e,n)?pe(e,n):void 0,e}catch{throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,r){var n,i,a,o;if(t.removeAll&&e.clear(),t.remove)for(let r of t.remove)e.delete(r);if(t.add)for(let n of t.add){let t=he(n,r);null!=t&&e.set(t,n)}if(t.update)for(let r of t.update){let t=e.get(r.id);if(null==t)continue;let s=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((r.newGeometry||r.removeAllProperties||s)&&(t=Object.assign({},t),e.set(r.id,t),s&&(t.properties=Object.assign({},t.properties))),r.newGeometry&&(t.geometry=r.newGeometry),r.removeAllProperties)t.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(let e of r.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(let{key:e,value:n}of r.addOrUpdateProperties)t.properties[e]=n}}(this._dataUpdateable,t.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class me{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=t=>{if(e.bD.isParsed())throw new Error("RTL text plugin already registered.");e.bD.setMethods(t)},this.actor.registerMessageHandler("LDT",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler("RDT",((t,r)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,r.source).removeTile(r)})))),this.actor.registerMessageHandler("GCEZ",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler("GCC",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler("GCL",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler("LD",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler("GD",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler("LT",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler("RT",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler("AT",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler("RMT",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler("RS",((t,r)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][r.type]||!this.workerSources[t][r.type][r.source])return;let e=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],void 0!==e.removeSource&&e.removeSource(r)})))),this.actor.registerMessageHandler("RM",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})))),this.actor.registerMessageHandler("SR",((t,r)=>e._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler("SRPS",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler("IS",((t,r)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler("SI",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler("UL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler("SL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(r)}))))}_setImages(t,r){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=r;for(let e in this.workerSources[t]){let n=this.workerSources[t][e];for(let e in n)n[e].availableImages=r}}))}_syncRTLPluginState(t,r){return e._(this,void 0,void 0,(function*(){if(e.bD.isParsed())return e.bD.getState();if("loading"!==r.pluginStatus)return e.bD.setState(r),r;let t=r.pluginURL;if(this.self.importScripts(t),e.bD.isParsed()){let r={pluginStatus:"loaded",pluginURL:t};return e.bD.setState(r),r}throw e.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new t),r}_getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){let n={sendAsync:(t,r)=>(t.targetMapId=e,this.actor.sendAsync(t,r))};switch(t){case"vector":this.workerSources[e][t][r]=new a(n,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new de(n,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](n,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new me(self)),me})),r("index",0,(function(e,t){var r="4.7.1";let n,i,a={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:e=>new Promise(((r,n)=>{let i=requestAnimationFrame(r);e.signal.addEventListener("abort",(()=>{cancelAnimationFrame(i),n(t.c())}))})),getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("failed to create canvas 2d context");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0,e.width,e.height),r},resolveURL:e=>(n||(n=document.createElement("a")),n.href=e,n.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class o{static testProp(e){if(!o.docStyle)return e[0];for(let t=0;t{window.removeEventListener("click",o.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,r,n){let i=r.boundingClientRect;return new t.P((n.clientX-i.left)/r.x-e.clientLeft,(n.clientY-i.top)/r.y-e.clientTop)}static mousePos(e,t){let r=o.getScale(e);return o.getPoint(e,r,t)}static touchPos(e,t){let r=[],n=o.getScale(e);for(let i=0;i{s&&f(s),s=null,h=!0},l.onerror=()=>{u=!0,s=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(e){let r,n,i,a;e.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,n,i=!0)=>new Promise(((a,o)=>{c.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),t.e(e,{type:"image"}),r.push({abortController:n,requestParameters:e,supportImageRefresh:i,state:"queued",onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state="running";let{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:c}=e,u=!1===i&&!t.i(self)&&!t.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((e,t)=>e&&"accept"===t),!0));n++;let h=u?l(r,c):t.m(r,c);try{let r=yield h;delete e.abortController,e.state="completed",r.data instanceof HTMLImageElement||t.b(r.data)?o(r):r.data&&o({data:yield(f=r.data,"function"==typeof createImageBitmap?t.d(f):t.f(f)),cacheControl:r.cacheControl,expires:r.expires})}catch(t){delete e.abortController,a(t)}finally{n--,s()}var f})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=n;t0;t++){let e=r.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,r)=>new Promise(((n,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!t.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",(()=>{a.src="",i(t.c())})),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(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."))},a.src=o}))}(p||(p={})),p.resetRequestQueue();class d{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function m(e){var r=new t.A(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}var g,y=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e};g=new t.A(3),t.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v,x=function(e){var t=e[0],r=e[1];return t*t+r*r};function _(e){let t=[];if("string"==typeof e)t.push({id:"default",url:e});else if(e&&e.length>0){let r=[];for(let{id:n,url:i}of e){let e=`${n}${i}`;-1===r.indexOf(e)&&(r.push(e),t.push({id:n,url:i}))}}return t}function b(e,t,r){let n=e.split("?");return n[0]+=`${t}${r}`,n.join("?")}v=new t.A(2),t.A!=Float32Array&&(v[0]=0,v[1]=0);class w{constructor(e,t,r,n){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this.update(t,n)}update(e,r,n){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=!(!r||!r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,e.data);else{let{x:r,y:o}=n||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(e,t,r){let{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function T(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class k extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let r=this.images[e];if(r&&!r.data&&r.spriteData){let e=r.spriteData;r.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),r.spriteData=null}return r}addImage(e,t){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t)}_validate(e,r){let n=!0,i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let r=0;for(let n of e){if(n[0]{let n=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(n=!1);this.isLoaded()||n?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let r={};for(let n of e){let e=this.getImage(n);e||(this.fire(new t.k("styleimagemissing",{id:n})),e=this.getImage(n)),e?r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!(!e.userImage||!e.userImage.render)}:t.w(`Image "${n}" 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 r}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{let r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.I(r,n);this.patterns[e]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:r,h:n}=t.p(e),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(let e in this.patterns){let{bin:r}=this.patterns[e],n=r.x+1,a=r.y+1,o=this.getImage(e).data,s=o.width,l=o.height;t.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),t.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),t.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let r of e){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;let e=this.getImage(r);e||t.w(`Image with ID: "${r}" was not found`),T(e)&&this.updateImage(r,e)}}}let A,M=1e20;function S(e,t,r,n,i,a,o,s,l){for(let c=t;c-1);l++,a[l]=s,o[l]=c,o[l+1]=M}for(let s=0,l=0;s65535)throw new Error("glyphs > 65535 not supported");if(t.ranges[i])return{stack:e,id:r,glyph:n};if(!this.url)throw new Error("glyphsUrl is not set");if(!t.requests[i]){let r=C.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=r}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(e))}_tinySDF(e,r,n){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(n))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(r)?t="900":/medium/i.test(r)?t="500":/light/i.test(r)&&(t="200"),a=e.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new t.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",e).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield t.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);let c={};for(let e of t.n(l.data))c[e.id]=e;return c}))},C.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=t,this.cutoff=n,this.radius=r;let s=this.size=e+4*t,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${e}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(0===s||0===l)return p;let{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(e,m,m+o);let v=d.getImageData(m,m,s,l);y.fill(M,0,h),g.fill(0,0,h);for(let e=0;e0?e*e:0,g[n]=e<0?e*e:0}}S(y,0,0,c,u,c,this.f,this.v,this.z),S(g,m,m,s,l,c,this.f,this.v,this.z);for(let e=0;e1&&(o=e[++a]);let l,c=Math.abs(s-o.left),u=Math.abs(s-o.right),h=Math.min(c,u),f=t/r*(n+1);if(o.isDash){let e=n-Math.abs(f);l=Math.sqrt(h*h+e*e)}else l=n-Math.sqrt(h*h+f*f);this.data[i+s]=Math.max(0,Math.min(255,l+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}let t=e[0],r=e[e.length-1];t.isDash===r.isDash&&(t.left=r.left-this.width,r.right=t.right+this.width);let n=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t1&&(a=e[++i]);let r=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(r,o);this.data[n+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,r){let n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.w("LineAtlas out of space"),null;let a=0;for(let t=0;t{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[O]}numActive(){return Object.keys(this.active).length}}let F,B,j=Math.floor(a.hardwareConcurrency/2);function N(){return F||(F=new R),F}R.workerCount=t.C(globalThis)?Math.max(Math.min(j,3),1):1;class U{constructor(e,r){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=r;let n=this.workerPool.acquire(r);for(let e=0;e{e.remove()})),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let r of this.actors)r.registerMessageHandler(e,t)}}function V(){return B||(B=new U(N(),t.G),B.registerMessageHandler("GR",((e,r,n)=>t.m(r,n)))),B}function q(e,r){let n=t.H();return t.J(n,n,[1,1,0]),t.K(n,n,[.5*e.width,.5*e.height,1]),t.L(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function H(e,t,r,n,i,a){let o=function(e,t,r){if(e)for(let n of e){let e=t[n];if(e&&e.source===r&&"fill-extrusion"===e.type)return!0}else for(let e in t){let n=t[e];if(n.source===r&&"fill-extrusion"===n.type)return!0}return!1}(i&&i.layers,t,e.id),s=a.maxPitchScaleFactor(),l=e.tilesIn(n,s,o);l.sort(G);let c=[];for(let n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(t,r,e._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,q(e.transform,n.tileID))});let u=function(e){let t={},r={};for(let n of e){let e=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(let r in e){let n=e[r],i=a[r]=a[r]||{},o=t[r]=t[r]||[];for(let e of n)i[e.featureIndex]||(i[e.featureIndex]=!0,o.push(e))}}return t}(c);for(let t in u)u[t].forEach((t=>{let r=t.feature,n=e.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return u}function G(e,t){let r=e.tileID,n=t.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function W(e,r,n){return t._(this,void 0,void 0,(function*(){let i=e;if(e.url?i=(yield t.h(r.transformRequest(e.url,"Source"),n)).data:yield a.frameAsync(n),!i)return null;let o=t.M(t.e(i,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((e=>e.id))),o}))}class Z{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}extend(e){let r,n,i=this._sw,a=this._ne;if(e instanceof t.N)r=e,n=e;else{if(!(e instanceof Z))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(Z.convert(e)):this.extend(t.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(t.N.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return i||a?(i.lng=Math.min(r.lng,i.lng),i.lat=Math.min(r.lat,i.lat),a.lng=Math.max(n.lng,a.lng),a.lat=Math.max(n.lat,a.lat)):(this._sw=new t.N(r.lng,r.lat),this._ne=new t.N(n.lng,n.lat)),this}getCenter(){return new t.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 t.N(this.getWest(),this.getNorth())}getSouthEast(){return new t.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(e){let{lng:r,lat:n}=t.N.convert(e),i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i}static convert(e){return e instanceof Z?e:e&&new Z(e)}static fromLngLat(e,r=0){let n=360*r/40075017,i=n/Math.cos(Math.PI/180*e.lat);return new Z(new t.N(e.lng-i,e.lat-n),new t.N(e.lng+i,e.lat+n))}adjustAntiMeridian(){let e=new t.N(this._sw.lng,this._sw.lat),r=new t.N(this._ne.lng,this._ne.lat);return new Z(e,e.lng>r.lng?new t.N(r.lng+360,r.lat):r)}}class Y{constructor(e,t,r){this.bounds=Z.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let r=Math.pow(2,e.z),n=Math.floor(t.O(this.bounds.getWest())*r),i=Math.floor(t.Q(this.bounds.getNorth())*r),a=Math.ceil(t.O(this.bounds.getEast())*r),o=Math.ceil(t.Q(this.bounds.getSouth())*r);return e.x>=n&&e.x=i&&e.y{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(t,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(e.actor&&"expired"!==e.state){if("loading"===e.state)return new Promise(((t,r)=>{e.reloadPromise={resolve:t,reject:r}}))}else e.actor=this.dispatcher.getActor(),n="LT";e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:n,data:r},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&404!==t.status)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class $ extends t.E{constructor(e,r,n,i){super(),this.id=e,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.e({type:"raster"},r),t.e(this,t.M(r,["url","scheme","tileSize"]))}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let e=yield W(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(t.e(this,e),e.bounds&&(this.tileBounds=new Y(e.bounds,this.minzoom,this.maxzoom)),this.fire(new t.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.k("data",{dataType:"source",sourceDataType:"content"})))}catch(e){this._tileJSONRequest=null,this.fire(new t.j(e))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let r=yield p.getImage(this.map._requestManager.transformRequest(t,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let t=this.map.painter.context,n=t.gl,i=r.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new w(t,i,n.RGBA,{useMipmap:!0}),e.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class K extends ${constructor(e,r,n,i){super(e,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=t.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let r=yield p.getImage(n,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){let n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let i=t.b(n)&&t.U()?n:yield this.readImageNow(n),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||"expired"===e.state){e.actor=this.dispatcher.getActor();let t=yield e.actor.sendAsync({type:"LDT",data:a});e.dem=t,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<"u"&&t.V()){let r=e.width+2,n=e.height+2;try{return new t.R({width:r,height:n},yield t.W(e,-1,-1,r,n))}catch{}}return a.getImageData(e,1)}))}_getNeighboringTiles(e){let r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.S(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.S(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&t.e(i,{resourceTiming:n}),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.k("dataabort",{dataType:"source"}));this.fire(new t.j(e))}}))}loaded(){return 0===this._pendingLoads}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?"RT":"LT";e.actor=this.actor;let r={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;let n=yield this.actor.sendAsync({type:t,data:r},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(n,this.map.painter,"RT"===t)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.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 t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Q=t.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class ee extends t.E{constructor(e,t,r,n){super(),this.id=e,this.dispatcher=r,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=t}load(e){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let t=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.j(e))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;let r=e.map(t.Z.fromLngLat);this.tileID=function(e){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(let t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(i-r,a-n),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,s);return new t.a1(s,Math.floor((r+i)/2*l),Math.floor((n+a)/2*l))}(r),this.minzoom=this.maxzoom=this.tileID.z;let n=r.map((e=>this.tileID.getTilePoint(e)._round()));return this._boundsArray=new t.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,t.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,t.X),this._boundsArray.emplaceBack(n[2].x,n[2].y,t.X,t.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class te extends ee{constructor(e,t,r,n){super(e,t,r,n),this.roundZoom=!0,this.type="video",this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,"Source").url);try{let e=yield t.a3(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.j(e))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let r=this.video.seekable;er.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.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 re extends ee{constructor(e,r,n,i){super(e,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new t.j(new t.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${e}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new t.j(new t.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`sources.${e}`,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 t.j(new t.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.animate}load(){return t._(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 t.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(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||0===Object.keys(this.tiles).length)return;let r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,i=!0)}i&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let ne={},ie=e=>{switch(e){case"geojson":return J;case"image":return ee;case"raster":return $;case"raster-dem":return K;case"vector":return X;case"video":return te;case"canvas":return re}return ne[e]},ae="RTLPluginLoaded";class oe extends t.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status="error",e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=a.resolveURL(e),!this.url)throw new Error(`requested url ${e} is invalid`);if("unavailable"===this.status){if(!t)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new t.k(ae))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let se=null;function le(){return se||(se=new oe),se}class ce{constructor(e,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=r,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(e){let t=e+this.timeAdded;tt.getLayer(e))).filter(Boolean);if(0!==e.length){n.layers=e,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)r[t.id]=n}}return r}(e.buckets,r.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6&&r.hasRTLText){this.hasRTLText=!0,le().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].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(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let r=this.buckets[t];r.uploadPending()&&r.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},e,t,r):{}}querySourceFeatures(e,r){let n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;let i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;re)t=!1;else if(r)if(this.expirationTime{this.remove(e,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let r in this.data)for(let n of this.data[r])e(n.value)||t.push(n);for(let e of t)this.remove(e.value.tileID,e)}}class he{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,r,n){let i=String(r);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],n),null===this.deletedStates[e]){this.deletedStates[e]={};for(let t in this.state[e])t!==i&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][i]){this.deletedStates[e][i]={};for(let t in this.state[e][i])n[t]||(this.deletedStates[e][i][t]=null)}else for(let t in n)this.deletedStates[e]&&this.deletedStates[e][i]&&null===this.deletedStates[e][i][t]&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,r){if(null===this.deletedStates[e])return;let n=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},r&&void 0!==t)null!==this.deletedStates[e][n]&&(this.deletedStates[e][n]=this.deletedStates[e][n]||{},this.deletedStates[e][n][r]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][n])for(r in this.deletedStates[e][n]={},this.stateChanges[e][n])this.deletedStates[e][n][r]=null;else this.deletedStates[e][n]=null;else this.deletedStates[e]=null}getState(e,r){let n=String(r),i=t.e({},(this.state[e]||{})[n],(this.stateChanges[e]||{})[n]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){let t=this.deletedStates[e][r];if(null===t)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,r){let n={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let r={};for(let n in this.stateChanges[e])this.state[e][n]||(this.state[e][n]={}),t.e(this.state[e][n],this.stateChanges[e][n]),r[n]=this.state[e][n];n[e]=r}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let r={};if(null===this.deletedStates[e])for(let t in this.state[e])r[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(let r of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][r];r[t]=this.state[e][t]}n[e]=n[e]||{},t.e(n[e],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(let t in e)e[t].setFeatureState(n,r)}}class fe extends t.E{constructor(e,t,r){super(),this.id=e,this.dispatcher=r,this.on("data",(e=>this._dataHandler(e))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,r,n)=>{let i=new(ie(t.type))(e,t,r,n);if(i.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,r,this),this._tiles={},this._cache=new ue(0,(e=>this._unloadTile(e))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new he,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,r,n){return t._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,r,n)}catch(r){e.state="errored",404!==r.status?this._source.fire(new t.j(r,{tile:e})):this.update(this.transform,this.terrain)}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let t in this._tiles){let r=this._tiles[t];r.upload(e),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((e=>e.tileID)).sort(pe).map((e=>e.key))}getRenderableIds(e){let r=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&r.push(this._tiles[t]);return e?r.sort(((e,r)=>{let n=e.tileID,i=r.tileID,a=new t.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new t.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(pe).map((e=>e.key))}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(e,"reloading")}}_reloadTile(e,r){return t._(this,void 0,void 0,(function*(){let t=this._tiles[e];t&&("loading"!==t.state&&(t.state=r),yield this._loadTile(t,e,r))}))}_tileLoaded(e,r,n){e.timeAdded=a.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,r,n){for(let i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[e.key],a&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]){n[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(let r=e.overscaledZ-1;r>=t;r--){let t=e.scaledTo(r),n=this._getLoadedTile(t);if(n)return n}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let r=Math.ceil(e.width/this._source.tileSize)+1,n=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(r*n*(null===this._maxTileCacheZoomLevels?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let r in this._tiles){let n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+t),e[n.tileID.key]=n}this._tiles=e;for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,r,n,i,o){let s={},l={},c=Object.keys(e),u=a.now();for(let r of c){let n=e[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;let a=this.findLoadedParent(n,t),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,e);for(let t in s)e[t]||(this._coveredTiles[t]=!0,e[t]=s[t]);if(o){let t={},r={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:r[e.key]=e;for(let n in r){let i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete r[n])}for(let n in r){let i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){t[s.tileID.key]=e[s.tileID.key]=s.tileID;for(let e in t)t[e].isChildOf(s.tileID)&&delete t[e]}}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=e,this.terrain=r,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.S(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(n=e.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:r}),this._source.hasTile&&(n=n.filter((e=>this._source.hasTile(e))))):n=[];let i=e.coveringZoomLevel(this._source),a=Math.max(i-fe.maxOverzooming,this._source.minzoom),o=Math.max(i+fe.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of n)if(t.canonical.z>this._source.minzoom){let r=t.scaledTo(t.canonical.z-1);e[r.key]=r;let n=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[n.key]=n}n=n.concat(Object.values(e))}let s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let l=this._updateRetainedTiles(n,i);de(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(let e in l)this._tiles[e].clearFadeHold();let c=t.ab(this._tiles,l);for(let e of c){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){var r;let n={},i={},a=Math.max(t-fe.maxOverzooming,this._source.minzoom),o=Math.max(t+fe.maxUnderzooming,this._source.minzoom),s={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||tthis._source.maxzoom){let e=o.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=o.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let s=e.wasRequested();for(let t=o.overscaledZ-1;t>=a;--t){let a=o.scaledTo(t);if(i[a.key])break;if(i[a.key]=!0,e=this.getTile(a),!e&&s&&(e=this._addTile(a)),e){let t=e.hasData();if((t||!(null!==(r=this.map)&&void 0!==r&&r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let e in this._tiles){let t,r=[],n=this._tiles[e].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){t=this._loadedParentTiles[n.key];break}r.push(n.key);let e=n.scaledTo(n.overscaledZ-1);if(t=this._getLoadedTile(e),t)break;n=e}for(let e of r)this._loadedParentTiles[e]=t}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let e in this._tiles){let t=this._tiles[e].tileID,r=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=r}}_addTile(e){let r=this._tiles[e.key];if(r)return r;r=this._cache.getAndRemove(e),r&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));let n=r;return r||(r=new ce(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,e.key,r.state)),r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let r=t.getExpiryTimeout();r&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),r))}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;"source"===e.dataType&&"metadata"===t&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===t&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,r,n){let i=[],a=this.transform;if(!a)return i;let o=n?a.getCameraQueryGeometry(e):e,s=e.map((e=>a.pointCoordinate(e,this.terrain))),l=o.map((e=>a.pointCoordinate(e,this.terrain))),c=this.getIds(),u=1/0,h=1/0,f=-1/0,p=-1/0;for(let e of l)u=Math.min(u,e.x),h=Math.min(h,e.y),f=Math.max(f,e.x),p=Math.max(p,e.y);for(let e=0;e=0&&g[1].y+m>=0){let e=s.map((e=>o.getTilePoint(e))),t=l.map((e=>o.getTilePoint(e)));i.push({tile:n,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:d})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));for(let e of t)e.posMatrix=this.transform.calculatePosMatrix(e.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(de(this._source.type)){let e=a.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,r){this._state.updateState(e=e||"_geojsonTileLayer",t,r)}removeFeatureState(e,t,r){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,r)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,r){let n=this._tiles[e];n&&n.setDependencies(t,r)}reloadTilesForDependencies(e,t){for(let r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter((r=>!r.hasDependency(e,t)))}}function pe(e,t){let r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function de(e){return"raster"===e||"image"===e||"video"===e}fe.maxOverzooming=10,fe.maxUnderzooming=3;class me{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function ge(e,t){let r=!0;return"always"===e||"never"!==e&&"never"!==t||(r=!1),r}class ye{constructor(e,t,r){let n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(let e=0;ethis.width||n<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:e,y1:t,x2:r,y2:n}];for(let e=0;e0}hitTestCircle(e,t,r,n,i){let a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!1;let c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}},i),c.length>0}_queryCell(e,t,r,n,i,a,o,s){let{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let i=this.bboxes;for(let o of h)if(!l.box[o]){l.box[o]=!0;let h=4*o,f=this.boxKeys[o];if(e<=i[h+2]&&t<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!ge(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}let f=this.circleCells[i];if(null!==f){let i=this.circles;for(let o of f)if(!l.circle[o]){l.circle[o]=!0;let h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],e,t,r,n)&&(!s||s(f))&&(!c||!ge(u,f.overlapMode))){let e=i[h],t=i[h+1],r=i[h+2];if(a.push({key:f,x1:e-r,y1:t-r,x2:e+r,y2:t+r}),c)return!0}}}return!1}_queryCellCircle(e,t,r,n,i,a,o,s){let{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let e=this.bboxes;for(let t of h)if(!c.box[t]){c.box[t]=!0;let r=4*t,n=this.boxKeys[t];if(this._circleAndRectCollide(l.x,l.y,l.radius,e[r+0],e[r+1],e[r+2],e[r+3])&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(null!==f){let e=this.circles;for(let t of f)if(!c.circle[t]){c.circle[t]=!0;let r=3*t,n=this.circleKeys[t];if(this._circlesCollide(e[r],e[r+1],e[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++)if(i.call(this,e,t,r,n,this.xCellCount*l+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,r,n,i,a){let o=n-e,s=i-t,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(e,t,r,n,i,a,o){let s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;let c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;let h=l-s,f=u-c;return h*h+f*f<=r*r}}function ve(e,r,n,i,a){let o=t.H();return r?(t.K(o,o,[1/a,1/a,1]),n||t.ad(o,o,i.angle)):t.L(o,i.labelPlaneMatrix,e),o}function xe(e,r,n,i,a){if(r){let r=t.ae(e);return t.K(r,r,[a,a,1]),n||t.ad(r,r,-i.angle),r}return i.glCoordMatrix}function _e(e,r,n,i){let a;i?(a=[e,r,i(e,r),1],t.af(a,a,n)):(a=[e,r,0,1],Oe(a,a,n));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function be(e,t){return.5+e/t*.5}function we(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function Te(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g=i?e.textSizeData:e.iconSizeData,y=t.ag(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;x.clear();let _=e.lineVertexArray,b=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,w=n.transform.width/n.transform.height,T=!1;for(let i=0;iMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.ah.vertical?r.yn.x)?{needsFlipping:!0}:null}function Me(e,r,n,i,a,o,s,l,c,u,h){let f,p=n/24,d=r.lineOffsetX*p,m=r.lineOffsetY*p;if(r.numGlyphs>1){let t=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=ke(p,l,d,m,i,r,h,e);if(!c)return{notEnoughRoom:!0};let g=_e(c.first.point.x,c.first.point.y,s,e.getElevation).point,y=_e(c.last.point.x,c.last.point.y,s,e.getElevation).point;if(a&&!i){let e=Ae(r.writingMode,g,y,u);if(e)return e}f=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:Se(e.tileAnchorPoint,a,n,1,o,e),c=Ae(r.writingMode,n,l,u);if(c)return c}let n=Pe(p*l.getoffsetX(r.glyphStartIndex),d,m,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,e,h);if(!n||e.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};f=[n]}for(let e of f)t.aj(c,e.point,e.angle);return{}}function Se(e,t,r,n,i,a){let o=e.add(e.sub(t)._unit()),s=void 0!==i?_e(o.x,o.y,i,a.getElevation).point:Ce(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Ee(e,r,n){let i=r.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(r.lineVertexArray.getx(e),r.lineVertexArray.gety(e)),o=Ce(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;let s=e-n.direction;return Se(0===n.distanceFromAnchor?r.tileAnchorPoint:new t.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),a,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,void 0,r)}function Ce(e,t,r){let n,i=e+r.translation[0],a=t+r.translation[1];return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?(n=r.projection.projectTileCoordinates(i,a,r.unwrappedTileID,r.getElevation),n.point.x=(.5*n.point.x+.5)*r.width,n.point.y=(.5*-n.point.y+.5)*r.height):(n=_e(i,a,r.labelPlaneMatrix,r.getElevation),n.isOccluded=!1),n}function Ie(e,t,r){return e._unit()._perp()._mult(t*r)}function Le(e,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[e])return l.projectionCache.offsets[e];let u=n.add(r);if(e+c.direction=a)return l.projectionCache.offsets[e]=u,u;let h=Ee(e+c.direction,l,c),f=Ie(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[e]=t.ak(o,u,p,d)||u,l.projectionCache.offsets[e]}function Pe(e,t,r,n,i,a,o,s,l){let c=n?e-t:e+t,u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=Ce(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let d,m,g,y=f,v=f,x=0,_=0,b=Math.abs(c),w=[];for(;x+_<=b;){if(p+=u,p=o)return null;x+=_,v=y,m=d;let e={absOffsetX:b,direction:u,distanceFromAnchor:x,previousVertex:v};if(y=Ee(p,s,e),0===r)w.push(v),g=y.sub(v);else{let t,n=y.sub(v);t=0===n.mag()?Ie(Ee(p+u,s,e).sub(y),r,u):Ie(n,r,u),m||(m=v.add(t)),d=Le(p,t,y,a,o,m,r,s,e),w.push(m),g=d.sub(m)}_=g.mag()}let T=g._mult((b-x)/_)._add(m||v),k=h+Math.atan2(y.y-v.y,y.x-v.x);return w.push(T),{point:T,angle:l?k:0,path:w}}let ze=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function De(e,t){for(let r=0;r=1;e--)l.push(o.path[e]);for(let e=1;ee.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let m=[];if(l.length>0){let e=l[0].clone(),r=l[0].clone();for(let t=1;t=n.x&&r.x<=i.x&&e.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:t.al([l],n.x,n.y,i.x,i.y)}for(let t of m){a.reset(t,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let t=0;t_e(e.x,e.y,r,t.getElevation)))}queryRenderedSymbols(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};let r=[],n=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+Re,s.y+Re);n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),r.push(e)}let s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(let e of s){let n=e.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.am(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(e,t,r,n,i,a){(r?this.ignoredGrid:this.grid).insert({bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,r,n,i,a){let o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(e,t,r,n){return r>=0&&e=0&&tthis.projectAndGetPerspectiveRatio(n,e.x,e.y,i,c)));k=e.some((e=>!e.isOccluded)),T=e.map((e=>e.point))}else k=!0;return{box:t.ao(T),allPointsOccluded:!k}}}function Be(e,r,n){return r*(t.X/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}class je{constructor(e,t,r,n){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ne{constructor(e,t,r,n,i){this.text=new je(e?e.text:null,t,r,i),this.icon=new je(e?e.icon:null,t,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Ue{constructor(e,t,r){this.text=e,this.icon=t,this.skipFade=r}}class Ve{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class qe{constructor(e,t,r,n,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class He{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function Ge(e,r,n,i,a){let{horizontalAlign:o,verticalAlign:s}=t.au(e);return new t.P(-(o-.5)*r+i[0]*a,-(s-.5)*n+i[1]*a)}class We{constructor(e,t,r,n,i,a){this.transform=e.clone(),this.terrain=r,this.collisionIndex=new Fe(this.transform,t),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new He(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(r,n)=>t.getElevation(e,r,n):null}getBucketParts(e,r,n,i){let a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;let s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/t.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=Be(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=ve(p,d,m,this.transform,g),_=null;if(d){let e=xe(p,d,m,this.transform,g);_=t.L([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new qe(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);let b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ag(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=t;e.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){let _=t.aq[e.textAnchor],b=[e.textOffset0,e.textOffset1],w=Ge(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:e},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,r,n){let{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=e.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=t.ar(a,"text-overlap","text-allow-overlap"),_="always"===x,b=t.ar(a,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===a.get("text-rotation-alignment"),k="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);let C=this._getTerrainElevationFunc(this.retainedQueryData[i.bucketInstanceId].tileID),I=(e,d,w)=>{var M,I;if(r[e.crossTileID])return;if(p)return void(this.placements[e.crossTileID]=new Ue(!1,!1,!1));let L=!1,P=!1,z=!0,D=null,O={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,B=null,j=null,N=0,U=0,V=0;d.textFeatureIndex?N=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(N=e.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);let q=d.textBox;if(q){let r=r=>{let n=t.ah.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(i,n,e))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of i.writingModes)if(e===t.ah.vertical?(O=n(),R=O):O=r(),O&&O.placeable)break}else O=r()},u=e.textAnchorOffsetStartIndex,h=e.textAnchorOffsetEndIndex;if(h===u){let n=(t,r)=>{let n=this.collisionIndex.placeCollisionBox(t,x,f,l,c,k,T,o,g.predicate,C);return n&&n.placeable&&(this.markUsedOrientation(i,r,e),this.placedOrientations[e.crossTileID]=r),n};a((()=>n(q,t.ah.horizontal)),(()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?n(r,t.ah.vertical):{box:null,offscreen:null}})),r(O&&O.placeable)}else{let p=t.aq[null===(I=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[e.crossTileID])||void 0===I?void 0:I.anchor],m=(r,a,d)=>{let m=r.x2-r.x1,y=r.y2-r.y1,v=e.textBoxScale,_=A&&"never"===b?a:null,w=null,M="never"===x?1:2,S="never";p&&M++;for(let t=0;tm(q,d.iconBox,t.ah.horizontal)),(()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&(!O||!O.placeable)&&e.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}})),O&&(L=O.placeable,z=O.offscreen);let y=r(O&&O.placeable);if(!L&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,y))}}}if(F=O,L=F&&F.placeable,z=F&&F.offscreen,e.useRuntimeCollisionCircles){let r=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.ai(i.textSizeData,m,r),f=a.get("text-padding");B=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,e.collisionCircleDiameter,f,o,C),B.circles.length&&B.collisionDetected&&!n&&t.w("Collisions detected, but collision boxes are not shown"),L=_||B.circles.length>0&&!B.collisionDetected,z=z&&B.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,b,f,l,c,k,T,s,g.predicate,C,A&&D?D:void 0);R&&R.placeable&&d.verticalIconBox?(j=e(d.verticalIconBox),P=j.placeable):(j=e(d.iconBox),P=j.placeable),z=z&&j.offscreen}let H=y||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,G=v||0===e.numIconVertices;H||G?G?H||(P=P&&L):L=P&&L:P=L=P&&L;let W=P&&j.placeable;if(L&&F.placeable&&this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,R&&R.placeable&&U?U:N,g.ID),W&&this.collisionIndex.insertCollisionBox(j.box,b,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),B&&L&&this.collisionIndex.insertCollisionCircles(B.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,N,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,j,B),0===e.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[e.crossTileID]=new Ue(L||S,P||E,z||i.justReloaded),r[e.crossTileID]=!0};if(M){if(0!==e.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");let t=i.getSortedSymbolIndexes(this.transform.angle);for(let e=t.length-1;e>=0;--e){let r=t[e];I(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:n.crossTileID)}markUsedOrientation(e,r,n){let i=r===t.ah.horizontal||r===t.ah.horizontalOnly?r:0,a=r===t.ah.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let n=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new Ne(a,n,t.text,t.icon),r=r||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new Ne(null,n,t.text,t.icon,t.skipFade),r=r||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new Ne(t,n,!1,!1);i.isHidden()||(this.opacities[e]=i,r=r||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&void 0===t.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let r={};for(let n of t){let t=n.getBucket(e);t&&n.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(e,r,n,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let a=e.layers[0],o=a.layout,s=new Ne(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),f="map"===o.get("text-pitch-alignment"),p="none"!==o.get("icon-text-fit"),d=new Ne(null,0,l&&(c||!e.hasIconData()||o.get("icon-optional")),c&&(l||!e.hasTextData()||o.get("text-optional")),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let m=(e,t,r)=>{for(let n=0;n0,v=this.placedOrientations[i.crossTileID],x=v===t.ah.vertical,_=v===t.ah.horizontal||v===t.ah.horizontalOnly;if(a>0||o>0){let t=tt(c.text);m(e.text,a,x?rt:t),m(e.text,o,_?rt:t);let r=c.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=r||x?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=r||_?1:0);let n=this.variableOffsets[i.crossTileID];n&&this.markUsedJustification(e,n.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,"left",i,s),this.markUsedOrientation(e,s,i))}if(y){let t=tt(c.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(m(e.icon,i.numIconVertices,r?t:rt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=c.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(m(e.icon,i.numVerticalIconVertices,r?rt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}let b=g&&g.has(r)?g.get(r):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[r];if(n){let r=new t.P(0,0);if(n.textBox||n.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[l];e?(r=Ge(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):t=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=x),n.verticalTextBox&&(i=_),Ze(e.textCollisionBox.collisionVertexArray,c.text.placed,!t||i,b.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){let t,i=!(_||!n.verticalIconBox);n.iconBox&&(t=i),n.verticalIconBox&&(t=!i),Ze(e.iconCollisionBox.collisionVertexArray,c.icon.placed,t,b.icon,p?r.x:0,p?r.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){let t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function Ze(e,t,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);let o=n[0]-Re,s=n[1]-Re,l=n[2]-Re,c=n[3]-Re;e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,c),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,c)}let Ye=Math.pow(2,25),Xe=Math.pow(2,24),$e=Math.pow(2,17),Ke=Math.pow(2,16),Je=Math.pow(2,9),Qe=Math.pow(2,8),et=Math.pow(2,1);function tt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;let t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*Ye+t*Xe+r*$e+t*Ke+r*Je+t*Qe+r*et+t}let rt=0;function nt(){return{isOccluded:(e,t,r)=>!1,getPitchedTextCorrection:(e,t,r)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(e,t,r,n){throw new Error("Not implemented.")},translatePosition:(e,t,r,n)=>function(e,t,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];let a=i?"map"===n?e.angle:0:"viewport"===n?-e.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);r=[r[0]*t-r[1]*e,r[0]*e+r[1]*t]}return[i?r[0]:Be(t,r[0],e.zoom),i?r[1]:Be(t,r[1],e.zoom)]}(e,t,r,n),getCircleRadiusCorrection:e=>1}}class it{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,r,n,i){let a=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){let n=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new it(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let ot=512/t.X/2;class st{constructor(e,r,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let i=new Map;for(let e=0;e({x:Math.floor(e.anchorX*ot),y:Math.floor(e.anchorY*ot)}))),crossTileIDs:r.map((e=>e.crossTileID))};if(n.positions.length>128){let e=new t.av(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,r){let{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=ot/Math.pow(2,l-a),u=(s*t.X+e.anchorY)*c,h=i*t.X*ot;return{x:Math.floor((o*t.X+e.anchorX)*c-n*t.X*ot),y:Math.floor(u-h)}}findMatches(e,t,r){let n=this.tileID.canonical.ze))}}class lt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ct{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(0!==t)for(let e in this.indexes){let r=this.indexes[e],n={};for(let e in r){let i=r[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),n[i.tileID.key]=i}this.indexes[e]=n}this.lng=e}addBucket(e,t,r){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;ee.overscaledZ)for(let r in i){let a=i[r];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,n)}else{let a=i[e.scaledTo(Number(r)).key];a&&a.findMatches(t.symbolInstances,e,n)}}for(let e=0;e{t[e]=!0}));for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}let ht=(e,r)=>t.t(e,r&&r.filter((e=>"source.canvas"!==e.identifier))),ft=t.aw();class pt extends t.E{constructor(e,r={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;"vector"!==t&&"geojson"!==t||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new U(N(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",((e,t)=>this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler("GI",((e,t)=>this.getImages(e,t))),this.imageManager=new k,this.imageManager.setEventedParent(this),this.glyphManager=new C(e._requestManager,r.localIdeographFontFamily),this.lineAtlas=new D(256,512),this.crossTileSymbolIndex=new ut,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",t.ay()),le().on(ae,this._rtlPluginLoaded),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let r=t.getSource();if(r&&r.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===r.id&&this._validateLayer(t)}}))}loadURL(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;let i=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.h(i,this._loadStyleRequest).then((e=>{this._loadStyleRequest=null,this._load(e.data,r,n)})).catch((e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.j(e))}))}loadJSON(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(e,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new t.k("dataloading",{dataType:"style"})),this._load(ft,{validate:!1})}_load(e,r,n){var i;let a=r.transformStyle?r.transformStyle(n,e):e;if(!r.validate||!ht(this,t.u(a))){this._loaded=!0,this.stylesheet=a;for(let e in a.sources)this.addSource(e,a.sources[e],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new L(this.stylesheet.light),this.sky=new z(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new t.k("data",{dataType:"style"})),this.fire(new t.k("style.load"))}}_createLayers(){let e=t.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let r of e){let e=t.aA(r);e.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=e}}_loadSprite(e,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let o=_(e),s=n>1?"@2x":"",l={},c={};for(let{id:e,url:n}of o){let a=r.transformRequest(b(n,s,".json"),"SpriteJSON");l[e]=t.h(a,i);let o=r.transformRequest(b(n,s,".png"),"SpriteImage");c[e]=p.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(e,r){return t._(this,void 0,void 0,(function*(){let t={};for(let n in e){t[n]={};let i=a.getImageCanvasContext((yield r[n]).data),o=(yield e[n]).data;for(let e in o){let{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=o[e];t[n][e]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:{width:r,height:a,x:s,y:l,context:i}}}}return t}))}(l,c)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let n=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of n)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let n in e[t]){let i="default"===t?n:`${t}:${n}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][n],!1):this.imageManager.addImage(i,e[t][n]),r&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,i=e,this.fire(new t.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"})),n&&n(i)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}_validateLayer(e){let r=this.sourceCaches[e.source];if(!r)return;let n=e.sourceLayer;if(!n)return;let i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.j(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,r=!1){let n=this._serializedAllLayers();if(!e||0===e.length)return Object.values(r?t.aB(n):n);let i=[];for(let a of e)if(n[a]){let e=r?t.aB(n[a]):n[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let r of t){let t=this._layers[r];"custom"!==t.type&&(e[r]=t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;let r=this._changed;if(r){let t=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(t.length||r.length)&&this._updateWorkerLayers(t,r);for(let e in this._updatedSources){let t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw new Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let n={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];n[e]=t.used,t.used=!1}for(let t of this._order){let r=this._layers[t];r.recalculate(e,this._availableImages),!r.isHidden(e.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(let e in n){let r=this.sourceCaches[e];!!n[e]!=!!r.used&&r.fire(new t.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,r&&this.fire(new t.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,r={}){var n;this._checkLoaded();let i=this.serialize();if(e=r.transformStyle?r.transformStyle(i,e):e,(null===(n=r.validate)||void 0===n||n)&&ht(this,t.u(e)))return!1;(e=t.aB(e)).layers=t.az(e.layers);let a=t.aC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],r=[];for(let n of e)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":t.push((()=>this.addLayer.apply(this,n.args)));break;case"removeLayer":t.push((()=>this.removeLayer.apply(this,n.args)));break;case"setPaintProperty":t.push((()=>this.setPaintProperty.apply(this,n.args)));break;case"setLayoutProperty":t.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case"setFilter":t.push((()=>this.setFilter.apply(this,n.args)));break;case"addSource":t.push((()=>this.addSource.apply(this,n.args)));break;case"removeSource":t.push((()=>this.removeSource.apply(this,n.args)));break;case"setLayerZoomRange":t.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case"setLight":t.push((()=>this.setLight.apply(this,n.args)));break;case"setGeoJSONSourceData":t.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case"setGlyphs":t.push((()=>this.setGlyphs.apply(this,n.args)));break;case"setSprite":t.push((()=>this.setSprite.apply(this,n.args)));break;case"setSky":t.push((()=>this.setSky.apply(this,n.args)));break;case"setTerrain":t.push((()=>this.map.setTerrain.apply(this,n.args)));break;case"setTransition":t.push((()=>{}));break;default:r.push(n.command)}return{operations:t,unimplemented:r}}addImage(e,r){if(this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,r),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.u.source,`sources.${e}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);let i=this.sourceCaches[e]=new fe(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e}))),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(let r in this._layers)if(this._layers[r].source===e)return this.fire(new t.j(new Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));let r=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],r.fire(new t.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(`There is no source with this ID=${e}`);let r=this.sourceCaches[e].getSource();if("geojson"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,r,n={}){this._checkLoaded();let i,a=e.id;if(this.getLayer(a))return void this.fire(new t.j(new Error(`Layer "${a}" already exists on this map.`)));if("custom"===e.type){if(ht(this,t.aD(e)))return;i=t.aA(e)}else{if("source"in e&&"object"==typeof e.source&&(this.addSource(a,e.source),e=t.aB(e),e=t.e(e,{source:a})),this._validate(t.u.layer,`layers.${a}`,e,{arrayIndex:-1},n))return;i=t.aA(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}let o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.j(new Error(`Cannot add layer "${a}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){let e=this._removedLayers[a];delete this._removedLayers[a],e.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}moveLayer(e,r){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===r)return;let n=this._order.indexOf(e);this._order.splice(n,1);let i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.j(new Error(`Cannot move layer "${e}" before non-existing layer "${r}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let r=this._layers[e];if(!r)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer "${e}".`)));r.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,r,n){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,r,n={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.aE(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.u.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=t.aB(r),this._updateLayer(i)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.aB(this.getLayer(e).filter)}setLayoutProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,r){let n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,r){this._checkLoaded();let n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let o=a.getSource().type;"geojson"===o&&i?this.fire(new t.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,r){this._checkLoaded();let n=e.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.j(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();let r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id)):void this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.j(new Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let e=t.aF(this.sourceCaches,(e=>e.serialize())),r=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,i=this.stylesheet;return t.aG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:e,layers:r,terrain:n},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>"fill-extrusion"===this._layers[e].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){r[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)n.push(t)}}}n.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=n.length-1;e>=0;e--){let t=n[e].feature;if(r[t.layer.id]{let n=r.featureSortOrder;if(n){let r=n.indexOf(e.featureIndex);return n.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(let e of i)t.push(e)}}for(let t in s)s[t].forEach((n=>{let i=n.feature,a=r[e[t].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a}));return s}(this._layers,o,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,r){r&&r.filter&&this._validate(t.u.filter,"querySourceFeatures.filter",r.filter,null,r);let n=this.sourceCaches[e];return n?function(e,t){let r=e.getRenderableIds().map((t=>e.getTileByID(t))),n=[],i={};for(let e=0;ee.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let n=this.crossTileSymbolIndex.addLayer(r,l[r.source],e.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),e.zoom))&&(this.pauseablePlacement=new at(e,this.map.terrain,this._order,i,t,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(let e of this._order){let t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,l[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,r.icons),e}))}getGlyphs(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(r.stacks),t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,[""]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,r={}){this._checkLoaded(),e&&this._validate(t.u.glyphs,"glyphs",e,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,r,n={},i){this._checkLoaded();let a=[{id:e,url:r}],o=[..._(this.stylesheet.sprite),...a];this._validate(t.u.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let r=_(this.stylesheet.sprite);if(r.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;r.splice(r.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}else this.fire(new t.j(new Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return _(this.stylesheet.sprite)}setSprite(e,r={},n){this._checkLoaded(),e&&this._validate(t.u.sprite,"sprite",e,null,r)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}}var dt=t.Y([{name:"a_pos",type:"Int16",components:2}]);let mt={prelude:gt("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 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\n);}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;}\n#ifdef TERRAIN3D\nuniform 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;\n#endif\nconst 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) {\n#ifdef TERRAIN3D\nhighp 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));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 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;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 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;\n#else\nreturn 0.0;\n#endif\n}"),background:gt("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:gt("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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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:gt("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 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:gt("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:gt("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 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:gt("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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","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:gt("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:gt("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:gt("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:gt("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:gt("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:gt("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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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:gt("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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:gt("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=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:gt("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;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=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\n? a_pos\n: 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:gt("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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:gt("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;\n#define PI 3.141592653589793\nvoid 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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:gt("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute 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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:gt("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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute 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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:gt("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform 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;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute 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;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat 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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:gt("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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute 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;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_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:gt("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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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:gt("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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:gt("#define SDF_PX 8.0\nuniform 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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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:gt("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform 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;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}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);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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 ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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:gt("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:gt("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:gt("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:gt("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 gt(e,t){let r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,((e,t,r,n,i)=>(s[i]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(r,((e,t,r,n,i)=>{let a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`})),staticAttributes:n,staticUniforms:o}}class yt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,r,n,i,a,o,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==n.length;for(let e=0;!c&&e({u_matrix:e,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):t.aM.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):t.aM.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function xt(e){let t=[];for(let r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}let wt=(e,r,n,i)=>{let a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=(c=new t.A(9),t.A!=Float32Array&&(c[1]=0,c[2]=0,c[3]=0,c[5]=0,c[6]=0,c[7]=0),c[0]=1,c[4]=1,c[8]=1,c);var c;"viewport"===a.properties.get("anchor")&&function(e,t){var r=Math.sin(t),n=Math.cos(t);e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1}(l,-r.transform.angle),function(e,t,r){var n=t[0],i=t[1],a=t[2];e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);let u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Tt=(e,r,n,i,a,o,s)=>t.e(wt(e,r,n,i),bt(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),kt=e=>({u_matrix:e}),At=(e,r,n,i)=>t.e(kt(e),bt(n,r,i)),Mt=(e,t)=>({u_matrix:e,u_world:t}),St=(e,r,n,i,a)=>t.e(At(e,r,n,i),{u_world:a}),Et=(e,t,r,n)=>{let i,a,o=e.transform;if("map"===n.paint.get("circle-pitch-alignment")){let e=Be(r,1,o.zoom);i=!0,a=[e,e]}else i=!1,a=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:a}},Ct=(e,t,r)=>({u_matrix:e,u_inv_matrix:t,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),It=(e,t,r=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:r}),Lt=e=>({u_matrix:e}),Pt=(e,t,r,n)=>({u_matrix:e,u_extrude_scale:Be(t,1,r),u_intensity:n}),zt=(e,r,n,i)=>{let a=t.H();t.aP(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}};function Dt(e,r){let n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.Z(0,i/n).toLngLat().lat,new t.Z(0,(i+1)/n).toLngLat().lat]}let Ot=(e,t,r,n)=>{let i=e.transform;return{u_matrix:Nt(e,t,r,n),u_ratio:1/Be(t,1,i.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Rt=(e,r,n,i,a)=>t.e(Ot(e,r,n,a),{u_image:0,u_image_height:i}),Ft=(e,t,r,n,i)=>{let a=e.transform,o=jt(t,a);return{u_matrix:Nt(e,t,r,i),u_texsize:t.imageAtlasTexture.size,u_ratio:1/Be(t,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Bt=(e,r,n,i,a,o)=>{let s=e.lineAtlas,l=jt(r,e.transform),c="round"===n.layout.get("line-cap"),u=s.getDash(i.from,c),h=s.getDash(i.to,c),f=u.width*a.fromScale,p=h.width*a.toScale;return t.e(Ot(e,r,n,o),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:a.t})};function jt(e,t){return 1/Be(e,1,t.tileZoom)}function Nt(e,t,r,n){return e.translatePosMatrix(n?n.posMatrix:t.tileID.posMatrix,t,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}let Ut=(e,t,r,n,i)=>{return{u_matrix:e,u_tl_parent:t,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Vt(i.paint.get("raster-hue-rotate"))};var a,o};function Vt(e){e*=Math.PI/180;let t=Math.sin(e),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}let qt=(e,t,r,n,i,a,o,s,l,c,u,h,f,p)=>{let d=o.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},Ht=(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{let g=s.transform;return t.e(qt(e,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},Gt=(e,r,n,i,a,o,s,l,c,u,h,f,p,d)=>t.e(Ht(e,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),Wt=(e,t,r)=>({u_matrix:e,u_opacity:t,u_color:r}),Zt=(e,r,n,i,a,o)=>t.e(function(e,t,r,n){let i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/Be(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r}),Yt={fillExtrusion:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_opacity:new t.aI(e,r.u_opacity)}),fillExtrusionPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_height_factor:new t.aI(e,r.u_height_factor),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade),u_opacity:new t.aI(e,r.u_opacity)}),fill:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),fillPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),fillOutline:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world)}),fillOutlinePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),circle:(e,r)=>({u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_scale_with_map:new t.aH(e,r.u_scale_with_map),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_extrude_scale:new t.aO(e,r.u_extrude_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_matrix:new t.aJ(e,r.u_matrix)}),collisionBox:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_pixel_extrude_scale:new t.aO(e,r.u_pixel_extrude_scale)}),collisionCircle:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_inv_matrix:new t.aJ(e,r.u_inv_matrix),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_viewport_size:new t.aO(e,r.u_viewport_size)}),debug:(e,r)=>({u_color:new t.aL(e,r.u_color),u_matrix:new t.aJ(e,r.u_matrix),u_overlay:new t.aH(e,r.u_overlay),u_overlay_scale:new t.aI(e,r.u_overlay_scale)}),clippingMask:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),heatmap:(e,r)=>({u_extrude_scale:new t.aI(e,r.u_extrude_scale),u_intensity:new t.aI(e,r.u_intensity),u_matrix:new t.aJ(e,r.u_matrix)}),heatmapTexture:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_color_ramp:new t.aH(e,r.u_color_ramp),u_opacity:new t.aI(e,r.u_opacity)}),hillshade:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_latrange:new t.aO(e,r.u_latrange),u_light:new t.aO(e,r.u_light),u_shadow:new t.aL(e,r.u_shadow),u_highlight:new t.aL(e,r.u_highlight),u_accent:new t.aL(e,r.u_accent)}),hillshadePrepare:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_dimension:new t.aO(e,r.u_dimension),u_zoom:new t.aI(e,r.u_zoom),u_unpack:new t.aK(e,r.u_unpack)}),line:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels)}),lineGradient:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_image:new t.aH(e,r.u_image),u_image_height:new t.aI(e,r.u_image_height)}),linePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texsize:new t.aO(e,r.u_texsize),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_image:new t.aH(e,r.u_image),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),lineSDF:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_patternscale_a:new t.aO(e,r.u_patternscale_a),u_patternscale_b:new t.aO(e,r.u_patternscale_b),u_sdfgamma:new t.aI(e,r.u_sdfgamma),u_image:new t.aH(e,r.u_image),u_tex_y_a:new t.aI(e,r.u_tex_y_a),u_tex_y_b:new t.aI(e,r.u_tex_y_b),u_mix:new t.aI(e,r.u_mix)}),raster:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_tl_parent:new t.aO(e,r.u_tl_parent),u_scale_parent:new t.aI(e,r.u_scale_parent),u_buffer_scale:new t.aI(e,r.u_buffer_scale),u_fade_t:new t.aI(e,r.u_fade_t),u_opacity:new t.aI(e,r.u_opacity),u_image0:new t.aH(e,r.u_image0),u_image1:new t.aH(e,r.u_image1),u_brightness_low:new t.aI(e,r.u_brightness_low),u_brightness_high:new t.aI(e,r.u_brightness_high),u_saturation_factor:new t.aI(e,r.u_saturation_factor),u_contrast_factor:new t.aI(e,r.u_contrast_factor),u_spin_weights:new t.aN(e,r.u_spin_weights)}),symbolIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolSDF:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolTextAndIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texsize_icon:new t.aO(e,r.u_texsize_icon),u_texture:new t.aH(e,r.u_texture),u_texture_icon:new t.aH(e,r.u_texture_icon),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),background:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_color:new t.aL(e,r.u_color)}),backgroundPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_image:new t.aH(e,r.u_image),u_pattern_tl_a:new t.aO(e,r.u_pattern_tl_a),u_pattern_br_a:new t.aO(e,r.u_pattern_br_a),u_pattern_tl_b:new t.aO(e,r.u_pattern_tl_b),u_pattern_br_b:new t.aO(e,r.u_pattern_br_b),u_texsize:new t.aO(e,r.u_texsize),u_mix:new t.aI(e,r.u_mix),u_pattern_size_a:new t.aO(e,r.u_pattern_size_a),u_pattern_size_b:new t.aO(e,r.u_pattern_size_b),u_scale_a:new t.aI(e,r.u_scale_a),u_scale_b:new t.aI(e,r.u_scale_b),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(e,r.u_tile_units_to_pixels)}),terrain:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_ele_delta:new t.aI(e,r.u_ele_delta),u_fog_matrix:new t.aJ(e,r.u_fog_matrix),u_fog_color:new t.aL(e,r.u_fog_color),u_fog_ground_blend:new t.aI(e,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(e,r.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon_fog_blend:new t.aI(e,r.u_horizon_fog_blend)}),terrainDepth:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ele_delta:new t.aI(e,r.u_ele_delta)}),terrainCoords:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_terrain_coords_id:new t.aI(e,r.u_terrain_coords_id),u_ele_delta:new t.aI(e,r.u_ele_delta)}),sky:(e,r)=>({u_sky_color:new t.aL(e,r.u_sky_color),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon:new t.aI(e,r.u_horizon),u_sky_horizon_blend:new t.aI(e,r.u_sky_horizon_blend)})};class Xt{constructor(e,t,r){this.context=e;let n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=!!r,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let $t={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Kt{constructor(e,t,r,n){this.length=t.length,this.attributes=r,this.itemSize=t.bytesPerElement,this.dynamicDraw=n,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let r=0;r0){let r=t.H();t.aQ(r,m.placementInvProjMatrix,e.transform.glCoordMatrix),t.aQ(r,r,m.placementViewportMatrix),c.push({circleArray:y,circleOffset:h,transform:d.posMatrix,invTransform:r,coord:d}),u+=y.length/4,h=u}g&&l.draw(o,s.LINES,jr.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,{u_matrix:d.posMatrix,u_pixel_extrude_scale:[1/(f=e.transform).width,1/f.height]},e.style.map.terrain&&e.style.map.terrain.getTerrainData(d),n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,e.transform.zoom,null,null,g.collisionVertexBuffer)}var f;if(!a||!c.length)return;let p=e.useProgram("collisionCircle"),d=new t.aR;d.resize(4*u),d._trim();let m=0;for(let e of c)for(let t=0;t=0&&(v[x.associatedIconIndex]={shiftedAnchor:I,angle:L})}else De(x.numGlyphs,g)}if(u){y.clear();let r=e.icon.placedSymbolArray;for(let e=0;ee.style.map.terrain.getElevation(l,t,r):null,r="map"===n.layout.get("text-rotation-alignment");Te(c,l.posMatrix,e,a,N,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,t)}let W,Z=l.posMatrix,Y=a&&A||G,X=x||Y?Gr:N,$=U,K=I&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);W=I?c.iconsInText?Gt(L.kind,D,_,v,x,Y,e,Z,X,$,q,f,R,S):Ht(L.kind,D,_,v,x,Y,e,Z,X,$,q,a,f,!0,S):qt(L.kind,D,_,v,x,Y,e,Z,X,$,q,a,f,S);let J={program:z,buffers:h,uniformValues:W,atlasTexture:p,atlasTextureIcon:F,atlasInterpolation:k,atlasInterpolationIcon:E,isSDF:I,hasHalo:K};if(w&&c.canOverlap){T=!0;let e=h.segments.get();for(let r of e)M.push({segments:new t.a0([r]),sortKey:r.sortKey,state:J,terrainData:O})}else M.push({segments:h.segments,sortKey:0,state:J,terrainData:O})}T&&M.sort(((e,t)=>e.sortKey-t.sortKey));for(let t of M){let r=t.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){let i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,Kr(r.buffers,t.segments,n,e,r.program,k,h,f,i,t.terrainData)),i.u_is_halo=0}Kr(r.buffers,t.segments,n,e,r.program,k,h,f,r.uniformValues,t.terrainData)}}function Kr(e,t,r,n,i,a,o,s,l,c){let u=n.context;i.draw(u,u.gl.TRIANGLES,a,o,s,qr.disabled,l,c,r.id,e.layoutVertexBuffer,e.indexBuffer,t,r.paint,n.transform.zoom,e.programConfigurations.get(r.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function Jr(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new Fr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]),c=r.getBucket(n);if(!c)return;let u=i.key,h=n.heatmapFbos.get(u);h||(h=en(a,r.tileSize,r.tileSize),n.heatmapFbos.set(u,h)),a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,r.tileSize,r.tileSize]),a.clear({color:t.aM.transparent});let f=c.programConfigurations.get(n.id),p=e.useProgram("heatmap",f),d=e.style.map.terrain.getTerrainData(i);p.draw(a,o.TRIANGLES,jr.disabled,s,l,qr.disabled,Pt(i.posMatrix,r,e.transform.zoom,n.paint.get("heatmap-intensity")),d,n.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,n.paint,e.transform.zoom,f)}function Qr(e,t,r){let n=e.context,i=n.gl;n.setColorMode(e.colorModeForRenderPass());let a=tn(n,t),o=r.key,s=t.heatmapFbos.get(o);s&&(n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,s.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1),a.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,jr.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,zt(e,t,0,1),null,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,e.transform.zoom),s.destroy(),t.heatmapFbos.delete(o))}function en(e,t,r){var n,i;let a=e.gl,o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);let s=null!==(n=e.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(i=e.RGBA16F)&&void 0!==i?i:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t,r,0,a.RGBA,s,null);let c=e.createFramebuffer(t,r,!1,!1);return c.colorAttachment.set(o),c}function tn(e,t){return t.colorRampTexture||(t.colorRampTexture=new w(e,t.colorRamp,e.gl.RGBA)),t.colorRampTexture}function rn(e,t,r,n,i){if(!r||!n||!n.imageAtlas)return;let a=n.imageAtlas.patternPositions,o=a[r.to.toString()],s=a[r.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function nn(e,t,r,n,i,a,o){let s,l,c,u,h,f=e.context.gl,p="fill-pattern",d=r.paint.get(p),m=d&&d.constantOr(1),g=r.getCrossfadeParameters();o?(l=m&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=m?"fillPattern":"fill",s=f.TRIANGLES);let y=d.constantOr(null);for(let d of n){let n=t.getTile(d);if(m&&!n.patternsLoaded())continue;let v=n.getBucket(r);if(!v)continue;let x=v.programConfigurations.get(r.id),_=e.useProgram(l,x),b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d);m&&(e.context.activeTexture.set(f.TEXTURE0),n.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),x.updatePaintBuffers(g)),rn(x,p,y,n,r);let w=b?d:null,T=e.translatePosMatrix(w?w.posMatrix:d.posMatrix,n,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=v.indexBuffer2,h=v.segments2;let t=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&m?St(T,e,g,n,t):Mt(T,t)}else u=v.indexBuffer,h=v.segments,c=m?At(T,e,g,n):kt(T);_.draw(e.context,s,i,e.stencilModeForClipping(d),a,qr.disabled,c,b,r.id,v.layoutVertexBuffer,u,h,r.paint,e.transform.zoom,x)}}function an(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c="fill-extrusion-pattern",u=r.paint.get(c),h=u.constantOr(1),f=r.getCrossfadeParameters(),p=r.paint.get("fill-extrusion-opacity"),d=u.constantOr(null);for(let u of n){let n=t.getTile(u),m=n.getBucket(r);if(!m)continue;let g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(u),y=m.programConfigurations.get(r.id),v=e.useProgram(h?"fillExtrusionPattern":"fillExtrusion",y);h&&(e.context.activeTexture.set(l.TEXTURE0),n.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f)),rn(y,c,d,n,r);let x=e.translatePosMatrix(u.posMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),_=r.paint.get("fill-extrusion-vertical-gradient"),b=h?Tt(x,e,_,p,u,f,n):wt(x,e,_,p);v.draw(s,s.gl.TRIANGLES,i,a,o,qr.backCCW,b,g,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,e.transform.zoom,y,e.style.map.terrain&&m.centroidVertexBuffer)}}function on(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c=r.fbo;if(!c)return;let u=e.useProgram("hillshade"),h=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),u.draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,t,r,n)=>{let i=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),o=r.paint.get("hillshade-accent-color"),s=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);let l=!e.options.moving;return{u_matrix:n?n.posMatrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:Dt(0,t.tileID),u_light:[r.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}})(e,r,n,h?t:null),h,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}function sn(e,r,n,i,a,o){let s=e.context,l=s.gl,c=r.dem;if(c&&c.data){let u=c.dim,h=c.stride,f=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){let e=r.demTexture;e.update(f,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else r.demTexture=new w(s,f,l.RGBA,{premultiply:!1}),r.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);let p=r.fbo;if(!p){let e=new w(s,{width:u,height:u,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),p=r.fbo=s.createFramebuffer(u,u,!0,!1),p.colorAttachment.set(e.texture)}s.bindFramebuffer.set(p.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,r)=>{let n=r.stride,i=t.H();return t.aP(i,0,t.X,-t.X,0,0,1),t.J(i,i,[0,-t.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}})(r.tileID,c),null,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function ln(e,r,n,i,o,s){let l=i.paint.get("raster-fade-duration");if(!s&&l>0){let i=a.now(),s=(i-e.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.ac(f?s:1-c,0,1);return e.refreshedUponExpiration&&s>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}let cn=new t.aM(1,0,0,1),un=new t.aM(0,1,0,1),hn=new t.aM(0,0,1,1),fn=new t.aM(1,0,1,1),pn=new t.aM(0,1,1,1);function dn(e,t,r,n){gn(e,0,t+r/2,e.transform.width,r,n)}function mn(e,t,r,n){gn(e,t-r/2,0,r,e.transform.height,n)}function gn(e,t,r,n,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,r*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function yn(e,r,n){let i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=jr.disabled,c=Vr.disabled,u=e.colorModeForRenderPass(),h="$debug",f=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);let p=r.getTileByID(n.key).latestRawTileData,d=Math.floor((p&&p.byteLength||0)/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=` => ${n.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,`${y} ${d}kB`),s.draw(i,a.TRIANGLES,l,c,Fr.alphaBlended,qr.disabled,It(o,t.aM.transparent,g),null,h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,qr.disabled,It(o,t.aM.red),f,h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function vn(e,t,r){let n=e.context,i=n.gl,a=e.colorModeForRenderPass(),o=new jr(i.LEQUAL,jr.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height]);for(let c of r){let r=e.renderToTexture.getTexture(c),u=t.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);let h=e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),f=t.getMeshFrameDelta(e.transform.zoom),p=e.transform.calculateFogMatrix(c.tileID.toUnwrapped()),d=vt(h,f,p,e.style.sky,e.transform.pitch);s.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,d,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class xn{constructor(e,t,r){this.vertexBuffer=e,this.indexBuffer=t,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class _n{constructor(e,r){this.context=new Br(e),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=fe.maxUnderzooming+fe.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new ut}resize(e,t,r){if(this.width=Math.floor(e*r),this.height=Math.floor(t*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,r=new t.aX;r.emplaceBack(0,0),r.emplaceBack(t.X,0),r.emplaceBack(0,t.X),r.emplaceBack(t.X,t.X),this.tileExtentBuffer=e.createVertexBuffer(r,dt.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let n=new t.aX;n.emplaceBack(0,0),n.emplaceBack(t.X,0),n.emplaceBack(0,t.X),n.emplaceBack(t.X,t.X),this.debugBuffer=e.createVertexBuffer(n,dt.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let i=new t.$;i.emplaceBack(0,0,0,0),i.emplaceBack(t.X,0,t.X,0),i.emplaceBack(0,t.X,0,t.X),i.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=e.createVertexBuffer(i,Q.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let a=new t.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,dt.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let o=new t.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);let s=new t.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new Vr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let n=t.H();t.aP(n,0,this.width,this.height,0,0,1),t.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,jr.disabled,this.stencilClearMode,Fr.disabled,qr.disabled,Lt(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let r=this.context,n=r.gl;this.nextStencilID+t.length>256&&this.clearStencil(),r.setColorMode(Fr.disabled),r.setDepthMode(jr.disabled);let i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let e of t){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);i.draw(r,n.TRIANGLES,jr.disabled,new Vr({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),Fr.disabled,qr.disabled,Lt(e.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new Vr({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new Vr({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,r=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let r=0;r=0;this.currentLayer--){let e=this.style._layers[n[this.currentLayer]],t=i[e.source],r=o[e.source];this._renderTileClippingMasks(e,r),this.renderLayer(this,t,e,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(t)?[e.sourceCaches[r.source]]:[])),i=n.filter((e=>"vector"===e.getSource().type)),a=n.filter((e=>"vector"!==e.getSource().type)),o=e=>{(!r||r.getSource().maxzoomo(e))),r||a.forEach((e=>o(e))),r}(this.style,this.transform.zoom);e&&function(e,t,r){for(let n=0;n0),i&&(t.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,r){let n=e.context,i=n.gl,a=Fr.unblended,o=new jr(i.LEQUAL,jr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1});for(let t of l){let l=r.getTerrainData(t.tileID),u={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};c.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,u,l,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,r){let n=e.context,i=n.gl,a=Fr.unblended,o=new jr(i.LEQUAL,jr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=e.useProgram("terrainCoords");n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1}),r.coordsIndex=[];for(let t of c){let c=r.getTerrainData(t.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);let h={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};u.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,h,c,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(t.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":!function(e,r,n,i,a){if("translucent"!==e.renderPass)return;let o=Vr.disabled,s=e.colorModeForRenderPass();(n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,r,n,i,a,o,s,l,c){let u=r.transform,h=nt(),f="map"===a,p="map"===o;for(let a of e){let e=i.getTile(a),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;let d=t.ag(o.textSizeData,u.zoom),m=Be(e,1,r.transform.zoom),g=ve(a.posMatrix,p,f,r.transform,m),y="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(d){let t=Math.pow(2,u.zoom-e.tileID.overscaledZ),n=r.style.map.terrain?(e,t)=>r.style.map.terrain.getElevation(a,e,t):null,i=h.translatePosition(u,e,s,l);Yr(o,f,p,c,u,g,a.posMatrix,t,d,y,h,i,a.toUnwrapped(),n)}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&$r(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&$r(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Hr(e,r,n,i,!0),Hr(e,r,n,i,!1))}(e,r,n,i,this.style.placement.variableOffsets);break;case"circle":!function(e,r,n,i){if("translucent"!==e.renderPass)return;let a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;let c=e.context,u=c.gl,h=e.depthModeForSublayer(0,jr.ReadOnly),f=Vr.disabled,p=e.colorModeForRenderPass(),d=[];for(let a=0;ae.sortKey-t.sortKey));for(let t of d){let{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;i.draw(c,u.TRIANGLES,h,f,p,qr.disabled,s,l,n.id,a,o,t.segments,n.paint,e.transform.zoom,r)}}(e,r,n,i);break;case"heatmap":!function(e,r,n,i){if(0===n.paint.get("heatmap-opacity"))return;let a=e.context;if(e.style.map.terrain){for(let t of i){let i=r.getTile(t);r.hasRenderableParent(t)||("offscreen"===e.renderPass?Jr(e,i,n,t):"translucent"===e.renderPass&&Qr(e,n,t))}a.viewport.set([0,0,e.width,e.height])}else"offscreen"===e.renderPass?function(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new Fr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(e,r,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,r.width/4,r.height/4]);let a=n.heatmapFbos.get(t.aU);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=en(e,r.width/4,r.height/4),n.heatmapFbos.set(t.aU,a))})(a,e,n),a.clear({color:t.aM.transparent});for(let t=0;t20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);let _=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n),b=_?n:null,w=b?b.posMatrix:e.transform.calculatePosMatrix(n.toUnwrapped(),f),T=Ut(w,m||[0,0],d||1,v,r);o instanceof ee?s.draw(i,a.TRIANGLES,u,Vr.disabled,l,qr.disabled,T,_,r.id,o.boundsBuffer,e.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,qr.disabled,T,_,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,r,n,i);break;case"background":!function(e,t,r,n){let i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;let o=e.context,s=o.gl,l=e.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(e.isPatternMissing(u))return;let h=!u&&1===i.a&&1===a&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==h)return;let f=Vr.disabled,p=e.depthModeForSublayer(0,"opaque"===h?jr.ReadWrite:jr.ReadOnly),d=e.colorModeForRenderPass(),m=e.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let y=r.getCrossfadeParameters();for(let t of g){let l=n?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),h=u?Zt(l,a,e,u,{tileID:t,tileSize:c},y):Wt(l,a,i),g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);m.draw(o,s.TRIANGLES,p,f,d,qr.disabled,h,g,r.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,n,i);break;case"custom":!function(e,t,r){let n=e.context,i=r.implementation;if("offscreen"===e.renderPass){let t=i.prerender;t&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),t.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(Vr.disabled);let t="3d"===i.renderingMode?new jr(e.context.gl.LEQUAL,jr.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,jr.ReadOnly);n.setDepthMode(t),i.render(n.gl,e.transform.customLayerMatrix(),{farZ:e.transform.farZ,nearZ:e.transform.nearZ,fov:e.transform._fov,modelViewProjectionMatrix:e.transform.modelViewProjectionMatrix,projectionMatrix:e.transform.projectionMatrix}),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}(e,0,n)}}translatePosMatrix(e,r,n,i,a){if(!n[0]&&!n[1])return e;let o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){let e=Math.sin(o),t=Math.cos(o);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}let s=[a?n[0]:Be(r,n[0],this.transform.zoom),a?n[1]:Be(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return t.J(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r}useProgram(e,t){this.cache=this.cache||{};let r=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new _t(this.context,mt[e],t,Yt[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}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 e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class bn{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,r,n){let i=Math.pow(2,n),a=[[-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((n=>{let a=1/(n=t.af([],n,e))[3]/r*i;return t.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{let t=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}([],(n=[],i=y([],a[e[0]],a[e[1]]),o=y([],a[e[2]],a[e[1]]),s=i[0],l=i[1],c=i[2],u=o[0],h=o[1],f=o[2],n[0]=l*f-c*h,n[1]=c*u-s*f,n[2]=s*h-l*u,n)),r=-((p=t)[0]*(d=a[e[1]])[0]+p[1]*d[1]+p[2]*d[2]);var n,i,o,s,l,c,u,h,f,p,d;return t.concat(r)}));return new bn(a,o)}}class wn{constructor(e,t){var r,n,i;this.min=e,this.max=t,this.center=function(e,t){return e[0]=.5*t[0],e[1]=.5*t[1],e[2]=.5*t[2],e}([],(r=[],n=this.min,i=this.max,r[0]=n[0]+i[0],r[1]=n[1]+i[1],r[2]=n[2]+i[2],r))}quadrant(e){let t=[e%2==0,e<2],r=m(this.min),n=m(this.max);for(let e=0;e=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let t=0;t<3;t++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[t]-this.min[t])return 0}return 1}}class Tn{constructor(e=0,t=0,r=0,n=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n}interpolate(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.y.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.y.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.y.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.y.number(e.right,r.right,n)),this}getCenter(e,r){let n=t.ac((this.left+e-this.right)/2,0,e),i=t.ac((this.top+r-this.bottom)/2,0,r);return new t.P(n,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new Tn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let kn=85.051129;class An{constructor(e,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=n??0,this._maxPitch=i??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Tn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new An(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.lngRange=e.lngRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){let r=-t.b3(e,-180,180)*Math.PI/180;var n;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=(n=new t.A(4),t.A!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),l=Math.cos(r);e[0]=n*l+a*s,e[1]=i*l+o*s,e[2]=n*-s+a*l,e[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let r=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){let t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)}getVisibleUnwrappedCoordinates(e){let r=[new t.b4(0,e)];if(this._renderWorldCopies){let n=this.pointCoordinate(new t.P(0,0)),i=this.pointCoordinate(new t.P(this.width,0)),a=this.pointCoordinate(new t.P(this.width,this.height)),o=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new t.b4(n,e))}return r}coveringTiles(e){var r,n;let i=this.coveringZoomLevel(e),a=i;if(void 0!==e.minzoom&&ie.maxzoom&&(i=e.maxzoom);let o=this.pointCoordinate(this.getCameraPoint()),s=t.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=bn.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i),f=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);let p=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,d=e=>({aabb:new wn([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),m=[],g=[],y=i,v=e.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let e=1;e<=3;e++)m.push(d(-e)),m.push(d(e));for(m.push(d(0));m.length>0;){let i=m.pop(),a=i.x,o=i.y,s=i.fullyVisible;if(!s){let e=i.aabb.intersects(h);if(0===e)continue;s=2===e}let l=e.terrain?c:u,d=i.aabb.distanceX(l),_=i.aabb.distanceY(l),b=Math.max(Math.abs(d),Math.abs(_));if(i.zoom===y||b>p+(1<=f){let e=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1,f=i.aabb.quadrant(l);if(e.terrain){let a=new t.S(h,i.wrap,h,c,u),o=e.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new wn([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let r=t.ac(e.lat,-85.051129,kn);return new t.P(t.O(e.lng)*this.worldSize,t.Q(r)*this.worldSize)}unproject(e){return new t.Z(e.x/this.worldSize,e.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(e){let r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,e),a=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;let o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/t.b5(1,i.lat),l=this.scaleZoom(s/this.tileSize);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(e,r){let n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,r){if(r){let t=r.pointCoordinate(e);if(null!=t)return t}let n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];t.af(n,n,this.pixelMatrixInverse),t.af(i,i,this.pixelMatrixInverse);let a=n[3],o=i[3],s=n[1]/a,l=i[1]/o,c=n[2]/a,u=i[2]/o,h=c===u?0:(0-c)/(u-c);return new t.Z(t.y.number(n[0]/a,i[0]/o,h)/this.worldSize,t.y.number(s,l,h)/this.worldSize)}coordinatePoint(e,r=0,n=this.pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,r,1];return t.af(i,i,n),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return(new Z).extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new Z([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(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,kn])}calculateTileMatrix(e){let r=e.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*e.wrap,a=t.an(new Float64Array(16));return t.J(a,a,[i*n,r.y*n,0]),t.K(a,a,[n/t.X,n/t.X,1]),a}calculatePosMatrix(e,r=!1){let n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];let a=this.calculateTileMatrix(e);return t.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(e){let r=e.key,n=this._fogMatrixCache;if(n[r])return n[r];let i=this.calculateTileMatrix(e);return t.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,r){r=t.ac(+r,this.minZoom,this.maxZoom);let n={center:new t.N(e.lng,e.lat),zoom:r},i=this.lngRange;if(!this._renderWorldCopies&&null===i){let e=179.9999999999;i=[-e,e]}let a=this.tileSize*this.zoomScale(n.zoom),o=0,s=a,l=0,c=a,u=0,h=0,{x:f,y:p}=this.size;if(this.latRange){let e=this.latRange;o=t.Q(e[1])*a,s=t.Q(e[0])*a,s-os&&(m=s-e)}if(i){let e=(l+c)/2,r=g;this._renderWorldCopies&&(r=t.b3(g,e-a/2,e+a/2));let n=f/2;r-nc&&(d=c-n)}if(void 0!==d||void 0!==m){let e=new t.P(d??g,m??y);n.center=this.unproject.call({worldSize:a},e).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=r,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,r=this.point.x,n=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let i=t.an(new Float64Array(16));t.K(i,i,[this.width/2,-this.height/2,1]),t.J(i,i,[1,-1,0]),this.labelPlaneMatrix=i,i=t.an(new Float64Array(16)),t.K(i,i,[1,-1,1]),t.J(i,i,[-1,-1,0]),t.K(i,i,[2/this.width,2/this.height,1]),this.glCoordMatrix=i;let a=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),o=Math.min(this.elevation,this.minElevationForCurrentTile),s=a-o*this._pixelPerMeter/Math.cos(this._pitch),l=o<0?s:a,c=Math.PI/2+this._pitch,u=this._fov*(.5+e.y/this.height),h=Math.sin(u)*l/Math.sin(t.ac(Math.PI-c-u,.01,Math.PI-.01)),f=this.getHorizon(),p=2*Math.atan(f/this.cameraToCenterDistance)*(.5+e.y/(2*f)),d=Math.sin(p)*l/Math.sin(t.ac(Math.PI-c-p,.01,Math.PI-.01)),m=Math.min(h,d);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,i=new Float64Array(16),t.b6(i,this._fov,this.width/this.height,this.nearZ,this.farZ),i[8]=2*-e.x/this.width,i[9]=2*e.y/this.height,this.projectionMatrix=t.ae(i),t.K(i,i,[1,-1,1]),t.J(i,i,[0,0,-this.cameraToCenterDistance]),t.b7(i,i,this._pitch),t.ad(i,i,this.angle),t.J(i,i,[-r,-n,0]),this.mercatorMatrix=t.K([],i,[this.worldSize,this.worldSize,this.worldSize]),t.K(i,i,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,i),t.J(i,i,[0,0,-this.elevation]),this.modelViewProjectionMatrix=i,this.invModelViewProjectionMatrix=t.as([],i),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,a,this.farZ),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.y/this.height,t.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),t.b7(this.fogMatrix,this.fogMatrix,this._pitch),t.ad(this.fogMatrix,this.fogMatrix,this.angle),t.J(this.fogMatrix,this.fogMatrix,[-r,-n,0]),t.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=t.L(new Float64Array(16),this.labelPlaneMatrix,i);let g=this.width%2/2,y=this.height%2/2,v=Math.cos(this.angle),x=Math.sin(this.angle),_=r-Math.round(r)+v*g+x*y,b=n-Math.round(n)+v*y+x*g,w=new Float64Array(i);if(t.J(w,w,[_>.5?_-1:_,b>.5?b-1:b,0]),this.alignedModelViewProjectionMatrix=w,i=t.as(new Float64Array(16),this.pixelMatrix),!i)throw new Error("failed to invert matrix");this.pixelMatrixInverse=i,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let r=this.getCameraPoint();if(1===e.length)return[e[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(let t of e)n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.P(n,i),new t.P(a,i),new t.P(a,o),new t.P(n,o),new t.P(n,i)]}}lngLatToCameraDepth(e,r){let n=this.locationCoordinate(e),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return t.af(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Mn(e,t){let r,n=!1,i=null,a=null,o=()=>{i=null,n&&(e.apply(a,r),i=setTimeout(o,t),n=!1)};return(...e)=>(n=!0,a=this,r=e,i||o(),i)}class Sn{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((e=>e.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some((e=>isNaN(e)))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(0===e.length)return;let t=e.join("/"),r=t;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${t}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Mn(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,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(e){let t=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(t.lng*i)/i,o=Math.round(t.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";if(c+=e?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){let e=this._hashName,t=!1,r=window.location.hash.slice(1).split("&").map((r=>{let n=r.split("=")[0];return n===e?(t=!0,`${n}=${c}`):r})).filter((e=>e));return t||r.push(`${e}=${c}`),`#${r.join("&")}`}return`#${c}`}}let En={linearity:.3,easing:t.b8(0,0,.3,1)},Cn=t.e({deceleration:2500,maxSpeed:1400},En),In=t.e({deceleration:20,maxSpeed:1400},En),Ln=t.e({deceleration:1e3,maxSpeed:360},En),Pn=t.e({deceleration:1e3,maxSpeed:90},En);class zn{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=a.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let r={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)r.zoom+=e.zoomDelta||0,r.bearing+=e.bearingDelta||0,r.pitch+=e.pitchDelta||0,e.panDelta&&r.pan._add(e.panDelta),e.around&&(r.around=e.around),e.pinchAround&&(r.pinchAround=e.pinchAround);let n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){let a=On(r.pan.mag(),n,t.e({},Cn,e||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,Dn(i,a)}if(r.zoom){let e=On(r.zoom,n,In);i.zoom=this._map.transform.zoom+e.amount,Dn(i,e)}if(r.bearing){let e=On(r.bearing,n,Ln);i.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),Dn(i,e)}if(r.pitch){let e=On(r.pitch,n,Pn);i.pitch=this._map.transform.pitch+e.amount,Dn(i,e)}if(i.zoom||i.bearing){let e=void 0===r.pinchAround?r.around:r.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function Dn(e,t){(!e.duration||e.durationr.unproject(e))),l=a.reduce(((e,t,r,n)=>e.add(t.div(n.length))),new t.P(0,0));super(e,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Bn extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,r){super(e,{originalEvent:r}),this._defaultPrevented=!1}}class jn{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Bn(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Rn(e.type,this._map,e))}mouseup(e){this._map.fire(new Rn(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Rn(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Rn(e.type,this._map,e))}mouseover(e){this._map.fire(new Rn(e.type,this._map,e))}mouseout(e){this._map.fire(new Rn(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Fn(e.type,this._map,e))}touchmove(e){this._map.fire(new Fn(e.type,this._map,e))}touchend(e){this._map.fire(new Fn(e.type,this._map,e))}touchcancel(e){this._map.fire(new Fn(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Nn{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Rn(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Rn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Un{constructor(e){this._map=e}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(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class Vn{constructor(e,t){this._map=e,this._tr=new Un(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(o.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let r=t;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)e.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new t.k(e,{originalEvent:r}))}}function qn(e,t){if(e.length!==t.length)throw new Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){let r=new t.P(0,0);for(let t of e)r._add(t);return r.div(e.length)}(r),this.touches=qn(n,r)))}touchmove(e,t,r){if(this.aborted||!this.centroid)return;let n=qn(r,t);for(let e in this.touches){let t=n[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class Gn{constructor(e){this.singleTap=new Hn(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,r){this.singleTap.touchstart(e,t,r)}touchmove(e,t,r){this.singleTap.touchmove(e,t,r)}touchend(e,t,r){let n=this.singleTap.touchend(e,t,r);if(n){let t=e.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(t&&r||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Wn{constructor(e){this._tr=new Un(e),this._zoomIn=new Gn({numTouches:1,numTaps:2}),this._zoomOut=new Gn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)}touchmove(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)}touchend(e,t,r){let n=this._zoomIn.touchend(e,t,r),i=this._zoomOut.touchend(e,t,r),a=this._tr;return n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Zn{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let r=this._lastPoint;if(!r)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let n=t.length?t[0]:t;return!this._moved&&n.dist(r){e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}},Jn=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Zn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Kn})},Qn=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Zn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Kn})};class ei{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,r){return this._calculateTransform(e,t,r)}touchmove(e,t,r){if(this._active){if(!this._shouldBePrevented(r.length))return e.preventDefault(),this._calculateTransform(e,t,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,t,r){this._calculateTransform(e,t,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,n){n.length>0&&(this._active=!0);let i=qn(n,r),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],r=this._touches[e];r&&(a._add(t),o._add(t.sub(r)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(e.x)}class li extends ti{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,r){super.touchstart(e,t,r),this._currentTouchCount=r.length}_start(e){this._lastPoints=e,si(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,r){if(void 0!==this._valid)return this._valid;let n=e.mag()>=2,i=t.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return si(e)&&si(t)&&a}}let ci={panStep:100,bearingStep:15,pitchStep:10};class ui{constructor(e){this._tr=new Un(e);let t=ci;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,r=0,n=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?r=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?r=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?n=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:hi,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}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 hi(e){return e*(2-e)}let fi=4.000244140625;class pi{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new Un(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==t&&t%fi==0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){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 r=o.mousePos(this._map.getCanvas(),e),n=this._tr;this._around=r.y>n.transform.height/2-n.transform.getHorizon()?t.N.convert(this._aroundCenter?n.center:n.unproject(r)):t.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>fi?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==r&&(r=1/r);let n="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let r,n="number"==typeof this._targetZoom?this._targetZoom:e.zoom,i=this._startZoom,o=this._easing,s=!1,l=a.now()-this._lastWheelEventTime;if("wheel"===this._type&&i&&o&&l){let e=Math.min(l/200,1),a=o(e);r=t.y.number(i,n,a),e<1?this._frameId||(this._frameId=!0):s=!0}else r=n,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:r-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=t.b9;if(this._prevEase){let e=this._prevEase,n=(a.now()-e.start)/e.duration,i=e.easing(n+.01)-e.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class di{constructor(e,t){this._clickZoom=e,this._tapZoom=t}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 mi{constructor(e){this._tr=new Un(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class gi{constructor(){this._tap=new Gn({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(e,t,r){if(!this._swipePoint)if(this._tapTime){let n=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(e,t,r)}touchmove(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;let n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)}touchend(e,t,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{let n=this._tap.touchend(e,t,r);n&&(this._tapTime=e.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class yi{constructor(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r}enable(e){this._inertiaOptions=e||{},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 vi{constructor(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r}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 xi{constructor(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),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 _i{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=o.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=t,this._container.appendChild(n);let i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(o.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(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new t.k("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}let bi=e=>e.zoom||e.drag||e.pitch||e.rotate;class wi extends t.k{}function Ti(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class ki{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let r="renderFrame"===e.type?void 0:e,n={needsRenderFrame:!1},i={},a={},s=e.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),e);for(let{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[t||e.type]&&(h=s[t||e.type](e,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}let u={};for(let e in this._previousActiveHandlers)a[e]||(u[e]=r);this._previousActiveHandlers=a,(Object.keys(u).length||Ti(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||Ti(n))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(let[e,t,r]of this._listeners)o.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(let[e,t,r]of this._listeners)o.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(e){let t=this._map,r=t.getCanvasContainer();this._add("mapEvent",new jn(t,e));let n=t.boxZoom=new Vn(t,e);this._add("boxZoom",n),e.interactive&&e.boxZoom&&n.enable();let i=t.cooperativeGestures=new _i(t,e.cooperativeGestures);this._add("cooperativeGestures",i),e.cooperativeGestures&&i.enable();let a=new Wn(t),s=new mi(t);t.doubleClickZoom=new di(s,a),this._add("tapZoom",a),this._add("clickZoom",s),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let l=new gi;this._add("tapDragZoom",l);let c=t.touchPitch=new li(t);this._add("touchPitch",c),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let u=Jn(e),h=Qn(e);t.dragRotate=new vi(e,u,h),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let f=(({enable:e,clickTolerance:t})=>{let r=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&!e.ctrlKey});return new Zn({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:r,enable:e,assignEvents:Kn})})(e),p=new ei(e,t);t.dragPan=new yi(r,f,p),this._add("mousePan",f),this._add("touchPan",p,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let d=new oi,m=new ii;t.touchZoomRotate=new xi(r,m,d,l),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let g=t.scrollZoom=new pi(t,(()=>this._triggerRenderFrame()));this._add("scrollZoom",g,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let y=t.keyboard=new ui(t);this._add("keyboard",y),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new Nn(t))}_add(e,t,r){this._handlers.push({handlerName:e,handler:t,allowed:r}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!bi(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,r){for(let n in e)if(n!==r&&(!t||t.indexOf(n)<0))return!0;return!1}_getMapTouches(e){let t=[];for(let r of e)this._el.contains(r.target)&&t.push(r);return t}mergeHandlerResult(e,r,n,i,a){if(!n)return;t.e(e,n);let o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){let e={},r={},n={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(e.around=i.around),void 0!==i.pinchAround&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(r,a),t.e(n,o);this._updateMapTransform(e,r,n),this._changes=[]}_updateMapTransform(e,t,r){let n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(Ti(e)||a&&this._terrainMovement))return this._fireEvents(t,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=e;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;let f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!t.drag&&!t.zoom?t.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,r,!0)}_fireEvents(e,r,n){let i=bi(this._eventsInProgress),o=bi(e),s={};for(let t in e){let{originalEvent:r}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=r),this._eventsInProgress[t]=e[t]}!i&&o&&this._fireEvent("movestart",o.originalEvent);for(let e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(let t in e){let{originalEvent:r}=e[t];this._fireEvent(t,r)}let l,c={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:n}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=r[t]||n,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);let u=bi(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();e.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(e)}if(n&&h){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=e=>0!==e&&-this._bearingSnap{delete this._frameId,this.handleEvent(new wi("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ai extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,r,n){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},r),n)}panTo(e,r,n){return this.easeTo(t.e({center:e},r),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,r,n){return this.easeTo(t.e({zoom:e},r),n)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,r,n){return this.easeTo(t.e({bearing:e},r),n)}resetNorth(e,r){return this.rotateTo(0,t.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),r),this}snapToNorth(e,t){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=t.y.number(o,y,n)),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(n),v)i.setLocationAtPoint(v,x);else{let e=i.zoomScale(i.zoom-o),t=y>o?Math.min(2,w):Math.max(.5,w),r=Math.pow(t,1-n),a=i.unproject(_.add(b.mult(n*r)).mult(e));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,d)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,t)}),e),this}_prepareEase(e,r,n={}){this._moving=!0,r||n.moving||this.fire(new t.k("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(r-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,e)}_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(e){let t=e.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(t.lngLat,e.zoom);if(t.altitudethis._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let r=e.clone();for(let e of t){let t=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=e(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==a&&(t.pitch=a),void 0!==o&&(t.bearing=o),void 0!==s&&(t.elevation=s),r.apply(t)}this.transform.apply(r)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;let n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.k("zoomend",e)),i&&this.fire(new t.k("rotateend",e)),a&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,r){var n;if(!e.essential&&a.prefersReducedMotion){let n=t.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},e);let i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f="padding"in e?e.padding:i.padding,p=t.P.convert(e.offset),d=i.centerPoint.add(p),m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(t.N.convert(e.center||m),null!==(n=e.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);let v=i.zoomScale(y-o),x=i.project(m),_=i.project(g).sub(x),b=e.curve,w=Math.max(i.width,i.height),T=w/v,k=_.mag();if("minZoom"in e){let r=t.ac(Math.min(e.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);b=Math.sqrt(n/k*2)}let A=b*b;function M(e){let t=(T*T-w*w+(e?-1:1)*A*A*k*k)/(2*(e?T:w)*A*k);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function E(e){return(Math.exp(e)+Math.exp(-e))/2}let C=M(!1),I=function(e){return E(C)/E(C+b*e)},L=function(e){return w*((E(C)*(S(t=C+b*e)/E(t))-S(C))/A)/k;var t},P=(M(!0)-C)/b;if(Math.abs(k)<1e-6||!isFinite(P)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);let t=T0,I=e=>Math.exp(t*b*e)}return e.duration="duration"in e?+e.duration:1e3*P/("screenSpeed"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{let a=n*P,m=1/I(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(n);let v=1===n?g:i.unproject(x.add(_.mult(L(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(e,t,r){!1===r.animate||0===r.duration?(e(1),t()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){e=t.b3(e,-180,180);let n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let Mi={compact:!0,customAttribution:'MapLibre'};class Si{constructor(e=Mi){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=e=>{!e||"metadata"!==e.sourceDataType&&"visibility"!==e.sourceDataType&&"style"!==e.dataType&&"terrain"!==e.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?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=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=o.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=o.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.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(){o.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(e,t){let r=this._map._getUIString(`AttributionControl.${t}`);e.title=r,e.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>"string"!=typeof e?"":e))):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let r in t){let n=t[r];if(n.used||n.usedForTerrain){let t=n.getSource();t.attribution&&e.indexOf(t.attribution)<0&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,r)=>{for(let n=r+1;n=0)return!1;return!0}));let r=e.join(" | ");r!==this._attribHTML&&(this._attribHTML=r,e.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Ei{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=o.create("div","maplibregl-ctrl");let t=o.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Ci{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,r=t?this._queue.concat(t):this._queue;for(let t of r)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;this._queue=[];for(let r of t)if(!r.cancelled&&(r.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ii=t.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Li extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];let n={};for(let i of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),this._tiles[i.key]=new ce(i,this.tileSize));for(let e in this._tiles)n[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let r=this._tiles[t];(!e||r.tileID.equals(e)||r.tileID.isChildOf(e)||e.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let r={};for(let n of this._renderableTilesKeys){let i=this._tiles[n].tileID;if(i.canonical.equals(e.canonical)){let i=e.clone();i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),r[n]=i}else if(i.canonical.isChildOf(e.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=i.canonical.z-e.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,c,0,c,0,1),t.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(e.canonical.isChildOf(i.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=e.canonical.z-i.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,t.X,0,t.X,0,1),t.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(e,t){let r=this.sourceCache._source,n=e.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(n--).key);return i}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter((t=>t.timeAdded>=e))}}class Pi{constructor(e,t,r){this.painter=e,this.sourceCache=new Li(t),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,n,i=t.X){var a;if(!(r>=0&&r=0&&ne.canonical.z&&(e.canonical.z>=n?i=e.canonical.z-n:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let a=e.canonical.x-(e.canonical.x>>i<>i<>8<<4|e>>8,r[t+3]=0;let n=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(e,n,e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);let l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;let f=this._coordsTextureSize,p=(1<e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse))}}let Di={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Oi{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new zi(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter((r=>!e._layers[r].isHidden(t))),this._coordsDescendingInv={};for(let t in e.sourceCaches){this._coordsDescendingInv[t]={};let r=e.sourceCaches[t].getVisibleCoordinates();for(let e of r){let r=this.terrain.sourceCache.getTerrainCoords(e);for(let e in r)this._coordsDescendingInv[t][e]||(this._coordsDescendingInv[t][e]=[]),this._coordsDescendingInv[t][e].push(r[e])}}this._coordsDescendingInvStr={};for(let t of e._order){let r=e._layers[t],n=r.source;if(Di[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(let e in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][e]=this._coordsDescendingInv[n][e].map((e=>e.key)).sort().join()}}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let r=this._coordsDescendingInvStr[t][e.tileID.key];r&&r!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let r=e.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Di[r]&&(this._prevType&&Di[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(e.id),!i))return!0;if(Di[this._prevType]||Di[r]&&i){this._prevType=r;let e=this._stacks.length-1,i=this._stacks[e]||[];for(let r of this._renderableTiles){if(this.pool.isFull()&&(vn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[e]){let t=this.pool.getObjectForId(r.rtt[e].id);if(t.stamp===r.rtt[e].stamp){this.pool.useObject(t);continue}}let a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[e]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:t.aM.transparent,stencil:0}),n.currentStencilSource=void 0;for(let e=0;e{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},Ui={showCompass:!0,showZoom:!0,visualizePitch:!1};class Vi{constructor(e,r,n=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),o.mousePos(this.element,e)),o.addEventListener(window,"mousemove",this.mousemove),o.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,o.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),o.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&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 i=e.dragRotate._mouseRotate.getClickTolerance(),a=e.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=Jn({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new $n;return new Zn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:i,enable:!0}),this.map=e,n&&(this.mousePitch=Qn({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new $n;return new Zn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:a,enable:!0})),o.addEventListener(r,"mousedown",this.mousedown),o.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),o.addEventListener(r,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),o.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),o.disableDrag()}moveMouse(e,t){let r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){let{pitchDelta:n}=this.mousePitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(e,t){let r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){let{pitchDelta:n}=this.touchPitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}off(){let e=this.element;o.removeEventListener(e,"mousedown",this.mousedown),o.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend),o.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,"mousemove",this.mousemove),o.removeEventListener(window,"mouseup",this.mouseup),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend)}}function qi(e,r,n){let i=new t.N(e.lng,e.lat);if(e=new t.N(e.lng,e.lat),r){let i=new t.N(e.lng-360,e.lat),a=new t.N(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)180;){let t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==i.lng&&n.locationPoint(e).y>n.height/2-n.getHorizon()?e:i}let Hi={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 Gi(e,t,r){let n=e.classList;for(let e in Hi)n.remove(`maplibregl-${r}-anchor-${e}`);n.add(`maplibregl-${r}-anchor-${t}`)}class Wi extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,r=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,r=this._element;this._popup&&(t===r||r.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let r=this._map.loaded()&&!this._map.isMoving();("terrain"===e?.type||"render"===e?.type&&!r)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.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 n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&"moveend"!==e.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Hi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(e&&"moveend"===e.type)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.k("dragstart"))),this.fire(new t.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),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.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=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e?.opacity,e?.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create("div");let r=o.createNS("http://www.w3.org/2000/svg","svg"),n=41,i=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${i}px`),r.setAttributeNS(null,"viewBox",`0 0 ${i} ${n}`);let a=o.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");let s=o.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");let l=o.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");let c=[{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 e of c){let t=o.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),l.appendChild(t)}let u=o.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"fill",this._color);let h=o.createNS("http://www.w3.org/2000/svg","path");h.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"),u.appendChild(h);let f=o.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"opacity","0.25"),f.setAttributeNS(null,"fill","#000000");let p=o.createNS("http://www.w3.org/2000/svg","path");p.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"),f.appendChild(p);let d=o.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");let m=o.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");let g=o.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");let y=o.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(f),s.appendChild(d),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",i*this._scale+"px"),this._element.appendChild(r),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()})),Gi(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.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),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var r,n;if(null===(r=this._map)||void 0===r||!r.terrain)return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;!(null===(n=this._popup)||void 0===n)&&n.isOpen()&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(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(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let Zi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Yi=0,Xi=!1,$i={maxWidth:100,unit:"metric"};function Ki(e,t,r){let n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){let r=3.2808*s;r>5280?Ji(t,n,r/5280,e._getUIString("ScaleControl.Miles")):Ji(t,n,r,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ji(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ji(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):Ji(t,n,s,e._getUIString("ScaleControl.Meters"))}function Ji(e,t,r,n){let i=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r),t*r}(r);e.style.width=t*(i/r)+"px",e.innerHTML=`${i} ${n}`}let Qi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},ea=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ta(e){if(e){if("number"==typeof e){let r=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(r,r),"top-right":new t.P(-r,r),bottom:new t.P(0,-e),"bottom-left":new t.P(r,-r),"bottom-right":new t.P(-r,-r),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let r=t.P.convert(e);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e["top-left"]||[0,0]),"top-right":t.P.convert(e["top-right"]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e["bottom-left"]||[0,0]),"bottom-right":t.P.convert(e["bottom-right"]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return ta(new t.P(0,0))}let ra=r;e.AJAXError=t.bh,e.Evented=t.E,e.LngLat=t.N,e.MercatorCoordinate=t.Z,e.Point=t.P,e.addProtocol=t.bi,e.config=t.a,e.removeProtocol=t.bj,e.AttributionControl=Si,e.BoxZoomHandler=Vn,e.CanvasSource=re,e.CooperativeGesturesHandler=_i,e.DoubleClickZoomHandler=di,e.DragPanHandler=yi,e.DragRotateHandler=vi,e.EdgeInsets=Tn,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null!==(e=t?.shadowRoot)&&void 0!==e&&e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.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(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=o.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);o.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_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 t.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.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()}},e.GeoJSONSource=J,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,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&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let r=new t.N(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=Z.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let r=new t.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.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=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.code){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 e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Xi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o.create("button","maplibregl-ctrl-geolocate",this._container),o.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Wi({element:this._dotElement}),this._circleElement=o.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new t.k("trackuserlocationend")),this.fire(new t.k("userlocationlostfocus")))}))}},this.options=t.e({},Zi,e)}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(void 0!==Ri&&!e)return Ri;if(void 0===window.navigator.permissions)return Ri=!!window.navigator.geolocation,Ri;try{Ri="denied"!==(yield window.navigator.permissions.query({name:"geolocation"})).state}catch{Ri=!!window.navigator.geolocation}return Ri}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(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,Yi=0,Xi=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.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 e=this._map.getBounds(),t=e.getSouthEast(),r=e.getNorthEast(),n=t.distanceTo(r),i=Math.ceil(this._accuracy/(n/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}px`}trigger(){if(!this._setup)return t.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 t.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Yi--,Xi=!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 t.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 t.k("trackuserlocationstart")),this.fire(new t.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("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Yi++,Yi>1?(e={maximumAge:6e5,timeout:0},Xi=!0):(e=this.options.positionOptions,Xi=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}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)}},e.Hash=Sn,e.ImageSource=ee,e.KeyboardHandler=ui,e.LngLatBounds=Z,e.LogoControl=Ei,e.Map=class extends Ai{constructor(e){t.bf.mark(t.bg.create);let r=Object.assign(Object.assign({},ji),e);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new An(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},Fi),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new d(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.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<"u"){addEventListener("online",this._onWindowOnline,!1);let e=!1,t=Mn((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50);this._resizeObserver=new ResizeObserver((r=>{e?t(r):e=!0})),this._resizeObserver.observe(this._container)}this.handlers=new ki(this,r),this._hash=r.hash&&new Sn("string"==typeof r.hash&&r.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,t.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Si("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ei,r.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.k("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let n=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,r,n)}resize(e){var r;let n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,t),this.painter.resize(i,a,t)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>r?r/a:1,o>n?n/o:1)*i}getPixelRatio(){var e;return null!==(e=this._overridePixelRatio)&&void 0!==e?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(Z.convert(e)),this._update()}setMinZoom(e){if((e=e??-2)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=e??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.N.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null===(e=this.handlers)||void 0===e?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null===(e=this.handlers)||void 0===e?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null===(e=this.handlers)||void 0===e?void 0:e.isRotating())}_createDelegatedListener(e,t,r){if("mouseenter"===e||"mouseover"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[];o.length?n||(n=!0,r.call(this,new Rn(e,this,i.originalEvent,{features:o}))):n=!1},mouseout:()=>{n=!1}}}}if("mouseleave"===e||"mouseout"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[]).length?n=!0:n&&(n=!1,r.call(this,new Rn(e,this,i.originalEvent)))},mouseout:t=>{n&&(n=!1,r.call(this,new Rn(e,this,t.originalEvent)))}}}}{let n=e=>{let n=t.filter((e=>this.getLayer(e))),i=0!==n.length?this.queryRenderedFeatures(e.point,{layers:n}):[];i.length&&(e.features=i,r.call(this,e),delete e.features)};return{layers:t,listener:r,delegates:{[e]:n}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,r){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let n=this._delegatedListeners[e];for(let e=0;et.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);return void n.splice(e,1)}}}on(e,t,r){if(void 0===r)return super.on(e,t);let n=this._createDelegatedListener(e,"string"==typeof t?[t]:t,r);this._saveDelegatedListener(e,n);for(let e in n.delegates)this.on(e,n.delegates[e]);return this}once(e,t,r){if(void 0===r)return super.once(e,t);let n="string"==typeof t?[t]:t,i=this._createDelegatedListener(e,n,r);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,n,r),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,r){return void 0===r?super.off(e,t):(this._removeDelegatedListener(e,"string"==typeof t?[t]:t,r),this)}queryRenderedFeatures(e,r){if(!this.style)return[];let n,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(r=r||(i?{}:e)||{},a instanceof t.P||"number"==typeof a[0])n=[t.P.convert(a)];else{let e=t.P.convert(a[0]),r=t.P.convert(a[1]);n=[e,new t.P(r.x,e.y),r,new t.P(e.x,r.y),e]}return this.style.queryRenderedFeatures(n,r,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,r){return!1!==(r=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw new Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",(()=>this._updateStyle(e,t)));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new pt(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new pt(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,r){if("string"==typeof e){let n=this._requestManager.transformRequest(e,"Style");t.h(n,new AbortController).then((e=>{this._updateDiff(e.data,r)})).catch((e=>{e&&this.fire(new t.j(e))}))}else"object"==typeof e&&this._updateDiff(e,r)}_updateDiff(e,r){try{this.style.setState(e,r)&&this._update(!0)}catch(n){t.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,r)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w("There is no style added to the map.")}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.j(new Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let r=this.style.sourceCaches[e.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);null===this.terrain&&r.reload();for(let r in this.style._layers){let n=this.style._layers[r];"hillshade"===n.type&&n.source===e.source&&t.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 Pi(this.painter,r,e),this.painter.renderToTexture=new Oi(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=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.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(t.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 t.k("terrain",{terrain:e})),this}getTerrain(){var e,t;return null!==(t=null===(e=this.terrain)||void 0===e?void 0:e.options)&&void 0!==t?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let r=e[t]._tiles;for(let e in r){let t=r[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,r,n={}){let{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;if(this._lazyInitEmptyStyle(),!(r instanceof HTMLImageElement||t.b(r))){if(void 0===r.width||void 0===r.height)return this.fire(new t.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:n,height:a,data:f}=r,p=r;return this.style.addImage(e,{data:new t.R({width:n,height:a},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e),this}}{let{width:n,height:f,data:p}=a.getImageData(r);this.style.addImage(e,{data:new t.R({width:n,height:f},p),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(e,r){let n=this.style.getImage(e);if(!n)return this.fire(new t.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let i=r instanceof HTMLImageElement||t.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)return this.fire(new t.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(o!==n.data.width||s!==n.data.height)return this.fire(new t.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let c=!(r instanceof HTMLImageElement||t.b(r));return n.data.replace(l,c),this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return p.getImage(this._requestManager.transformRequest(e,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,r){return this.style.setLayerZoomRange(e,t,r),this._update(!0)}setFilter(e,t,r={}){return this.style.setFilter(e,t,r),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,r,n={}){return this.style.setPaintProperty(e,t,r,n),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,r,n={}){return this.style.setLayoutProperty(e,t,r,n),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,r,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e){return this._lazyInitEmptyStyle(),this.style.setSky(e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=o.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=o.create("canvas","maplibregl-canvas",t),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 r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);let i=this._controlContainer=o.create("div","maplibregl-control-container",e),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{a[e]=o.create("div",`maplibregl-ctrl-${e} `,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,r){this._canvas.width=Math.floor(r*e),this._canvas.height=Math.floor(r*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",(r=>{t={requestedAttributes:e},r&&(t.statusMessage=r.statusMessage,t.type=r.type)}),{once:!0});let r=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!r){let e="Failed to initialize WebGL";throw t?(t.message=e,new Error(JSON.stringify(t))):new Error(e)}this.painter=new _n(r,this.transform),c.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,i=a.now();this.style.zoomHistory.update(e,i);let o=new t.z(e,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}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,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new t.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bf.mark(t.bg.load),this.fire(new t.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||i||(this._fullyLoaded=!0,t.bf.mark(t.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var e;this._hash&&this._hash.remove();for(let e of this._controls)e.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<"u"&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();let r=this.painter.context.gl.getExtension("WEBGL_lose_context");r?.loseContext&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),o.remove(this._canvasContainer),o.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),t.bf.clearMetrics(),this._removed=!0,this.fire(new t.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((e=>{t.bf.frame(e),this._frameRequest=null,this._render(e)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return Bi}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=Rn,e.MapTouchEvent=Fn,e.MapWheelEvent=Bn,e.Marker=Wi,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),r=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{let e=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=e},this._setButtonTitle=(e,t)=>{let r=this._map._getUIString(`NavigationControl.${t}`);e.title=r,e.setAttribute("aria-label",r)},this.options=t.e({},Ui,e),this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(e=>this._map.zoomIn({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(e=>this._map.zoomOut({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=o.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,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 Vi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.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(e,t){let r=o.create("button",e,this._container);return r.type="button",r.addEventListener("click",t),r}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(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),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new t.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var t;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=o.create("div","maplibregl-popup",this._map.getContainer()),this._tip=o.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);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?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.wrap(),this._trackPointer&&!e)return;let r=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let n=this.options.anchor,i=ta(this.options.offset);if(!n){let e,t=this._container.offsetWidth,a=this._container.offsetHeight;e=r.y+i.bottom.ythis._map.transform.height-a?["bottom"]:[],r.xthis._map.transform.width-t/2&&e.push("right"),n=0===e.length?"bottom":e.join("-")}let a=r.add(i[n]);this.options.subpixelPositioning||(a=a.round()),o.setTransform(this._container,`${Hi[n]} translate(${a.x}px,${a.y}px)`),Gi(this._container,n,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Qi),e)}addTo(e){return this._map&&this.remove(),this._map=e,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 t.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),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(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t,r=document.createDocumentFragment(),n=document.createElement("body");for(n.innerHTML=e;t=n.firstChild,t;)r.appendChild(t);return this.setDOMContent(r)}getMaxWidth(){var e;return null===(e=this._container)||void 0===e?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.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 e=this._container.querySelector(ea);e&&e.focus()}},e.RasterDEMTileSource=K,e.RasterTileSource=$,e.ScaleControl=class{constructor(e){this._onMove=()=>{Ki(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Ki(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},$i),e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=pi,e.Style=pt,e.TerrainControl=class{constructor(e){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=e}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=o.create("button","maplibregl-ctrl-terrain",this._container),o.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(){o.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=li,e.TwoFingersTouchRotateHandler=oi,e.TwoFingersTouchZoomHandler=ii,e.TwoFingersTouchZoomRotateHandler=xi,e.VectorTileSource=X,e.VideoSource=te,e.addSourceType=(e,r)=>t._(void 0,void 0,void 0,(function*(){if(ie(e))throw new Error(`A source type called "${e}" already exists.`);var t;t=r,ne[e]=t})),e.clearPrewarmedResources=function(){let e=F;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(O),F=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()"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return le().getRTLTextPluginStatus()},e.getVersion=function(){return ra},e.getWorkerCount=function(){return R.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return V().broadcast("IS",e)},e.prewarm=function(){N().acquire(O)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return le().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){R.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}})),e},"object"==typeof e&&typeof t<"u"?t.exports=n():(r=typeof globalThis<"u"?globalThis:r||self).maplibregl=n()}}),kb=m({"src/plots/map/layers.js"(e,t){var r=ct(),n=Et().sanitizeHTML,i=yb(),a=hb();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.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,l(e)){var r=function(e){var t,r=e.sourcetype,i=e.source,a={type:r};return"geojson"===r?t="data":"vector"===r?t="string"==typeof i?"url":"tiles":"raster"===r?(t="tiles",a.tileSize=256):"image"===r&&(t="url",a.coordinates=e.coordinates),a[t]=i,e.sourceattribution&&(a.attribution=n(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},s.findFollowingMapLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t=this,r=t.map,i=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(c)};var l=t.dragOptions;t.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:t.div,gd:i,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),h(o)||u(o)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){f(e,r,n,t.dragOptions,o)},s.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))}function c(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},x.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])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;tx/2){var _=m.split("|").join("
");y.text(_).attr("data-unformatted",_).call(l.convertToTspans,e),v=s.bBox(y.node())}y.attr("transform",r(-3,8-v.height)),g.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 b=1;v.width+6>x&&(b=x/(v.width+6));var w=[c.l+c.w*p.x[1],c.t+c.h*(1-p.y[0])];g.attr("transform",r(w[0],w[1])+n(b))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[u],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),Db=m({"src/traces/choroplethmap/index.js"(e,t){t.exports={attributes:Ib(),supplyDefaults:Lb(),colorbar:Vo(),calc:Ng(),plot:zb(),hoverPoints:qg(),eventData:Hg(),selectPoints:Gg(),styleOnSelect:function(e,t){t&&t[0].trace._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("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(t),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),Ub=m({"src/traces/densitymap/hover.js"(e,t){var r=ar(),n=_b().hoverPoints,i=_b().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),Vb=m({"src/traces/densitymap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),qb=m({"src/traces/densitymap/index.js"(e,t){t.exports={attributes:Rb(),supplyDefaults:Fb(),colorbar:Vo(),formatLabels:gb(),calc:Bb(),plot:Nb(),hoverPoints:Ub(),eventData:Vb(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n0;){t=c[c.length-1];var p=e[t];if(a[t]=0&&s[t].push(o[m])}a[t]=d}else{if(n[t]===r[t]){var g=[],y=[],v=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===t){l.length=d;break}}h.push(g);var _=new Array(v);for(d=0;dx&&(x=l.source[t]),l.target[t]>x&&(x=l.target[t]);var _=x+1;e.node._count=_;var b,w=e.node.groups,T={};for(t=0;t0&&o(C,_)&&o(I,_)&&(!T.hasOwnProperty(C)||!T.hasOwnProperty(I)||T[C]!==T[I])){T.hasOwnProperty(I)&&(I=T[I]),T.hasOwnProperty(C)&&(C=T[C]),I=+I,p[C=+C]=p[I]=!0;var L="";l.label&&l.label[t]&&(L=l.label[t]);var P=null;L&&d.hasOwnProperty(L)&&(P=d[L]),c.push({pointNumber:t,label:L,color:u?l.color[t]:l.color,hovercolor:h?l.hovercolor[t]:l.hovercolor,customdata:f?l.customdata[t]:l.customdata,concentrationscale:P,source:C,target:I,value:+E}),S.source.push(C),S.target.push(I)}}var z=_+w.length,D=a(i.color),O=a(i.customdata),R=[];for(t=0;t_-1,childrenNodes:[],pointNumber:t,label:F,color:D?i.color[t]:i.color,customdata:O?i.customdata[t]:i.customdata})}var B=!1;return function(e,t,i){for(var a=n.init2dArray(e,0),o=0;o1}))}(z,S.source,S.target)&&(B=!0),{circular:B,links:c,nodes:R,groups:w,groupLookup:T}}(t);return i({circular:l.circular,_nodes:l.nodes,_links:l.links,_groups:l.groups,_groupLookup:l.groupLookup})}}}),Xb=m({"node_modules/d3-quadtree/dist/d3-quadtree.js"(e,t){var r,n;r=e,n=function(e){function t(e,t,r,n){if(isNaN(t)||isNaN(r))return e;var i,a,o,s,l,c,u,h,f,p=e._root,d={data:n},m=e._x0,g=e._y0,y=e._x1,v=e._y1;if(!p)return e._root=d,e;for(;p.length;)if((c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[h]=d,e;if(s=+e._x.call(null,p.data),l=+e._y.call(null,p.data),t===s&&r===l)return d.next=p,i?i[h]=d:e._root=d,e;do{i=i?i[h]=new Array(4):e._root=new Array(4),(c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,e}function r(e,t,r,n,i){this.node=e,this.x0=t,this.y0=r,this.x1=n,this.y1=i}function n(e){return e[0]}function i(e){return e[1]}function a(e,t,r){var a=new o(t??n,r??i,NaN,NaN,NaN,NaN);return null==e?a:a.addAll(e)}function o(e,t,r,n,i,a){this._x=e,this._y=t,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(e){for(var t={data:e.data},r=t;e=e.next;)r=r.next={data:e.data};return t}var l=a.prototype=o.prototype;l.copy=function(){var e,t,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(e=[{source:n,target:r._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(t=n.source[i])&&(t.length?e.push({source:t,target:n.target[i]=new Array(4)}):n.target[i]=s(t));return r},l.add=function(e){var r=+this._x.call(null,e),n=+this._y.call(null,e);return t(this.cover(r,n),r,n,e)},l.addAll=function(e){var r,n,i,a,o=e.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;nh&&(h=i),af&&(f=a));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),n=0;ne||e>=i||n>t||t>=a;)switch(s=(tp||(o=c.y0)>d||(s=c.x1)=v)<<1|e>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=e-+this._x.call(null,g.data),_=t-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,t=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(t[h+1&3]||t[h+2&3]||t[h+3&3])&&(r=t,f=h)}for(;p.data!==e;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):t?(i?t[h]=i:delete t[h],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(e){for(var t=0,r=e.length;t=l.length)return null!=e&&r.sort(e),null!=t?t(r):r;for(var s,c,h,f=-1,p=r.length,d=l[i++],m=n(),g=a();++fl.length)return e;var n,i=c[r-1];return null!=t&&r>=l.length?n=e.entries():(n=[],e.each((function(e,t){n.push({key:t,values:h(e,r)})}))),null!=i?n.sort((function(e,t){return i(e.key,t.key)})):n}return r={object:function(e){return u(e,0,i,a)},map:function(e){return u(e,0,o,s)},entries:function(e){return h(u(e,0,o,s),0)},key:function(e){return l.push(e),r},sortKeys:function(e){return c[l.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}},e.set=u,e.map=n,e.keys=function(e){var t=[];for(var r in e)t.push(r);return t},e.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},e.entries=function(e){var t=[];for(var r in e)t.push({key:r,value:e[r]});return t},Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&typeof t<"u"?e:r.d3=r.d3||{})}}),Kb=m({"node_modules/d3-dispatch/dist/d3-dispatch.js"(e,t){var r,n;r=e,n=function(e){var t={value:function(){}};function r(){for(var e,t=0,r=arguments.length,i={};t=0&&(r=e.slice(n+1),e=e.slice(0,n)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}(e+"",n),s=-1,l=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++s0)for(var r,n,i=new Array(r),a=0;a=0&&r._call.call(null,e),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){for(var e,n,i=t,a=1/0;i;)i._call?(a>i._time&&(a=i._time),e=i,i=i._next):(n=i._next,i._next=null,i=e?e._next=n:t=n);r=e,v(a)}(),s=0}}function y(){var e=c.now(),t=e-o;t>1e3&&(l-=t,o=e)}function v(e){n||(i&&(i=clearTimeout(i)),e-s>24?(e<1/0&&(i=setTimeout(g,e-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(y,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(e,n,i){if("function"!=typeof e)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),!this._next&&r!==this&&(r?r._next=this:t=this,r=this),this._call=e,this._time=i,v()},stop:function(){this._call&&(this._call=null,this._time=1/0,v())}},e.interval=function(e,t,r){var n=new p,i=t;return null==t?(n.restart(e,t,r),n):(t=+t,r=null==r?h():+r,n.restart((function a(o){o+=i,n.restart(a,i+=t,r),e(o)}),t,r),n)},e.now=h,e.timeout=function(e,t,r){var n=new p;return t=null==t?0:+t,n.restart((function(r){n.stop(),e(r+t)}),t,r),n},e.timer=d,e.timerFlush=m,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),Qb=m({"node_modules/d3-force/dist/d3-force.js"(e,t){var r,n;r=e,n=function(e,t,r,n,i){function a(e){return function(){return e}}function o(){return 1e-6*(Math.random()-.5)}function s(e){return e.x+e.vx}function l(e){return e.y+e.vy}function c(e){return e.index}function u(e,t){var r=e.get(t);if(!r)throw new Error("missing: "+t);return r}function h(e){return e.x}function f(e){return e.y}var p=Math.PI*(3-Math.sqrt(5));e.forceCenter=function(e,t){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;nf+c||np+c||au.index){var h=f-s.x-s.vx,g=p-s.y-s.vy,y=h*h+g*g;ye.r&&(e.r=e[t].r)}function f(){if(r){var t,i,a=r.length;for(n=new Array(a),t=0;t=c)){(e.data!==r||e.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d1?(null==r?u.remove(e):u.set(e,y(r)),t):u.get(e)},find:function(t,r,n){var i,a,o,s,l,c=0,u=e.length;for(null==n?n=1/0:n*=n,c=0;c1?(f.on(e,r),t):f.on(e)}}},e.forceX=function(e){var t,r,n,i=a(.1);function o(e){for(var i,a=0,o=t.length;an)if(Math.abs(f*c-u*h)>n&&o){var d=i-s,m=a-l,g=c*c+u*u,y=d*d+m*m,v=Math.sqrt(g),x=Math.sqrt(p),_=o*Math.tan((t-Math.acos((g+p-y)/(2*v*x)))/2),b=_/x,w=_/v;Math.abs(b-1)>n&&(this._+="L"+(e+b*h)+","+(r+b*f)),this._+="A"+o+","+o+",0,0,"+ +(f*d>h*m)+","+(this._x1=e+w*c)+","+(this._y1=r+w*u)}else this._+="L"+(this._x1=e)+","+(this._y1=r)},arc:function(e,a,o,s,l,c){e=+e,a=+a,c=!!c;var u=(o=+o)*Math.cos(s),h=o*Math.sin(s),f=e+u,p=a+h,d=1^c,m=c?s-l:l-s;if(o<0)throw new Error("negative radius: "+o);null===this._x1?this._+="M"+f+","+p:(Math.abs(this._x1-f)>n||Math.abs(this._y1-p)>n)&&(this._+="L"+f+","+p),o&&(m<0&&(m=m%r+r),m>i?this._+="A"+o+","+o+",0,1,"+d+","+(e-u)+","+(a-h)+"A"+o+","+o+",0,1,"+d+","+(this._x1=f)+","+(this._y1=p):m>n&&(this._+="A"+o+","+o+",0,"+ +(m>=t)+","+d+","+(this._x1=e+o*Math.cos(l))+","+(this._y1=a+o*Math.sin(l))))},rect:function(e,t,r,n){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),tw=m({"node_modules/d3-shape/dist/d3-shape.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){return function(){return e}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(e){return e>=1?f:e<=-1?-f:Math.asin(e)}function m(e){return e.innerRadius}function g(e){return e.outerRadius}function y(e){return e.startAngle}function v(e){return e.endAngle}function x(e){return e&&e.padAngle}function _(e,t,r,n,i,a,s){var l=e-r,u=t-n,h=(s?a:-a)/c(l*l+u*u),f=h*u,p=-h*l,d=e+f,m=t+p,g=r+f,y=n+p,v=(d+g)/2,x=(m+y)/2,_=g-d,b=y-m,w=_*_+b*b,T=i-a,k=d*y-g*m,A=(b<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*b-_*A)/w,S=(-k*_-b*A)/w,E=(k*b+_*A)/w,C=(-k*_+b*A)/w,I=M-v,L=S-x,P=E-v,z=C-x;return I*I+L*L>P*P+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function b(e){this._context=e}function w(e){return new b(e)}function T(e){return e[0]}function k(e){return e[1]}function A(){var e=T,n=k,i=r(!0),a=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==a&&(s=o(u=t.path())),l=0;l<=h;++l)!(l=h;--f)c.point(y[f],v[f]);c.lineEnd(),c.areaEnd()}g&&(y[u]=+e(p,u,r),v[u]=+i(p,u,r),c.point(n?+n(p,u,r):y[u],a?+a(p,u,r):v[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),n=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),u):e},u.x1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:r(+e),u):n},u.y=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),a=null,u):i},u.y0=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),u):i},u.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:r(+e),u):a},u.lineX0=u.lineY0=function(){return h().x(e).y(i)},u.lineY1=function(){return h().x(e).y(a)},u.lineX1=function(){return h().x(n).y(i)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:r(!!e),u):o},u.curve=function(e){return arguments.length?(l=e,null!=s&&(c=l(s)),u):l},u.context=function(e){return arguments.length?(null==e?s=c=null:c=l(s=e),u):s},u}function S(e,t){return te?1:t>=e?0:NaN}function E(e){return e}b.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var C=L(w);function I(e){this._curve=e}function L(e){function t(t){return new I(e(t))}return t._curve=e,t}function P(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function z(){return P(A().curve(C))}function D(){var e=M().curve(C),t=e.curve,r=e.lineX0,n=e.lineX1,i=e.lineY0,a=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return P(r())},delete e.lineX0,e.lineEndAngle=function(){return P(n())},delete e.lineX1,e.lineInnerRadius=function(){return P(i())},delete e.lineY0,e.lineOuterRadius=function(){return P(a())},delete e.lineY1,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function O(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}I.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var R=Array.prototype.slice;function F(e){return e.source}function B(e){return e.target}function j(e){var n=F,i=B,a=T,o=k,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=t.path()),e(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(e){return arguments.length?(n=e,l):n},l.target=function(e){return arguments.length?(i=e,l):i},l.x=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),l):a},l.y=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}function N(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t=(t+n)/2,r,t,i,n,i)}function U(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+i)/2,n,r,n,i)}function V(e,t,r,n,i){var a=O(t,r),o=O(t,r=(r+i)/2),s=O(n,r),l=O(n,i);e.moveTo(a[0],a[1]),e.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(e,t){var r=Math.sqrt(t/h);e.moveTo(r,0),e.arc(0,0,r,0,p)}},H={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},G=Math.sqrt(1/3),W=2*G,Z={draw:function(e,t){var r=Math.sqrt(t/W),n=r*G;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},Y=Math.sin(h/10)/Math.sin(7*h/10),X=Math.sin(p/10)*Y,$=-Math.cos(p/10)*Y,K={draw:function(e,t){var r=Math.sqrt(.8908130915292852*t),n=X*r,i=$*r;e.moveTo(0,-r),e.lineTo(n,i);for(var a=1;a<5;++a){var o=p*a/5,s=Math.cos(o),l=Math.sin(o);e.lineTo(l*r,-s*r),e.lineTo(s*n-l*i,l*n+s*i)}e.closePath()}},J={draw:function(e,t){var r=Math.sqrt(t),n=-r/2;e.rect(n,n,r,r)}},Q=Math.sqrt(3),ee={draw:function(e,t){var r=-Math.sqrt(t/(3*Q));e.moveTo(0,2*r),e.lineTo(-Q*r,-r),e.lineTo(Q*r,-r),e.closePath()}},te=-.5,re=Math.sqrt(3)/2,ne=1/Math.sqrt(12),ie=3*(ne/2+1),ae={draw:function(e,t){var r=Math.sqrt(t/ie),n=r/2,i=r*ne,a=n,o=r*ne+r,s=-a,l=o;e.moveTo(n,i),e.lineTo(a,o),e.lineTo(s,l),e.lineTo(te*n-re*i,re*n+te*i),e.lineTo(te*a-re*o,re*a+te*o),e.lineTo(te*s-re*l,re*s+te*l),e.lineTo(te*n+re*i,te*i-re*n),e.lineTo(te*a+re*o,te*o-re*a),e.lineTo(te*s+re*l,te*l-re*s),e.closePath()}},oe=[q,H,Z,J,K,ee,ae];function se(){}function le(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function ce(e){this._context=e}function ue(e){this._context=e}function he(e){this._context=e}function fe(e,t){this._basis=new ce(e),this._beta=t}ce.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:le(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);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:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ue.prototype={areaStart:se,areaEnd:se,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)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},he.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},fe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var n,i=e[0],a=t[0],o=e[r]-i,s=t[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*e[l]+(1-this._beta)*(i+n*o),this._beta*t[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var pe=function e(t){function r(e){return 1===t?new ce(e):new fe(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function de(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function me(e,t){this._context=e,this._k=(1-t)/6}me.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:de(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ge=function e(t){function r(e){return new me(e,t)}return r.tension=function(t){return e(+t)},r}(0);function ye(e,t){this._context=e,this._k=(1-t)/6}ye.prototype={areaStart:se,areaEnd:se,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)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ve=function e(t){function r(e){return new ye(e,t)}return r.tension=function(t){return e(+t)},r}(0);function xe(e,t){this._context=e,this._k=(1-t)/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(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,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:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var _e=function e(t){function r(e){return new xe(e,t)}return r.tension=function(t){return e(+t)},r}(0);function be(e,t,r){var n=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>u){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>u){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,h=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*c+e._x1*e._l23_2a-t*e._l12_2a)/h,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/h}e._context.bezierCurveTo(n,i,a,o,e._x2,e._y2)}function we(e,t){this._context=e,this._alpha=t}we.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)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Te=function e(t){function r(e){return t?new we(e,t):new me(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function ke(e,t){this._context=e,this._alpha=t}ke.prototype={areaStart:se,areaEnd:se,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)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ae=function e(t){function r(e){return t?new ke(e,t):new ye(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Me(e,t){this._context=e,this._alpha=t}Me.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Se=function e(t){function r(e){return t?new Me(e,t):new xe(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Ee(e){this._context=e}function Ce(e){return e<0?-1:1}function Ie(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ce(a)+Ce(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Le(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Pe(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-n)/3;e._context.bezierCurveTo(n+s,i+s*t,a-s,o-s*r,a,o)}function ze(e){this._context=e}function De(e){this._context=new Oe(e)}function Oe(e){this._context=e}function Re(e){this._context=e}function Fe(e){var t,r,n=e.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t1)for(var r,n,i,a=1,o=e[t[0]],s=o.length;a=0;)r[t]=t;return r}function Ue(e,t){return e[t]}function Ve(e){var t=e.map(qe);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function qe(e){for(var t,r=-1,n=0,i=e.length,a=-1/0;++ra&&(a=t,n=r);return n}function He(e){var t=e.map(Ge);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function Ge(e){for(var t,r=0,n=-1,i=e.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}},e.arc=function(){var e=m,o=g,b=r(0),w=null,T=y,k=v,A=x,M=null;function S(){var r,m,g=+e.apply(this,arguments),y=+o.apply(this,arguments),v=T.apply(this,arguments)-f,x=k.apply(this,arguments)-f,S=n(x-v),E=x>v;if(M||(M=r=t.path()),yu)if(S>p-u)M.moveTo(y*a(v),y*l(v)),M.arc(0,0,y,v,x,!E),g>u&&(M.moveTo(g*a(x),g*l(x)),M.arc(0,0,g,x,v,E));else{var C,I,L=v,P=x,z=v,D=x,O=S,R=S,F=A.apply(this,arguments)/2,B=F>u&&(w?+w.apply(this,arguments):c(g*g+y*y)),j=s(n(y-g)/2,+b.apply(this,arguments)),N=j,U=j;if(B>u){var V=d(B/g*l(F)),q=d(B/y*l(F));(O-=2*V)>u?(z+=V*=E?1:-1,D-=V):(O=0,z=D=(v+x)/2),(R-=2*q)>u?(L+=q*=E?1:-1,P-=q):(R=0,L=P=(v+x)/2)}var H=y*a(L),G=y*l(L),W=g*a(D),Z=g*l(D);if(j>u){var Y,X=y*a(P),$=y*l(P),K=g*a(z),J=g*l(z);if(S1?0:e<-1?h:Math.acos(e)}((Q*te+ee*re)/(c(Q*Q+ee*ee)*c(te*te+re*re)))/2),ie=c(Y[0]*Y[0]+Y[1]*Y[1]);N=s(j,(g-ie)/(ne-1)),U=s(j,(y-ie)/(ne+1))}}R>u?U>u?(C=_(K,J,H,G,y,U,E),I=_(X,$,W,Z,y,U,E),M.moveTo(C.cx+C.x01,C.cy+C.y01),Uu&&O>u?N>u?(C=_(W,Z,X,$,g,-N,E),I=_(H,G,K,J,g,-N,E),M.lineTo(C.cx+C.x01,C.cy+C.y01),N0&&(d+=h);for(null!=t?m.sort((function(e,r){return t(g[e],g[r])})):null!=n&&m.sort((function(e,t){return n(r[e],r[t])})),s=0,c=d?(v-f*_)/d:0;s0?h*c:0)+_,g[l]={data:r[l],index:s,value:h,startAngle:y,endAngle:u,padAngle:x};return g}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),s):i},s.endAngle=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),s):a},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),s):o},s},e.pointRadial=O,e.radialArea=D,e.radialLine=z,e.stack=function(){var e=r([]),t=Ne,n=je,i=Ue;function a(r){var a,o,s=e.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=e[t[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},e.stackOffsetExpand=function(e,t){if((n=e.length)>0){for(var r,n,i,a=0,o=e[0].length;a0){for(var r,n=0,i=e[t[0]],a=i.length;n0&&(n=(r=e[t[0]]).length)>0){for(var r,n,i,a=0,o=1;oa&&(_=a);var o=t.min(i,(function(e){return(v-n-(e.length-1)*_)/t.sum(e,u)}));i.forEach((function(e){e.forEach((function(e,t){e.y1=(e.y0=t)+e.value*o}))})),e.links.forEach((function(e){e.width=e.value*o}))})(),d();for(var a=1,o=A;o>0;--o)l(a*=.99),d(),s(a),d();function s(e){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(t.sum(r.targetLinks,f)/t.sum(r.targetLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}}))}))}function l(e){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(t.sum(r.sourceLinks,p)/t.sum(r.sourceLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(e){var t,r,i,a=n,o=e.length;for(e.sort(c),i=0;i0&&(t.y0+=r,t.y1+=r),a=t.y1+_;if((r=a-_-v)>0)for(a=t.y0-=r,t.y1-=r,i=o-2;i>=0;--i)(r=(t=e[i]).y1+_-a)>0&&(t.y0-=r,t.y1-=r),a=t.y0}))}}(a),E(a),a}function E(e){e.nodes.forEach((function(e){e.sourceLinks.sort(l),e.targetLinks.sort(s)})),e.nodes.forEach((function(e){var t=e.y0,r=t;e.sourceLinks.forEach((function(e){e.y0=t+e.width/2,t+=e.width})),e.targetLinks.forEach((function(e){e.y1=r+e.width/2,r+=e.width}))}))}return S.update=function(e){return E(e),e},S.nodeId=function(e){return arguments.length?(b="function"==typeof e?e:o(e),S):b},S.nodeAlign=function(e){return arguments.length?(w="function"==typeof e?e:o(e),S):w},S.nodeWidth=function(e){return arguments.length?(x=+e,S):x},S.nodePadding=function(e){return arguments.length?(_=+e,S):_},S.nodes=function(e){return arguments.length?(T="function"==typeof e?e:o(e),S):T},S.links=function(e){return arguments.length?(k="function"==typeof e?e:o(e),S):k},S.size=function(t){return arguments.length?(e=n=0,i=+t[0],v=+t[1],S):[i-e,v-n]},S.extent=function(t){return arguments.length?(e=+t[0][0],i=+t[1][0],n=+t[0][1],v=+t[1][1],S):[[e,n],[i,v]]},S.iterations=function(e){return arguments.length?(A=+e,S):A},S},e.sankeyCenter=function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?t.min(e.sourceLinks,i)-1:0},e.sankeyLeft=function(e){return e.depth},e.sankeyRight=function(e,t){return t-1-e.height},e.sankeyJustify=a,e.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(v).target(x)},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Eg(),$b(),tw()):n(r.d3=r.d3||{},r.d3,r.d3,r.d3)}}),nw=m({"node_modules/elementary-circuits-directed-graph/johnson.js"(e,t){var r=Zb();t.exports=function(e,t){var n,i=[],a=[],o=[],s={},l=[];function c(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(t){delete s[e][t],o[t]&&c(t)}))}function u(e){var t,r,i=!1;for(a.push(e),o[e]=!0,t=0;t=t}))}(t);for(var n,i=r(e).components.filter((function(e){return e.length>1})),a=1/0,o=0;ot.source.column)}function M(e,t){var r=0;e.sourceLinks.forEach((function(e){r=e.circular&&!W(e,t)?r+1:r}));var n=0;return e.targetLinks.forEach((function(e){n=e.circular&&!W(e,t)?n+1:n})),r+n}function S(e){var t=e.source.sourceLinks,r=0;t.forEach((function(e){r=e.circular?r+1:r}));var n=e.target.targetLinks,i=0;return n.forEach((function(e){i=e.circular?i+1:i})),!(r>1||i>1)}function E(e,t,r){return e.sort(I),e.forEach((function(n,i){var a=0;if(W(n,r)&&S(n))n.circularPathData.verticalBuffer=a+n.width/2;else{for(var o=0;oa?s:a}n.circularPathData.verticalBuffer=a+n.width/2}})),e}function C(e,r,i,a){var o=t.min(e.links,(function(e){return e.source.y0}));e.links.forEach((function(e){e.circular&&(e.circularPathData={})})),E(e.links.filter((function(e){return"top"==e.circularLinkType})),r,a),E(e.links.filter((function(e){return"bottom"==e.circularLinkType})),r,a),e.links.forEach((function(t){if(t.circular){if(t.circularPathData.arcRadius=t.width+w,t.circularPathData.leftNodeBuffer=5,t.circularPathData.rightNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,W(t,a)&&S(t))t.circularPathData.leftSmallArcRadius=w+t.width/2,t.circularPathData.leftLargeArcRadius=w+t.width/2,t.circularPathData.rightSmallArcRadius=w+t.width/2,t.circularPathData.rightLargeArcRadius=w+t.width/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+b+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-b-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=e.links.filter((function(e){return e.source.column==s&&e.circularLinkType==l}));"bottom"==t.circularLinkType?c.sort(P):c.sort(L);var u=0;c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=w+t.width/2+u,t.circularPathData.leftLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),s=t.target.column,c=e.links.filter((function(e){return e.target.column==s&&e.circularLinkType==l})),"bottom"==t.circularLinkType?c.sort(D):c.sort(z),u=0,c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=w+t.width/2+u,t.circularPathData.rightLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(i,t.source.y1,t.target.y1)+b+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=o-b-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius)}t.circularPathData.leftInnerExtent=t.circularPathData.sourceX+t.circularPathData.leftNodeBuffer,t.circularPathData.rightInnerExtent=t.circularPathData.targetX-t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.sourceX+t.circularPathData.leftLargeArcRadius+t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.targetX-t.circularPathData.rightLargeArcRadius-t.circularPathData.rightNodeBuffer}if(t.circular)t.path=function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(t);else{var h=n.linkHorizontal().source((function(e){return[e.source.x0+(e.source.x1-e.source.x0),e.y0]})).target((function(e){return[e.target.x0,e.y1]}));t.path=h(t)}}))}function I(e,t){return O(e)==O(t)?"bottom"==e.circularLinkType?P(e,t):L(e,t):O(t)-O(e)}function L(e,t){return e.y0-t.y0}function P(e,t){return t.y0-e.y0}function z(e,t){return e.y1-t.y1}function D(e,t){return t.y1-e.y1}function O(e){return e.target.column-e.source.column}function R(e){return e.target.x0-e.source.x1}function F(e,t){var r=k(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1+n:e.y1-n}function B(e,t){var r=k(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1-n:e.y1+n}function j(e,t,r,n){e.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)e.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&go.y0&&yo.y1)&&(c=y-o.y0+10,o=U(o,c,t,r),e.nodes.forEach((function(e){_(e,n)==_(o,n)||e.column!=o.column||e.y0o.y1&&U(e,c,t,r)})))}}))}}))}function N(e,t){return e.y0>t.y0&&e.y0t.y0&&e.y1t.y1}function U(e,t,r,n){return e.y0+t>=r&&e.y1+t<=n&&(e.y0=e.y0+t,e.y1=e.y1+t,e.targetLinks.forEach((function(e){e.y1=e.y1+t})),e.sourceLinks.forEach((function(e){e.y0=e.y0+t}))),e}function V(e,t,r,n){e.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>t&&(i.y=i.y-(i.y+(i.y1-i.y0)-t));var a=e.links.filter((function(e){return _(e.source,r)==_(i,r)})),o=a.length;o>1&&a.sort((function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!H(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=B(t,e);return e.y1-r}if(t.target.column>e.target.column)return B(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(e){e.y0=s+e.width/2,s+=e.width})),a.forEach((function(e,t){if("bottom"==e.circularLinkType){for(var r=t+1,n=0;r1&&n.sort((function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!H(e,t))return e.y0-t.y0;if(t.source.column0?"up":"down"}function W(e,t){return _(e.source,t)==_(e.target,t)}e.sankeyCircular=function(){var e,n,a=0,_=0,k=1,A=1,S=24,E=g,I=o,L=y,P=v,z=32,D=2,O=null;function R(){var o={nodes:L.apply(null,arguments),links:P.apply(null,arguments)};(function(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=r.map(e.nodes,E);e.links.forEach((function(e,r){e.index=r;var n=e.source,i=e.target;"object"!==(typeof n>"u"?"undefined":l(n))&&(n=e.source=x(t,n)),"object"!==(typeof i>"u"?"undefined":l(i))&&(i=e.target=x(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)}))})(o),function(e,t,r){var n=0;if(null===r){for(var a=[],o=0;o0?r+b+w:r,bottom:n=n>0?n+b+w:n,left:a=a>0?a+b+w:a,right:i=i>0?i+b+w:i}}(i),u=function(e,r){var n=t.max(e.nodes,(function(e){return e.column})),i=k-a,o=A-_,s=i/(i+r.right+r.left),l=o/(o+r.top+r.bottom);return a=a*s+r.left,k=0==r.right?k:k*s,_=_*l+r.top,A*=l,e.nodes.forEach((function(e){e.x0=a+e.column*((k-a-S)/n),e.x1=e.x0+S})),l}(i,c);s*=u,i.links.forEach((function(e){e.width=e.value*s})),l.forEach((function(e){var t=e.length;e.forEach((function(e,n){e.depth==l.length-1&&1==t||0==e.depth&&1==t?(e.y0=A/2-e.value*s,e.y1=e.y0+e.value*s):e.partOfCycle?0==M(e,r)?(e.y0=A/2+n,e.y1=e.y0+e.value*s):"top"==e.circularLinkType?(e.y0=_+n,e.y1=e.y0+e.value*s):(e.y0=A-e.value*s-n,e.y1=e.y0+e.value*s):0==c.top||0==c.bottom?(e.y0=(A-_)/t*n,e.y1=e.y0+e.value*s):(e.y0=(A-_)/2-t/2+n,e.y1=e.y0+e.value*s)}))}))})(s),y();for(var c=1,u=o;u>0;--u)g(c*=.99,s),y();function g(e,r){var n=l.length;l.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if((i.sourceLinks.length||i.targetLinks.length)&&!(i.partOfCycle&&M(i,r)>0))if(0==o&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else{var l=t.mean(i.sourceLinks,m),c=t.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*e;i.y0+=u,i.y1+=u}}))}))}function y(){l.forEach((function(t){var r,n,i,a=_,o=t.length;for(t.sort(h),i=0;i0&&(r.y0+=n,r.y1+=n),a=r.y1+e;if((n=a-e-A)>0)for(a=r.y0-=n,r.y1-=n,i=o-2;i>=0;--i)(n=(r=t[i]).y1+e-a)>0&&(r.y0-=n,r.y1-=n),a=r.y0}))}}(o,z,E),F(o);for(var s=0;s<4;s++)V(o,A,E),q(o,0,E),j(o,_,A,E),V(o,A,E),q(o,0,E);return function(e,r,n){var i=e.nodes,a=e.links,o=!1,s=!1;if(a.forEach((function(e){"top"==e.circularLinkType?o=!0:"bottom"==e.circularLinkType&&(s=!0)})),0==o||0==s){var l=t.min(i,(function(e){return e.y0})),c=t.max(i,(function(e){return e.y1})),u=(n-r)/(c-l);i.forEach((function(e){var t=(e.y1-e.y0)*u;e.y0=(e.y0-l)*u,e.y1=e.y0+t})),a.forEach((function(e){e.y0=(e.y0-l)*u,e.y1=(e.y1-l)*u,e.width=e.width*u}))}}(o,_,A),C(o,D,A,E),o}function F(e){e.nodes.forEach((function(e){e.sourceLinks.sort(u),e.targetLinks.sort(c)})),e.nodes.forEach((function(e){var t=e.y0,r=t,n=e.y1,i=n;e.sourceLinks.forEach((function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)})),e.targetLinks.forEach((function(e){e.circular?(e.y1=i-e.width/2,i-=e.width):(e.y1=r+e.width/2,r+=e.width)}))}))}return R.nodeId=function(e){return arguments.length?(E="function"==typeof e?e:s(e),R):E},R.nodeAlign=function(e){return arguments.length?(I="function"==typeof e?e:s(e),R):I},R.nodeWidth=function(e){return arguments.length?(S=+e,R):S},R.nodePadding=function(t){return arguments.length?(e=+t,R):e},R.nodes=function(e){return arguments.length?(L="function"==typeof e?e:s(e),R):L},R.links=function(e){return arguments.length?(P="function"==typeof e?e:s(e),R):P},R.size=function(e){return arguments.length?(a=_=0,k=+e[0],A=+e[1],R):[k-a,A-_]},R.extent=function(e){return arguments.length?(a=+e[0][0],k=+e[1][0],_=+e[0][1],A=+e[1][1],R):[[a,_],[k,A]]},R.iterations=function(e){return arguments.length?(z=+e,R):z},R.circularLinkGap=function(e){return arguments.length?(D=+e,R):D},R.nodePaddingRatio=function(e){return arguments.length?(n=+e,R):n},R.sortNodes=function(e){return arguments.length?(O=e,R):O},R.update=function(e){return T(e,E),F(e),e.links.forEach((function(e){e.circular&&(e.circularLinkType=e.y0+e.y1o+d&&(a+=1,t=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=t-s.x0,s.x0+=r,s.x1+=r}return i})(x=A.nodes).forEach((function(e){var t,r,n,i=0,a=e.length;for(e.sort((function(e,t){return e.y0-t.y0})),n=0;n=i||(r=i-t.y0)>1e-6&&(t.y0+=r,t.y1+=r),i=t.y1+p}));n.update(A)}return{circular:b,key:r,trace:c,guid:h.randstr(),horizontal:f,width:g,height:v,nodePad:c.node.pad,nodeLineColor:c.node.line.color,nodeLineWidth:c.node.line.width,linkLineColor:c.link.line.color,linkLineWidth:c.link.line.width,linkArrowLength:c.link.arrowlen,valueFormat:c.valueformat,valueSuffix:c.valuesuffix,textFont:c.textfont,translateX:u.x[0]*e.width+e.margin.l,translateY:e.height-u.y[1]*e.height+e.margin.t,dragParallel:f?v:g,dragPerpendicular:f?g:v,arrangement:c.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function M(e,t,r){var n=l(t.color),i=l(t.hovercolor),a=t.source.label+"|"+t.target.label+"__"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:a,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:S,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function S(){return function(e){var t=e.linkArrowLength;if(e.link.circular)return function(e,t){var r="",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer0?" 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,r+=a&&o?" 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?" 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:" 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,r+=a&&o?" 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?" 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:" 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}(e.link,t);var r=Math.abs((e.link.target.x0-e.link.source.x1)/2);t>r&&(t=r);var i=e.link.source.x1,a=e.link.target.x0-t,o=n(i,a),s=o(.5),l=o(.5),c=e.link.y0-e.link.width/2,u=e.link.y0+e.link.width/2,h=e.link.y1-e.link.width/2,f=e.link.y1+e.link.width/2,p="M"+i+","+c,d="C"+s+","+c+" "+l+","+h+" "+a+","+h,m="C"+l+","+f+" "+s+","+u+" "+i+","+u,g=t>0?"L"+(a+t)+","+(h+e.link.width/2):"";return p+d+(g+="L"+a+","+f)+m+"Z"}}function E(e,t){var r=l(t.color),n=s.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),u="node_"+t.pointNumber;return t.group&&(u=h.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:u,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:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.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,u].join("_"),interactionState:e.interactionState,figure:e}}function C(e){e.attr("transform",(function(e){return f(e.node.x0.toFixed(3),e.node.y0.toFixed(3))}))}function I(e){e.call(C)}function L(e,t){e.call(I),t.attr("d",S())}function P(e){e.attr("width",(function(e){return e.node.x1-e.node.x0})).attr("height",(function(e){return e.visibleHeight}))}function z(e){return e.link.width>1||e.linkLineWidth>0}function D(e){return f(e.translateX,e.translateY)+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function O(e,t,r){e.on(".basic",null).on("mouseover.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.hover(this,e,t),e.interactionState.hovered=[this,e])})).on("mousemove.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.follow(this,e),e.interactionState.hovered=[this,e])})).on("mouseout.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.unhover(this,e,t),e.interactionState.hovered=!1)})).on("click.basic",(function(e){e.interactionState.hovered&&(r.unhover(this,e,t),e.interactionState.hovered=!1),!e.interactionState.dragInProgress&&!e.partOfGroup&&r.select(this,e,t)}))}function R(e,t,n,a){var o=i.behavior.drag().origin((function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}})).on("dragstart",(function(i){if("fixed"!==i.arrangement&&(h.ensureSingle(a._fullLayout._infolayer,"g","dragcover",(function(e){a._fullLayout._dragCover=e})),h.raiseToTop(this),i.interactionState.dragInProgress=i.node,j(i.node),i.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):function(e,t,n){!function(e){for(var t=0;t0&&n.forceLayouts[t].alpha(0)}}(0,t,i,n)).stop()}(0,o,i),function(e,t,r,n,i){window.requestAnimationFrame((function a(){var o;for(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,B(r,i)}}))}(e,t,i,o,a)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a)),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2),j(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),L(e.filter(N(r)),t))}})).on("dragend",(function(e){if("fixed"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;t"),color:_(l,"bgcolor")||s.addOpacity(m.color,1),borderColor:_(l,"bordercolor"),fontFamily:_(l,"font.family"),fontSize:_(l,"font.size"),fontColor:_(l,"font.color"),fontWeight:_(l,"font.weight"),fontStyle:_(l,"font.style"),fontVariant:_(l,"font.variant"),fontTextcase:_(l,"font.textcase"),fontLineposition:_(l,"font.lineposition"),fontShadow:_(l,"font.shadow"),nameLength:_(l,"namelength"),textAlign:_(l,"align"),idealAlign:r.event.x"),color:_(s,"bgcolor")||a.tinyColorHue,borderColor:_(s,"bordercolor"),fontFamily:_(s,"font.family"),fontSize:_(s,"font.size"),fontColor:_(s,"font.color"),fontWeight:_(s,"font.weight"),fontStyle:_(s,"font.style"),fontVariant:_(s,"font.variant"),fontTextcase:_(s,"font.textcase"),fontLineposition:_(s,"font.lineposition"),fontShadow:_(s,"font.shadow"),nameLength:_(s,"namelength"),textAlign:_(s,"align"),idealAlign:"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e});f(w,.85),p(w)}}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(r.select(t).call(y,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,e.emit("plotly_unhover",{event:r.event,points:[i.node]})),o.loneUnhover(n._hoverlayer.node()))},select:function(t,n,i){var a=n.node;a.originalEvent=r.event,e._hoverdata=[a],r.select(t).call(y,n,i),o.click(e,{target:!0})}}})}}}),lw=m({"src/traces/sankey/base_plot.js"(e){var t=De().overrideAll,r=Tt().getModuleCalcData,n=sw(),i=U(),a=dr(),o=pr(),s=Cn().prepSelect,l=ct(),c=He(),u="sankey";function h(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,u="pan"===n.dragmode?"move":"crosshair",h=r._bgRect;if(h&&"pan"!==i&&"zoom"!==i){a(h,u);var f={_id:"x",c2p:l.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:l.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:e,element:h.node(),plotinfo:{id:t,xaxis:f,yaxis:p,fillRangeItems:l.noop},subplot:t,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,i=e._fullData[t],a=i.node.groups.slice(),o=[];function s(e){for(var t=i._sankey.graph.nodes,r=0;r0}function k(e){e.each((function(e){y.stroke(r.select(this),e.line.color)})).each((function(e){y.fill(r.select(this),e.color)})).style("stroke-width",(function(e){return e.line.width}))}function A(e,t,r){var n=e._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),o={type:"linear",_id:"x"+t._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(e,t){return a.coerce(i,o,g,e,t)}return d(i,o,l,s,n),m(i,o,l,s),o}function M(e,t,r){return[Math.min(t/e.width,r/e.height),e,t+"x"+r]}function S(e,t,n,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=r.select(a);return o.text(e).attr("x",0).attr("y",0).attr("text-anchor",n).attr("data-unformatted",e).call(f.convertToTspans,i).call(u.font,t),u.bBox(o.node())}function E(e,t,r,n,i,o){var s="_cache"+t;e[s]&&e[s].key===i||(e[s]={key:i,value:r});var l=a.aggNums(o,null,[e[s].value,n],2);return e[s].value=l,l}t.exports=function(e,t,d,m){var g,v=e._fullLayout;T(d)&&m&&(g=m()),a.makeTraceGroups(v._indicatorlayer,t,"trace").each((function(t){var m,b,C,I,L,P=t[0].trace,z=r.select(this),D=P._hasGauge,O=P._isAngular,R=P._isBullet,F=P.domain,B={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._size.h*F.y[0]},j=B.l+B.w/2,N=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=P.align||"center";if(b=N,D){if(O&&(m=j,b=N+U/2,C=function(e){return function(e,t){return[t/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}(e,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;m=B.l+(G+(1-G)*_[q])*B.w,C=function(e){return M(e,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else m=B.l+_[q]*B.w,C=function(e){return M(e,B.w,B.h)};!function(e,t,n,l){var c,h,d,m=n[0].trace,g=l.numbersX,v=l.numbersY,b=m.align||"center",k=x[b],M=l.transitionOpts,C=l.onComplete,I=a.ensureSingle(t,"g","numbers"),L=[];m._hasNumber&&L.push("number"),m._hasDelta&&(L.push("delta"),"left"===m.delta.position&&L.reverse());var P=I.selectAll("text").data(L);function z(t,r,n,i){if(!t.match("s")||n>=0==i>=0||r(n).slice(-1).match(w)||r(i).slice(-1).match(w))return r;var a=t.slice().replace("s","f").replace(/\d+/,(function(e){return parseInt(e)-1})),o=A(e,{tickformat:a});return function(e){return Math.abs(e)<1?p.tickText(o,e).text:r(e)}}P.enter().append("text"),P.attr("text-anchor",(function(){return k})).attr("class",(function(e){return e})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,O=m.mode+m.align;if(m._hasDelta&&(D=function(){var t=A(e,{tickformat:m.delta.valueformat},m._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=m.delta.suffix,s=m.delta.prefix,l=function(e){return m.delta.relative?e.relativeDelta:e.delta},c=function(e,t){return 0===e||"number"!=typeof e||isNaN(e)?"-":(e>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+t(e)+o},d=function(e){return e.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(n[0]));var g=I.select("text.delta");function v(){g.text(c(l(n[0]),a)).call(y.fill,d(n[0])).call(f.convertToTspans,e)}return g.call(u.font,m.delta.font).call(y.fill,d({delta:m._deltaLastValue})),T(M)?g.transition().duration(M.duration).ease(M.easing).tween("text",(function(){var e=r.select(this),t=l(n[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,a,o,t),u=i(o,t);return m._deltaLastValue=t,function(t){e.text(c(u(t),s)),e.call(y.fill,d({delta:u(t)}))}})).each("end",(function(){v(),C&&C()})).each("interrupt",(function(){v(),C&&C()})):v(),h=S(c(l(n[0]),a),m.delta.font,k,e),g}(),O+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,O+=m.delta.increasing.symbol+m.delta.decreasing.symbol,d=h),m._hasNumber&&(function(){var t=A(e,{tickformat:m.number.valueformat},m._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=m.number.suffix,s=m.number.prefix,l=I.select("text.number");function h(){var t="number"==typeof n[0].y?s+a(n[0].y)+o:"-";l.text(t).call(u.font,m.number.font).call(f.convertToTspans,e)}T(M)?l.transition().duration(M.duration).ease(M.easing).each("end",(function(){h(),C&&C()})).each("interrupt",(function(){h(),C&&C()})).attrTween("text",(function(){var e=r.select(this),t=i(n[0].lastY,n[0].y);m._lastValue=n[0].y;var l=z(m.number.valueformat,a,n[0].lastY,n[0].y);return function(r){e.text(s+l(t(r))+o)}})):h(),c=S(s+a(n[0].y)+o,m.number.font,k,e)}(),O+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,d=c),m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=[(h.left+h.right)/2,(h.top+h.bottom)/2],N=.75*m.delta.font.size;"left"===m.delta.position&&(R=E(m,"deltaPos",0,-1*(c.width*_[m.align]+h.width*(1-_[m.align])+N),O,Math.min),F=B[1]-j[1],d={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:h.left+R,right:c.right,top:Math.min(c.top,h.top+F),bottom:Math.max(c.bottom,h.bottom+F)}),"right"===m.delta.position&&(R=E(m,"deltaPos",0,c.width*(1-_[m.align])+h.width*_[m.align]+N,O,Math.max),F=B[1]-j[1],d={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:c.left,right:h.right+R,top:Math.min(c.top,h.top+F),bottom:Math.max(c.bottom,h.bottom+F)}),"bottom"===m.delta.position&&(R=null,F=h.height,d={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height,bottom:c.bottom+h.height}),"top"===m.delta.position&&(R=null,F=c.top,d={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height-h.height,bottom:c.bottom}),D.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&I.attr("transform",(function(){var e=l.numbersScaler(d);O+=e[2];var t,r=E(m,"numbersScale",1,e[0],O,Math.min);m._scaleNumbers||(r=1),t=m._isAngular?v-r*d.bottom:v-r*(d.top+d.bottom)/2,m._numbersTop=r*d.top+t;var n=d[b];"center"===b&&(n=(d.left+d.right)/2);var i=g-r*n;return i=E(m,"numbersTranslate",0,i,O,Math.max),s(i,t)+o(r)}))}(e,z,t,{numbersX:m,numbersY:b,numbersScaler:C,transitionOpts:d,onComplete:g}),D&&(I={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},L={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=z.selectAll("g.angular").data(O?t:[]);W.exit().remove();var Z=z.selectAll("g.angularaxis").data(O?t:[]);Z.exit().remove(),O&&function(e,t,i,a){var o,u,h,f,d=i[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,_=[m.l+m.w/2,m.t+m.h/2+g/2],b=a.gauge,w=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(e){var t=d.gauge.axis.range[0],r=(e-t)/(d.gauge.axis.range[1]-t)*Math.PI-E;return r<-E?-E:r>E?E:r}function I(e){return r.svg.arc().innerRadius((y+g)/2-e/2*(g-y)).outerRadius((y+g)/2+e/2*(g-y)).startAngle(-E)}function L(e){e.attr("d",(function(e){return I(e.thickness).startAngle(C(e.range[0])).endAngle(C(e.range[1]))()}))}b.enter().append("g").classed("angular",!0),b.attr("transform",s(_[0],_[1])),w.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),w.selectAll("g.xangularaxistick,path,text").remove(),(o=A(e,d.gauge.axis)).type="linear",o.range=d.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(e){return(o.range[0]-e.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},D=p.makeLabelFns(o,0).labelStandoff;z.xFn=function(e){var t=P(e);return Math.cos(t)*D},z.yFn=function(e){var t=P(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(D+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*c)},z.anchorFn=function(e){var t=P(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},z.heightFn=function(e,t,r){var n=P(e);return-.5*(1+Math.sin(n))*r};var O=function(e){return s(_[0]+g*Math.cos(e),_[1]-g*Math.sin(e))};h=function(e){return O(P(e))};if(u=p.calcTicks(o),f=p.getTickSigns(o)[2],o.visible){f="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;p.drawTicks(e,o,{vals:u,layer:w,path:"M"+f*R+",0h"+f*o.ticklen,transFn:function(e){var t=P(e);return O(t)+"rotate("+-l(t)+")"}}),p.drawLabels(e,o,{vals:u,layer:w,transFn:h,labelFns:z})}var F=[v].concat(d.gauge.steps),B=b.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(L).call(k),B.exit().remove();var j=I(d.gauge.bar.thickness),N=b.selectAll("g.value-arc").data([d.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var U=N.select("path");T(M)?(U.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",function(e,t,r){return function(){var i=n(t,r);return function(t){return e.endAngle(i(t))()}}}(j,C(i[0].lastY),C(i[0].y))),d._lastValue=i[0].y):U.attr("d","number"==typeof i[0].y?j.endAngle(C(i[0].y)):"M0,0Z"),U.call(k),N.exit().remove(),F=[];var V=d.gauge.threshold.value;(V||0===V)&&F.push({range:[V,V],color:d.gauge.threshold.color,line:{color:d.gauge.threshold.line.color,width:d.gauge.threshold.line.width},thickness:d.gauge.threshold.thickness});var q=b.selectAll("g.threshold-arc").data(F);q.enter().append("g").classed("threshold-arc",!0).append("path"),q.select("path").call(L).call(k),q.exit().remove();var H=b.selectAll("g.gauge-outline").data([x]);H.enter().append("g").classed("gauge-outline",!0).append("path"),H.select("path").call(L).call(k),H.exit().remove()}(e,0,t,{radius:U,innerRadius:V,gauge:W,layer:Z,size:B,gaugeBg:I,gaugeOutline:L,transitionOpts:d,onComplete:g});var Y=z.selectAll("g.bullet").data(R?t:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?t:[]);X.exit().remove(),R&&function(e,t,r,n){var i,a,o,l,c,u=r[0].trace,f=n.gauge,d=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,_=n.transitionOpts,b=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",s(v.l,v.t)),d.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),d.selectAll("g.xbulletaxistick,path,text").remove();var w=v.h,M=u.gauge.bar.thickness*w,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);function C(e){e.attr("width",(function(e){return Math.max(0,i.c2p(e.range[1])-i.c2p(e.range[0]))})).attr("x",(function(e){return i.c2p(e.range[0])})).attr("y",(function(e){return.5*(1-e.thickness)*w})).attr("height",(function(e){return e.thickness*w}))}(i=A(e,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=p.calcTicks(i),o=p.makeTransTickFn(i),l=p.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(p.drawTicks(e,i,{vals:"inside"===i.ticks?p.clipEnds(i,a):a,layer:d,path:p.makeTickPath(i,c,l),transFn:o}),p.drawLabels(e,i,{vals:a,layer:d,transFn:o,labelFns:p.makeLabelFns(i,c)}));var I=[m].concat(u.gauge.steps),L=f.selectAll("g.bg-bullet").data(I);L.enter().append("g").classed("bg-bullet",!0).append("rect"),L.select("rect").call(C).call(k),L.exit().remove();var P=f.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(w-M)/2).call(k),T(_)?P.select("rect").transition().duration(_.duration).ease(_.easing).each("end",(function(){b&&b()})).each("interrupt",(function(){b&&b()})).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(z);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*w).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*w).call(y.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),D.exit().remove();var O=f.selectAll("g.gauge-outline").data([g]);O.enter().append("g").classed("gauge-outline",!0).append("rect"),O.select("rect").call(C).call(k),O.exit().remove()}(e,0,t,{gauge:Y,layer:X,size:B,gaugeBg:I,gaugeOutline:L,transitionOpts:d,onComplete:g});var $=z.selectAll("text.title").data(t);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(u.font,P.title.font).call(f.convertToTspans,e),$.attr("transform",(function(){var e,t=B.l+B.w*_[P.title.align],r=h.titlePadding,n=u.bBox($.node());return D?(O&&(e=P.gauge.axis.visible?u.bBox(Z.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(e=b-(n.top+n.bottom)/2,t=B.l-h.bulletPadding*B.w)):e=P._numbersTop-r-n.bottom,s(t,e)}))}))}}}),vw=m({"src/traces/indicator/index.js"(e,t){t.exports={moduleType:"trace",name:"indicator",basePlotModule:fw(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:pw(),supplyDefaults:mw().supplyDefaults,calc:gw().calc,plot:yw(),meta:{}}}}),xw=m({"lib/indicator.js"(e,t){t.exports=vw()}}),_w=m({"src/traces/table/attributes.js"(e,t){var r=bn(),n=B().extendFlat,i=De().overrideAll,a=j(),o=Ma().attributes,s=It().descriptionOnlyNumbers;t.exports=i({domain:o({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:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:n({},r.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:n({},a({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:n({},r.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:n({},a({arrayOk:!0}))}},"calc","from-root")}}),bw=m({"src/traces/table/defaults.js"(e,t){var r=ct(),n=_w(),i=Ma().defaults;t.exports=function(e,t,a,o){function s(i,a){return r.coerce(e,t,n,i,a)}i(t,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),r.coerceFont(s,"header.font",o.font),function(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(e,t){return e-t})),o=i.map((function(e){return a.indexOf(e)})),s=o.length;s",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"}}}}),kw=m({"src/traces/table/data_preparation_helper.js"(e,t){var r=Tw(),n=B().extendFlat,i=M(),a=I().isTypedArray,o=I().isArrayOrTypedArray;function s(e){if(o(e)){for(var t=0,r=0;r=t||c===e.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(e,t){var a=c(t.cells.values),d=function(e){return e.slice(t.header.values.length,e.length)},m=c(t.header.values);m.length&&!m[0].length&&(m[0]=[""],m=c(m));var g=m.concat(d(a).map((function(){return u((m[0]||[""]).length)}))),y=t.domain,v=Math.floor(e._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(e._fullLayout._size.h*(y.y[1]-y.y[0])),_=t.header.values.length?g[0].map((function(){return t.header.height})):[r.emptyHeaderHeight],b=a.length?a[0].map((function(){return t.cells.height})):[],w=_.reduce(l,0),T=p(b,x-w+r.uplift),k=f(p(_,w),[]),A=f(T,k),M={},S=t._fullInput.columnorder;o(S)&&(S=Array.from(S)),S=S.concat(d(a.map((function(e,t){return t}))));var E=g.map((function(e,r){var n=o(t.columnwidth)?t.columnwidth[Math.min(r,t.columnwidth.length-1)]:t.columnwidth;return i(n)?Number(n):1})),C=E.reduce(l,0);E=E.map((function(e){return e/C*v}));var I=Math.max(s(t.header.line.width),s(t.cells.line.width)),L={key:t.uid+e._context.staticPlot,translateX:y.x[0]*e._fullLayout._size.w,translateY:e._fullLayout._size.h*(1-y.y[1]),size:e._fullLayout._size,width:v,maxLineWidth:I,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:n({},t.cells,{values:a}),headerCells:n({},t.header,{values:g}),gdColumns:g.map((function(e){return e[0]})),gdColumnsOriginalOrder:g.map((function(e){return e[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(e,t){var r=M[e];return M[e]=(r||0)+1,{key:e+"__"+M[e],label:e,specIndex:t,xIndex:S[t],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[t]}}))};return L.columns.forEach((function(e){e.calcdata=L,e.x=h(e)})),L}}}),Aw=m({"src/traces/table/data_split_helpers.js"(e){var t=B().extendFlat;e.splitToPanels=function(e){var r=[0,0],n=t({},e,{key:"header",type:"header",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:t({},e.calcdata,{cells:e.calcdata.headerCells})});return[t({},e,{key:"cells1",type:"cells",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),t({},e,{key:"cells2",type:"cells",page:1,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),n]},e.splitToCells=function(e){var t=function(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0;return[r,t?r+t.rows.length:0]}(e);return(e.values||[]).slice(t[0],t[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}}))}}}),Mw=m({"src/traces/table/plot.js"(e,t){var r=Tw(),n=b(),i=ct(),a=i.numberFormat,o=Kx(),s=er(),l=Et(),c=ct().raiseToTop,u=ct().strTranslate,h=ct().cancelTransition,f=kw(),p=Aw(),d=W();function m(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function g(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function y(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function v(e){return[].concat.apply([],e.map((function(e){return e}))).map((function(e){return e.__data__}))}function x(e,t,i){var a=e.selectAll("."+r.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append("g").classed(r.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each((function(e){var t=e.scrollbarState;t.totalHeight=function(e){var t=e.rowBlocks;return R(t,t.length-1)+(t.length?F(t[t.length-1],1/0):1)}(e),t.scrollableAreaHeight=e.groupHeight-E(e),t.currentlyVisibleHeight=Math.min(t.totalHeight,t.scrollableAreaHeight),t.ratio=t.currentlyVisibleHeight/t.totalHeight,t.barLength=Math.max(t.ratio*t.currentlyVisibleHeight,r.goldenRatio*r.scrollbarWidth),t.barWiggleRoom=t.currentlyVisibleHeight-t.barLength,t.wiggleRoom=Math.max(0,t.totalHeight-t.scrollableAreaHeight),t.topY=0===t.barWiggleRoom?0:e.scrollY/t.wiggleRoom*t.barWiggleRoom,t.bottomY=t.topY+t.barLength,t.dragMultiplier=t.wiggleRoom/t.barWiggleRoom})).attr("transform",(function(e){var t=e.width+r.scrollbarWidth/2+r.scrollbarOffset;return u(t,E(e))}));var s=a.selectAll("."+r.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append("g").classed(r.cn.scrollbar,!0);var l=s.selectAll("."+r.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append("g").classed(r.cn.scrollbarSlider,!0),l.attr("transform",(function(e){return u(0,e.scrollbarState.topY||0)}));var c=l.selectAll("."+r.cn.scrollbarGlyph).data(o.repeat,o.keyFun);c.enter().append("line").classed(r.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",r.scrollbarWidth).attr("stroke-linecap","round").attr("y1",r.scrollbarWidth/2),c.attr("y2",(function(e){return e.scrollbarState.barLength-r.scrollbarWidth/2})).attr("stroke-opacity",(function(e){return e.columnDragInProgress||!e.scrollbarState.barWiggleRoom||i?0:.4})),c.transition().delay(0).duration(0),c.transition().delay(r.scrollbarHideDelay).duration(r.scrollbarHideDuration).attr("stroke-opacity",0);var h=s.selectAll("."+r.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);h.enter().append("line").classed(r.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",r.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var i=n.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=i-a.top,l=n.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||I(t,e,null,l(s-o.barLength/2))(r)})).call(n.behavior.drag().origin((function(e){return n.event.stopPropagation(),e.scrollbarState.scrollbarScrollInProgress=!0,e})).on("drag",I(t,e)).on("dragend",(function(){}))),h.attr("y2",(function(e){return e.scrollbarState.scrollableAreaHeight})),t._context.staticPlot&&(c.remove(),h.remove())}function _(e,t,i,a){var l=function(e){var t=e.selectAll("."+r.cn.columnCells).data(o.repeat,o.keyFun);return t.enter().append("g").classed(r.cn.columnCells,!0),t.exit().remove(),t}(i),c=function(e){var t=e.selectAll("."+r.cn.columnCell).data(p.splitToCells,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.columnCell,!0),t.exit().remove(),t}(l);!function(e){e.each((function(e,t){var r=e.calcdata.cells.font,n=e.column.specIndex,i={size:k(r.size,n,t),color:k(r.color,n,t),family:k(r.family,n,t),weight:k(r.weight,n,t),style:k(r.style,n,t),variant:k(r.variant,n,t),textcase:k(r.textcase,n,t),lineposition:k(r.lineposition,n,t),shadow:k(r.shadow,n,t)};e.rowNumber=e.key,e.align=k(e.calcdata.cells.align,n,t),e.cellBorderWidth=k(e.calcdata.cells.line.width,n,t),e.font=i}))}(c);var u=function(e){var t=e.selectAll("."+r.cn.cellRect).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("rect").classed(r.cn.cellRect,!0),t}(c);!function(e){e.attr("width",(function(e){return e.column.columnWidth})).attr("stroke-width",(function(e){return e.cellBorderWidth})).each((function(e){var t=n.select(this);d.stroke(t,k(e.calcdata.cells.line.color,e.column.specIndex,e.rowNumber)),d.fill(t,k(e.calcdata.cells.fill.color,e.column.specIndex,e.rowNumber))}))}(u);var h=function(e){var t=e.selectAll("."+r.cn.cellTextHolder).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}(c),f=function(e){var t=e.selectAll("."+r.cn.cellText).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("text").classed(r.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){n.event.stopPropagation()})),t}(h);(function(e){e.each((function(e){s.font(n.select(this),e.font)}))})(f),w(f,t,a,e),O(c)}function w(e,t,i,o){e.text((function(e){var t=e.column.specIndex,n=e.rowNumber,i=e.value,o="string"==typeof i,s=o&&i.match(/
/i),l=!o||s;e.mayHaveMarkup=o&&i.match(/[<&>]/);var c=function(e){return"string"==typeof e&&e.match(r.latexCheck)}(i);e.latex=c;var u,h,f=c?"":k(e.calcdata.cells.prefix,t,n)||"",p=c?"":k(e.calcdata.cells.suffix,t,n)||"",d=c?null:k(e.calcdata.cells.format,t,n)||null,m=f+(d?a(d)(e.value):e.value)+p;if(e.wrappingNeeded=!e.wrapped&&!l&&!c&&(u=T(m)),e.cellHeightMayIncrease=s||c||e.mayHaveMarkup||(void 0===u?T(m):u),e.needsConvertToTspans=e.mayHaveMarkup||e.wrappingNeeded||e.latex,e.wrappingNeeded){var g=(" "===r.wrapSplitCharacter?m.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),t.each((function(e,t){e.page=c[t],e.scrollY=l})),t.attr("transform",(function(e){var t=R(e.rowBlocks,e.page)-e.scrollY;return u(0,t)})),e&&(L(e,r,t,c,n.prevPages,n,0),L(e,r,t,c,n.prevPages,n,1),x(r,e))}}function I(e,t,i,a){return function(o){var s=o.calcdata?o.calcdata:o,l=t.filter((function(e){return s.key===e.key})),c=i||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*n.event.dy:a;var h=l.selectAll("."+r.cn.yColumn).selectAll("."+r.cn.columnBlock).filter(M);return C(e,h,l),s.scrollY===u}}function L(e,t,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(e,t){return t===o&&n[t]!==i[t]}));_(e,t,a,r),i[o]=n[o]})))}function P(e,t,i,a){return function(){var o=n.select(t.parentNode);o.each((function(e){var t=e.fragments;o.selectAll("tspan.line").each((function(e,r){t[r].width=this.getComputedTextLength()}));var n,i,a=t[t.length-1].width,s=t.slice(0,-1),l=[],c=0,u=e.column.columnWidth-2*r.cellPad;for(e.value="";s.length;)c+(i=(n=s.shift()).width+a)>u&&(e.value+=l.join(r.wrapSpacer)+r.lineBreaker,l=[],c=0),l.push(n.text),c+=i;c&&(e.value+=l.join(r.wrapSpacer)),e.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+r.cn.cellText),i,e,a),n.select(t.parentNode.parentNode).call(O)}}function z(e,t,i,a,o){return function(){if(!o.settledY){var s=n.select(t.parentNode),l=j(o),c=o.key-l.firstRowIndex,h=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*r.cellPad:h,p=Math.max(f,h);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,e.selectAll("."+r.cn.columnCell).call(O),C(null,e.filter(M),0),x(i,a,!0)),s.attr("transform",(function(){var e=this,t=e.parentNode.getBoundingClientRect(),i=n.select(e.parentNode).select("."+r.cn.cellRect).node().getBoundingClientRect(),a=e.transform.baseVal.consolidate(),s=i.top-t.top+(a?a.matrix.f:r.cellPad);return u(D(o,n.select(e.parentNode).select("."+r.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function D(e,t){switch(e.align){case"left":default:return r.cellPad;case"right":return e.column.columnWidth-(t||0)-r.cellPad;case"center":return(e.column.columnWidth-(t||0))/2}}function O(e){e.attr("transform",(function(e){var t=e.rowBlocks[0].auxiliaryBlocks.reduce((function(e,t){return e+F(t,1/0)}),0),r=F(j(e),e.key);return u(0,r+t)})).selectAll("."+r.cn.cellRect).attr("height",(function(e){return function(e,t){return e.rows[t-e.firstRowIndex]}(j(e),e.key).rowHeight}))}function R(e,t){for(var r=0,n=t-1;n>=0;n--)r+=B(e[n]);return r}function F(e,t){for(var r=0,n=0;nt.length&&(e=e.slice(0,t.length)):e=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:e.c2p(n,t,r),offsetMultplier:c}}}}),jw=m({"src/traces/carpet/plot.js"(e,t){var r=b(),n=er(),i=Rw(),a=Fw(),o=Bw(),s=Et(),l=ct(),c=l.strRotate,u=l.strTranslate,h=St();function f(e,t,o,s,l,c,u){var h="const-"+l+"-lines",f=o.selectAll("."+h).data(c);f.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),f.each((function(o){var s=o,l=s.x,c=s.y,u=i([],l,e.c2p),h=i([],c,t.c2p),f="M"+a(u,h,s.smoothing);r.select(this).attr("d",f).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",n.dashStyle(s.dash,s.width)).style("fill","none")})),f.exit().remove()}function p(e,t,i,a,l,h,f,p){var d=h.selectAll("text."+p).data(f);d.enter().append("text").classed(p,!0);var m=0,g={};return d.each((function(l,h){var f;if("auto"===l.axis.tickangle)f=o(a,t,i,l.xy,l.dxy);else{var p=(l.axis.tickangle+180)*Math.PI/180;f=o(a,t,i,l.xy,[Math.cos(p),Math.sin(p)])}h||(g={angle:f.angle,flip:f.flip});var d=(l.endAnchor?-1:1)*f.flip,y=r.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(n.font,l.font).text(l.text).call(s.convertToTspans,e),v=n.bBox(this);y.attr("transform",u(f.p[0],f.p[1])+c(f.angle)+u(l.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+l.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}t.exports=function(e,t,n,s){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis,d=e._fullLayout._clips;l.makeTraceGroups(s,n,"trace").each((function(t){var n=r.select(this),s=t[0],m=s.trace,y=m.aaxis,v=m.baxis,x=l.ensureSingle(n,"g","minorlayer"),_=l.ensureSingle(n,"g","majorlayer"),b=l.ensureSingle(n,"g","boundarylayer"),w=l.ensureSingle(n,"g","labellayer");n.style("opacity",m.opacity),f(u,h,_,0,"a",y._gridlines,!0),f(u,h,_,0,"b",v._gridlines,!0),f(u,h,x,0,"a",y._minorgridlines,!0),f(u,h,x,0,"b",v._minorgridlines,!0),f(u,h,b,0,"a-boundary",y._boundarylines,c),f(u,h,b,0,"b-boundary",v._boundarylines,c);var T=p(e,u,h,m,0,w,y._labels,"a-label"),k=p(e,u,h,m,0,w,v._labels,"b-label");(function(e,t,r,n,i,a,s,c){var u,h,f,p,d=l.aggNums(Math.min,null,r.a),m=l.aggNums(Math.max,null,r.a),y=l.aggNums(Math.min,null,r.b),v=l.aggNums(Math.max,null,r.b);u=.5*(d+m),h=y,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===s.angle&&l.extendFlat(s,o(r,i,a,f,r.dxydb_rough(u,h))),g(e,t,r,0,f,p,r.aaxis,i,a,s,"a-title"),u=d,h=.5*(y+v),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===c.angle&&l.extendFlat(c,o(r,i,a,f,r.dxyda_rough(u,h))),g(e,t,r,0,f,p,r.baxis,i,a,c,"b-title")})(e,w,m,0,u,h,T,k),function(e,t,r,n,o){var s,c,u,h,f=r.select("#"+e._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=l.ensureSingle(f,"path","carpetboundary"),d=t.clipsegments,m=[];for(h=0;h90&&v<270,_=r.select(this);_.text(f.title.text).call(s.convertToTspans,e),x&&(b=(-s.lineCount(_)+m)*d*a-b),_.attr("transform",u(t.p[0],t.p[1])+c(t.angle)+u(0,b)).attr("text-anchor","middle").call(n.font,f.title.font)})),_.exit().remove()}}}),Nw=m({"src/traces/carpet/cheater_basis.js"(e,t){var r=ct().isArrayOrTypedArray;t.exports=function(e,t,n){var i,a,o,s,l,c=[],u=r(e)?e.length:e,h=r(t)?t.length:t,f=r(e)?e:null,p=r(t)?t:null;f&&(o=(f.length-1)/(f[f.length-1]-f[0])/(u-1)),p&&(s=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d,m=1/0,g=-1/0;for(a=0;a=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s0&&(p=e.dxydi([],n-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=e.dxydi([],n-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(n=e.a2i(r),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=L,x.xy=function(t){return e.evalxy([],n,t)},x.dxy=function(t,r){return e.dxydj([],c,t,u,r)},a=0;a0&&(m=e.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=e.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=t,x.axis=_,x.crossAxis=A,x.value=r,x.constvar=i,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function D(r){var n,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===t)for(o=Math.max(0,Math.min(L-2,r)),l=Math.min(1,Math.max(0,r-o)),h.xy=function(t){return e.evalxy([],t,r)},h.dxy=function(t,r){return e.dxydi([],t,o,r,l)},n=0;nx.length-1)&&b.push(n(D(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;a<_.minorgridcount;a++)!((v=m-s)<=0)&&!((d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1])&&w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(n(D(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(D(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort((function(e,t){return e-t})))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(n(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1])&&w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(n(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}}}),qw=m({"src/traces/carpet/calc_labels.js"(e,t){var r=ar(),n=B().extendFlat;t.exports=function(e,t){var i,a,o,s=t._labels=[],l=t._gridlines;for(i=0;i=0;i--)a[u-i]=e[h][i],o[u-i]=t[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=e[i][0],o[h-i]=t[i][0];return s.push({x:a,y:o,bicubic:c}),s}}}),Gw=m({"src/traces/carpet/smooth_fill_2d_array.js"(e,t){var r=ct();t.exports=function(e,t,n){var i,a,o,s,l,c,u,h,f=[],p=[],d=e[0].length,m=e.length,g=0;for(i=0;i0&&void 0!==(c=e[l][s-1])&&(h++,u+=c),s0&&void 0!==(c=e[l-1][s])&&(h++,u+=c),l0&&a0&&i1e-5);return r.log("Smoother converged to",E,"after",C,"iterations"),e}}}),Ww=m({"src/traces/carpet/constants.js"(e,t){t.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),Zw=m({"src/traces/carpet/catmull_rom.js"(e,t){t.exports=function(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[t[0]+(f&&u/f),t[1]+(f&&h/f)],[t[0]-(p&&u/p),t[1]-(p&&h/p)]]}}}),Yw=m({"src/traces/carpet/compute_control_points.js"(e,t){var r=Zw(),n=ct().ensureArray;function i(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]}t.exports=function(e,t,a,o,s,l){var c,u,h,f,p,d,m,g,y,v,x=a[0].length,_=a.length,b=s?3*x-2:x,w=l?3*_-2:_;for(e=n(e,w),t=n(t,w),h=0;hp&&em&&td||tg},e.setScale=function(){var t=e._x,r=e._y,n=i(e._xctrl,e._yctrl,t,r,h.smoothing,f.smoothing);e._xctrl=n[0],e._yctrl=n[1],e.evalxy=a([e._xctrl,e._yctrl],c,u,h.smoothing,f.smoothing),e.dxydi=o([e._xctrl,e._yctrl],h.smoothing,f.smoothing),e.dxydj=s([e._xctrl,e._yctrl],h.smoothing,f.smoothing)},e.i2a=function(e){var r=Math.max(0,Math.floor(e[0]),c-2),n=e[0]-r;return(1-n)*t[r]+n*t[r+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),c-2),r=e[1]-t;return(1-r)*l[t]+r*l[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var r=Math.max(0,Math.min(n(e,t),c-2)),i=t[r],a=t[r+1];return Math.max(0,Math.min(c-1,r+(e-i)/(a-i)))},e.b2j=function(e){var t=Math.max(0,Math.min(n(e,l),u-2)),r=l[t],i=l[t+1];return Math.max(0,Math.min(u-1,t+(e-r)/(i-r)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,r){return e.evalxy([],t,r)},e.ab2xy=function(r,n,i){if(!i&&(rt[c-1]|nl[u-1]))return[!1,!1];var a=e.a2i(r),o=e.b2j(n),s=e.evalxy([],a,o);if(i){var h,f,p,d,m=0,g=0,y=[];rt[c-1]?(h=c-2,f=1,m=(r-t[c-1])/(t[c-1]-t[c-2])):f=a-(h=Math.max(0,Math.min(c-2,Math.floor(a)))),nl[u-1]?(p=u-2,d=1,g=(n-l[u-1])/(l[u-1]-l[u-2])):d=o-(p=Math.max(0,Math.min(u-2,Math.floor(o)))),m&&(e.dxydi(y,h,p,f,d),s[0]+=y[0]*m,s[1]+=y[1]*m),g&&(e.dxydj(y,h,p,f,d),s[0]+=y[0]*g,s[1]+=y[1]*g)}return s},e.c2p=function(e,t,r){return[t.c2p(e[0]),r.c2p(e[1])]},e.p2x=function(e,t,r){return[t.p2c(e[0]),r.p2c(e[1])]},e.dadi=function(e){var r=Math.max(0,Math.min(t.length-2,e));return t[r+1]-t[r]},e.dbdj=function(e){var t=Math.max(0,Math.min(l.length-2,e));return l[t+1]-l[t]},e.dxyda=function(t,r,n,i){var a=e.dxydi(null,t,r,n,i),o=e.dadi(t,n);return[a[0]/o,a[1]/o]},e.dxydb=function(t,r,n,i){var a=e.dxydj(null,t,r,n,i),o=e.dbdj(r,i);return[a[0]/o,a[1]/o]},e.dxyda_rough=function(t,r,n){var i=y*(n||.1),a=e.ab2xy(t+i,r,!0),o=e.ab2xy(t-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dxydb_rough=function(t,r,n){var i=v*(n||.1),a=e.ab2xy(t,r+i,!0),o=e.ab2xy(t,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}}}),Qw=m({"src/traces/carpet/calc.js"(e,t){var r=ar(),n=ct().isArray1D,i=Nw(),a=Uw(),o=Vw(),s=qw(),l=Hw(),c=Do(),u=Gw(),h=zo(),f=Jw();t.exports=function(e,t){var p=r.getFromId(e,t.xaxis),d=r.getFromId(e,t.yaxis),m=t.aaxis,g=t.baxis,y=t.x,v=t.y,x=[];y&&n(y)&&x.push("x"),v&&n(v)&&x.push("y"),x.length&&h(t,m,g,"a","b",x);var _=t._a=t._a||t.a,b=t._b=t._b||t.b;y=t._x||t.x,v=t._y||t.y;var w={};if(t._cheater){var T="index"===m.cheatertype?_.length:_,k="index"===g.cheatertype?b.length:b;y=i(T,k,t.cheaterslope)}t._x=y=c(y),t._y=v=c(v),u(y,_,b),u(v,_,b),f(t),t.setScale();var A=a(y),M=a(v),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(M[1]-M[0]),I=.5*(M[1]+M[0]),L=1.3;return A=[E-S*L,E+S*L],M=[I-C*L,I+C*L],t._extremes[p._id]=r.findExtremes(p,A,{padded:!0}),t._extremes[d._id]=r.findExtremes(d,M,{padded:!0}),o(t,"a","b"),o(t,"b","a"),s(t,m),s(t,g),w.clipsegments=l(t._xctrl,t._yctrl,m,g),w.x=y,w.y=v,w.a=_,w.b=b,[w]}}}),eT=m({"src/traces/carpet/index.js"(e,t){t.exports={attributes:Lw(),supplyDefaults:Ow(),plot:jw(),calc:Qw(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Ci(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),tT=m({"lib/carpet.js"(e,t){t.exports=eT()}}),rT=m({"src/traces/scattercarpet/attributes.js"(e,t){var r=Tn(),n=kn(),i=q(),{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=zt(),c=B().extendFlat,u=n.marker,h=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},n.mode,{dflt:"markers"}),text:c({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:s({editType:"plot"}),hovertext:c({},n.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:c({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:r(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,dash:f.dash,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:c({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a(),hovertemplatefallback:s(),zorder:n.zorder}}}),nT=m({"src/traces/scattercarpet/defaults.js"(e,t){var r=ct(),n=wn(),i=Xt(),a=Yn(),o=Xn(),s=$n(),l=Kn(),c=Jn(),u=rT();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}p("carpet"),t.xaxis="x",t.yaxis="y";var d=p("a"),m=p("b"),g=Math.min(d.length,m.length);if(g){t._length=g,p("text"),p("texttemplate"),p("texttemplatefallback"),p("hovertext"),p("mode",g")}return o}function v(e,t){var r;r=e.labelprefix&&e.labelprefix.length>0?e.labelprefix.replace(/ = $/,""):e._hovertitle,g.push(r+": "+t.toFixed(3)+e.labelsuffix)}}}}),cT=m({"src/traces/scattercarpet/event_data.js"(e,t){t.exports=function(e,t,r,n,i){var a=n[i];return e.a=a.a,e.b=a.b,e.y=a.y,e}}}),uT=m({"src/traces/scattercarpet/index.js"(e,t){t.exports={attributes:rT(),supplyDefaults:nT(),colorbar:mi(),formatLabels:iT(),calc:oT(),plot:sT(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:lT(),selectPoints:_i(),eventData:cT(),moduleType:"trace",name:"scattercarpet",basePlotModule:Ci(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),hT=m({"lib/scattercarpet.js"(e,t){t.exports=uT()}}),fT=m({"src/traces/contourcarpet/attributes.js"(e,t){var r=wo(),n=cs(),i=zt(),a=B().extendFlat,o=n.contours;t.exports=a({carpet:{valType:"string",editType:"calc"},z:r.z,a:r.x,a0:r.x0,da:r.dx,b:r.y,b0:r.y0,db:r.dy,text:r.text,hovertext:r.hovertext,transpose:r.transpose,atype:r.xtype,btype:r.ytype,fillcolor:n.fillcolor,autocontour:n.autocontour,ncontours:n.ncontours,contours:{type:o.type,start:o.start,end:o.end,size:o.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:o.showlines,showlabels:o.showlabels,labelfont:o.labelfont,labelformat:o.labelformat,operation:o.operation,value:o.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:n.line.color,width:n.line.width,dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},zorder:n.zorder},i("",{cLetter:"z",autoColorDflt:!1}))}}),pT=m({"src/traces/contourcarpet/defaults.js"(e,t){var r=ct(),n=To(),i=fT(),a=Ps(),o=hs(),s=ps();t.exports=function(e,t,l,c){function u(n,a){return r.coerce(e,t,i,n,a)}if(u("carpet"),e.a&&e.b){if(!n(e,t,u,c,"a","b"))return void(t.visible=!1);u("text"),"constraint"===u("contours.type")?a(e,t,u,c,l,{hasHover:!1}):(o(e,t,u,(function(n){return r.coerce2(e,t,i,n)})),s(e,t,u,c,{hasHover:!1}))}else t._defaultColor=l,t._length=null;u("zorder")}}}),dT=m({"src/traces/contourcarpet/calc.js"(e,t){var r=Zt(),n=ct(),i=zo(),a=Do(),o=Oo(),s=Ro(),l=Fo(),c=pT(),u=aT(),h=ms();t.exports=function(e,t){var f=t._carpetTrace=u(e,t);if(f&&f.visible&&"legendonly"!==f.visible){if(!t.a||!t.b){var p=e.data[f.index],d=e.data[t.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,t,t._defaultColor,e._fullLayout)}var m=function(e,t){var c,u,h,f,p,d,m,g=t._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,n.isArray1D(t.z)&&i(t,y,v,"a","b",["z"]),c=t._a=t._a||t.a,f=t._b=t._b||t.b,c=c?y.makeCalcdata(t,"_a"):[],f=f?v.makeCalcdata(t,"_b"):[],u=t.a0||0,h=t.da||1,p=t.b0||0,d=t.db||1,m=t._z=a(t._z||t.z,t.transpose),t._emptypoints=s(m),o(m,t._emptypoints);var x=n.maxRowLength(m),_="scaled"===t.xtype?"":c,b=l(t,_,u,h,x,y),w="scaled"===t.ytype?"":f,T={a:b,b:l(t,w,p,d,m.length,v),z:m};return"levels"===t.contours.type&&"none"!==t.contours.coloring&&r(e,t,{vals:m,containerStr:"",cLetter:"z"}),[T]}(e,t);return h(t,t._z),m}}}}),mT=m({"src/traces/carpet/axis_aligned_line.js"(e,t){var r=ct().isArrayOrTypedArray;t.exports=function(e,t,n,i){var a,o,s,l,c,u,h,f,p,d,m,g,y,v=r(n)?"a":"b",x=("a"===v?e.aaxis:e.baxis).smoothing,_="a"===v?e.a2i:e.b2j,b="a"===v?n:i,w="a"===v?i:n,T="a"===v?t.a.length:t.b.length,k="a"===v?t.b.length:t.a.length,A=Math.floor("a"===v?e.b2j(w):e.a2i(w)),M="a"===v?function(t){return e.evalxy([],t,A)}:function(t){return e.evalxy([],A,t)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o="a"===v?function(t,r){return e.dxydi([],t,s,r,l)}:function(t,r){return e.dxydj([],s,t,l,r)});var S=_(b[0]),E=_(b[1]),C=S0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,D=C>0?Math.max:Math.min,O=L(S+I),R=P(E-I),F=[[h=M(S)]];for(a=O;a*C=0;U--)B=M.clipsegments[U],j=n([],B.x,b.c2p),N=n([],B.y,w.c2p),j.reverse(),N.reverse(),V.push(i(j,N,B.bicubic));var q="M"+V.join("L")+"Z";(function(e,t,r,a,s,l){var c,u,h,f,p=o.ensureSingle(e,"g","contourbg").selectAll("path").data("fill"!==l||s?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=g):Math.abs(h[1]-f[1])=0&&(f=C,d=g):o.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===t.edgepaths.length){o.log("unclosed perimeter path");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function x(e,t){var r,n=0,o=.1;return(Math.abs(e[0]-l)y):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=a[_]),d&&(M.tx=t.text[_]),m&&(M.htx=t.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return t._extremes[l._id]=i.findExtremes(l,r.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:n(e,"open:")+" ",high:n(e,"high:")+" ",low:n(e,"low:")+" ",close:n(e,"close:")+" "}}),x}t.exports={calc:function(e,t){var n=i.getFromId(e,t.xaxis),o=i.getFromId(e,t.yaxis),c=function(e,t,n){var i=n._minDiff;if(!i){var o,s=e._fullData,l=[];for(i=1/0,o=0;o"+u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat):((y=n.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=x,y.yLabel=u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat),y.name="",h.push(y),m[x]=y)}return h}function h(e,t,n,i){var a=e.cd,s=e.ya,u=a[0].trace,h=a[0].t,f=c(e,t,n,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(e){return h.labels[e]+r.hoverLabelText(s,u[e][d],u.yhoverformat)}var y=p.hi||u.hoverinfo||"",v=y.split("+"),x="all"===y,_=x||-1!==v.indexOf("y"),b=x||-1!==v.indexOf("text"),w=_?[g("open"),g("high"),g("low"),g("close")+" "+l[m]]:[];return b&&o(p,u,w),f.extraText=w.join("
"),f.y0=f.y1=s.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(e,t,r,n){return e.cd[0].trace.hoverlabel.split?u(e,t,r,n):h(e,t,r,n)},hoverSplit:u,hoverOnPoints:h}}}),MT=m({"src/traces/ohlc/select.js"(e,t){t.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=[],s=n[0].t.bPos||0;if(!1===t)for(r=0;rn?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(r){var n=e.c2l(r)-t;return(s(n)?n:0)+o},e.g2c=function(r){return e.l2c(r+t-o)},e.g2p=function(e){return e*a},e.c2p=function(t){return e.g2p(e.c2g(t))}}}(e,t);break;case"angularaxis":!function(e,t){var n=e.type;if("linear"===n){var o=e.d2c,s=e.c2d;e.d2c=function(e,t){return function(e,t){return"degrees"===t?i(e):e}(o(e),t)},e.c2d=function(e,t){return s(function(e,t){return"degrees"===t?a(e):e}(e,t))}}e.makeCalcdata=function(t,r){var n,i,a=t[r],o=t._length,s=function(r){return e.d2c(r,t.thetaunit)};if(a)for(n=new Array(o),i=0;i1e-10?e:0}function h(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a0?r:1/0})),a=r.mod(n+1,t.length);return[t[n],t[a]]},findIntersectionXY:l,findXYatLength:function(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,t*c+i+n],[u,t*u+i+n]]},clampTiny:u,pathPolygon:function(e,t,r,n,i,a){return"M"+h(c(e,t,r,n),i,a).join("L")},pathPolygonAnnulus:function(e,t,r,n,i,a,o){var s,l;e0?1:0}function n(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 i(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function a(e,t){return t*e.radius}t.exports={smith:n,reactanceArc:function(e,t,r,o){var s=i(e,n([r,t])),l=s[0],c=s[1],u=i(e,n([o,t])),h=u[0],f=u[1];if(0===t)return["M"+l+","+c,"L"+h+","+f].join(" ");var p=a(e,1/Math.abs(t));return["M"+l+","+c,"A"+p+","+p+" 0 0,"+(t<0?1:0)+" "+h+","+f].join(" ")},resistanceArc:function(e,t,o,s){var l=a(e,1/(t+1)),c=i(e,n([t,o])),u=c[0],h=c[1],f=i(e,n([t,s])),p=f[0],d=f[1];if(r(o)!==r(s)){var m=i(e,n([t,0]));return["M"+u+","+h,"A"+l+","+l+" 0 0,"+(0=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),t]}(d),b=_[2]-_[0],w=_[3]-_[1],T=p/f,k=Math.abs(w/b);T>k?(m=f,x=(p-(g=f*k))/i.h/2,y=[u[0],u[1]],v=[h[0]+x,h[1]-x]):(g=p,x=(f-(m=p/k))/i.w/2,y=[u[0]+x,u[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/b,C=r.innerRadius=r.getHole(t)*E,I=r.cx=M-E*_[0],L=r.cy=S+E*_[3],P=r.cxx=I-M,z=r.cyy=L-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:D,_trueSide:A,domain:[C/i.w,E/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:y}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:v});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",s(P,z)),n.frontplot.attr("transform",s(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",s(I,L)).call(l.fill,t.bgcolor)},N.mockAxis=function(e,t,r,n){var i=a.extendFlat({},r,n);return p(i,t,e),i},N.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,o=r._id,s=a.extendFlat({type:"linear"},r);f(s,e);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var e=n.sectorBBox,r=l[o],i=n.radialAxis._rl,a=(i[1]-i[0])/(1-n.getHole(t));s.range=[e[r[0]]*a,e[r[1]]*a]},s.isPtWithinRange="x"!==o||i?function(){return!0}:function(e){return n.isPtInside(e)},s.setRange(),s.setScale(),s},N.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);d(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")],void 0!==i.minallowed){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(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(e){var t=z(r,I([e.x,0]));return s(t[0]-f,t[1]-p)}:function(e){return s(g.l2p(e.x)+u,0)},_=v?function(e){return P(r,e.x,-1/0,1/0)}:function(e){return r.pathArc(g.r2p(e.x)+u)},b=U(d);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter((function(e){return e>=0})).map((function(e){return h.tickText(g,e,!0,!1)})):h.calcTicks(g),k=v?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:_,transFn:a.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?B(V(R(d.angle),r.vangles)):d.angle,S=s(f,p),E=S+o(-M);q(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),q(i["radial-grid"],y&&d.showgrid,{transform:v?"":S}),q(i["radial-line"].select("line"),y&&d.showline,{x1:v?-c:u,y1:0,x2:c,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(l.stroke,d.linecolor)},N.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",h=0;if(l.title){var f=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;h="top"===d?p:"counterclockwise"===d?-(f+.4*p):f+.8*p}var m=void 0!==r?r:n.radialAxisAngle,g=R(m),y=Math.cos(g),x=Math.sin(g),_=o+a/2*y+h*x,b=s-a/2*x+h*y;n.layers["radial-axis-title"]=v.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title.text",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:_,y:b,"text-anchor":"middle"},transform:{rotate:-m}})}},N.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,c=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(t),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),m.setGeometry(),m.setScale());var y=g?function(e){var t=z(r,I([0,e.x]));return Math.atan2(t[0]-f,t[1]-p)-Math.PI/2}:function(e){return m.t2g(e.x)};"linear"===m.type&&"radians"===m.thetaunit&&(m.tick0=B(m.tick0),m.dtick=B(m.dtick));var v=function(e){return s(f+c*Math.cos(e),p-c*Math.sin(e))},x=g?function(e){var t=z(r,I([0,e.x]));return s(t[0],t[1])}:function(e){return v(y(e))},_=g?function(e){var t=z(r,I([0,e.x])),n=Math.atan2(t[0]-f,t[1]-p)-Math.PI/2;return s(t[0],t[1])+o(-B(n))}:function(e){var t=y(e);return v(t)+o(-B(t))},b=g?function(e){return L(r,e.x,0,1/0)}:function(e){var t=y(e),r=Math.cos(t),n=Math.sin(t);return"M"+[f+u*r,p-u*n]+"L"+[f+c*r,p-c*n]},w=h.makeLabelFns(m,0).labelStandoff,T={xFn:function(e){var t=y(e);return Math.cos(t)*w},yFn:function(e){var t=y(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(w+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*M)},anchorFn:function(e){var t=y(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(e,t,r){var n=y(e);return-.5*(1+Math.sin(n))*r}},k=U(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+m._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(e){return h.tickText(m,e,!0,!1)})):h.calcTicks(m);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===t.gridshape?(A=S.map(y),a.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===m.type&&(S=S.filter((function(e){return a.isAngleInsideSector(y(e),r.sectorInRad)}))),m.visible){var E="inside"===m.ticks?-1:1,C=(m.linewidth||1)/2;h.drawTicks(n,m,{vals:S,layer:i["angular-axis"],path:"M"+E*C+",0h"+E*m.ticklen,transFn:_,crisp:!1}),h.drawGrid(n,m,{vals:S,layer:i["angular-grid"],path:b,transFn:a.noop,crisp:!1}),h.drawLabels(n,m,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}q(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:s(f,p)}).attr("stroke-width",d.linewidth).call(l.stroke,d.linecolor)},N.updateFx=function(e,t){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},N.updateHoverAndMainDrag=function(e){var t,o,l=this,c=l.isSmith,u=l.gd,h=l.layers,f=e._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=l.radius,b=l.innerRadius,T=l.cx,k=l.cy,A=l.cxx,M=l.cyy,C=l.sectorInRad,I=l.vangles,L=l.radialAxis,P=E.clampTiny,z=E.findXYatLength,D=E.findEnclosingVertexAngles,O=S.cornerHalfWidth,R=S.cornerLen/2,F=m.makeDragger(h,"path","maindrag",!1===e.dragmode?"none":"crosshair");r.select(F).attr("d",l.pathSubplot()).attr("transform",s(T,k)),F.onmousemove=function(e){y.hover(u,e,l.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=l.id},F.onmouseout=function(e){u._dragging||g.unhover(u,e)};var B,j,N,U,V,q,H,G,W,Z={element:F,gd:u,subplot:l.id,plotinfo:{id:l.id,xaxis:l.xaxis,yaxis:l.yaxis},xaxes:[l.xaxis],yaxes:[l.yaxis]};function Y(e,t){return Math.sqrt(e*e+t*t)}function X(e,t){return Y(e-A,t-M)}function $(e,t){return Math.atan2(M-t,e-A)}function K(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function J(e,t){if(0===e)return l.pathSector(2*O);var r=R/e,n=t-r,i=t+r,a=Math.max(0,Math.min(e,v)),o=a-O,s=a+O;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(s,i)+"A"+[s,s]+" 0,0,1 "+K(s,n)+"Z"}function Q(e,t,r){if(0===e)return l.pathSector(2*O);var n,i,a=K(e,t),o=K(e,r),s=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(s&&c){var u=c/s,h=-1/u,f=z(O,u,s,c);n=z(R,h,f[0][0],f[0][1]),i=z(R,h,f[1][0],f[1][1])}else{var p,d;c?(p=R,d=O):(p=O,d=R),n=[[s-p,c-d],[s+p,c-d]],i=[[s-p,c+d],[s+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function ee(e,t){return t=Math.max(Math.min(t,v),b),ep?(e-1&&1===e&&_(t,u,[l.xaxis],[l.yaxis],l.id,Z),r.indexOf("event")>-1&&y.click(u,t,l.id)}Z.prepFn=function(e,r,i){var s=u._fullLayout.dragmode,h=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;t=u._fullLayout._invScaleX,o=u._fullLayout._invScaleY;var d=a.apply3DTransform(p)(r-h.left,i-h.top);if(B=d[0],j=d[1],I){var g=E.findPolygonOffset(v,C[0],C[1],I);B+=A+g[0],j+=M+g[1]}switch(s){case"zoom":Z.clickFn=se,c||(Z.moveFn=I?ie:re,Z.doneFn=ae,function(){N=null,U=null,V=l.pathSubplot(),q=!1;var e=u._fullLayout[l.id];H=n(e.bgcolor).getLuminance(),(G=m.makeZoombox(f,H,T,k,V)).attr("fill-rule","evenodd"),W=m.makeCorners(f,T,k),w(u)}());break;case"select":case"lasso":x(e,r,i,Z,s)}},g.init(Z)},N.updateRadialDrag=function(e,t,n){var l=this,c=l.gd,u=l.layers,h=l.radius,f=l.innerRadius,p=l.cx,d=l.cy,y=l.radialAxis,v=S.radialDragBoxSize,x=v/2;if(y.visible){var _,b,T,M=R(l.radialAxisAngle),E=y._rl,C=E[0],I=E[1],L=E[n],P=.75*(E[1]-E[0])/(1-l.getHole(t))/h;n?(_=p+(h+x)*Math.cos(M),b=d-(h+x)*Math.sin(M),T="radialdrag"):(_=p+(f-x)*Math.cos(M),b=d-(f-x)*Math.sin(M),T="radialdrag-inner");var z,D,O,F=m.makeRectDragger(u,T,"crosshair",-x,-x,v,v),j={element:F,gd:c};!1===e.dragmode&&(j.dragmode=!1),q(r.select(F),y.visible&&f0==(n?O>C:O")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),YT=m({"src/traces/scatterpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:UT(),categories:["polar","symbols","showLegend","scatter-like"],attributes:VT(),supplyDefaults:qT().supplyDefaults,colorbar:mi(),formatLabels:HT(),calc:GT(),plot:WT(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:ZT().hoverPoints,selectPoints:_i(),meta:{}}}}),XT=m({"lib/scatterpolar.js"(e,t){t.exports=YT()}}),$T=m({"src/traces/scatterpolargl/attributes.js"(e,t){var r=VT(),{cliponaxis:n,hoveron:i}=r,a=((e,t)=>{var r={};for(var n in e)l.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&o)for(var n of o(e))t.indexOf(n)<0&&u.call(e,n)&&(r[n]=e[n]);return r})(r,["cliponaxis","hoveron"]),{connectgaps:s,line:{color:c,dash:h,width:d},fill:m,fillcolor:g,marker:y,textfont:v,textposition:x}=$g();t.exports=p(f({},a),{connectgaps:s,fill:m,fillcolor:g,line:{color:c,dash:h,editType:"calc",width:d},marker:y,textfont:v,textposition:x})}}),KT=m({"src/traces/scatterpolargl/defaults.js"(e,t){var r=ct(),n=Xt(),i=qT().handleRThetaDefaults,a=Yn(),o=Xn(),s=Kn(),l=Jn(),c=wn().PTS_LINESONLY,u=$T();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d=i(e,t,f,p);d?(p("thetaunit"),p("mode",d=l&&(v.marker.cluster=d.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=b),v.line&&b.length>1&&s.extendFlat(v.line,o.linePositions(e,p,b)),v.text&&(s.extendFlat(v.text,{positions:b},o.textPosition(e,p,v.text,v.marker)),s.extendFlat(v.textSel,{positions:b},o.textPosition(e,p,v.text,v.markerSel)),s.extendFlat(v.textUnsel,{positions:b},o.textPosition(e,p,v.text,v.markerUnsel))),v.fill&&!f.fill2d&&(f.fill2d=!0),v.marker&&!f.scatter2d&&(f.scatter2d=!0),v.line&&!f.line2d&&(f.line2d=!0),v.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(v.line),f.fillOptions.push(v.fill),f.markerOptions.push(v.marker),f.markerSelectedOptions.push(v.markerSel),f.markerUnselectedOptions.push(v.markerUnsel),f.textOptions.push(v.text),f.textSelectedOptions.push(v.textSel),f.textUnselectedOptions.push(v.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=b,d._scene=f,d.index=f.count,f.count++}})),i(e,t,c)}},t.exports.reglPrecompiled={}}}),nk=m({"src/traces/scatterpolargl/index.js"(e,t){var r=tk();r.plot=rk(),t.exports=r}}),ik=m({"lib/scatterpolargl.js"(e,t){t.exports=nk()}}),ak=m({"src/traces/barpolar/attributes.js"(e,t){var r,{hovertemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=B().extendFlat,o=VT(),s=Wa();t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(r=a({},s.marker),delete r.cornerradius,r),hoverinfo:o.hoverinfo,hovertemplate:n(),hovertemplatefallback:i(),selected:s.selected,unselected:s.unselected}}}),ok=m({"src/traces/barpolar/layout_attributes.js"(e,t){t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),sk=m({"src/traces/barpolar/defaults.js"(e,t){var r=ct(),n=qT().handleRThetaDefaults,i=Ya(),a=ak();t.exports=function(e,t,o,s){function l(n,i){return r.coerce(e,t,a,n,i)}n(e,t,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),i(e,t,l,o,s),r.coerceSelectionMarkerOpacity(t,l)):t.visible=!1}}}),lk=m({"src/traces/barpolar/layout_defaults.js"(e,t){var r=ct(),n=ok();t.exports=function(e,t,i){var a,o={};function s(i,o){return r.coerce(e[a]||{},t[a],n,i,o)}for(var l=0;l0?(c=s,u=l):(c=l,u=s);var h=[o.findEnclosingVertexAngles(c,e.vangles)[0],(c+u)/2,o.findEnclosingVertexAngles(u,e.vangles)[1]];return o.pathPolygonAnnulus(n,a,c,u,h,t,r)}:function(e,n,a,o){return i.pathAnnulus(e,n,a,o,t,r)}}(t),d=t.layers.frontplot.select("g.barlayer");i.makeTraceGroups(d,s,"trace bars").each((function(){var o=r.select(this),s=i.ensureSingle(o,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(e){var t,a=r.select(this),o=e.rp0=h.c2p(e.s0),s=e.rp1=h.c2p(e.s1),l=e.thetag0=f.c2g(e.p0),d=e.thetag1=f.c2g(e.p1);if(n(o)&&n(s)&&n(l)&&n(d)&&o!==s&&l!==d){var m=h.c2g(e.s1),g=(l+d)/2;e.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],t=p(o,s,l,d)}else t="M0,0Z";i.ensureSingle(a,"path").attr("d",t)})),a.setClipUrl(o,t._hasClipOnAxisFalse?t.clipIds.forTraces:null,e)}))}}}),hk=m({"src/traces/barpolar/hover.js"(e,t){var r=Or(),n=ct(),i=no().getTraceColor,a=n.fillText,o=ZT().makeHoverPointText,s=RT().isPtInsidePolygon;t.exports=function(e,t,l){var c=e.cd,u=c[0].trace,h=e.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,m=d?s:n.isPtInsideSector,g=e.maxHoverDistance,y=p._period||2*Math.PI,v=Math.abs(f.g2p(Math.sqrt(t*t+l*l))),x=Math.atan2(l,t);if(f.range[0]>f.range[1]&&(x+=Math.PI),r.getClosest(c,(function(e){return m(v,x,[e.rp0,e.rp1],[e.thetag0,e.thetag1],d)?g+Math.min(1,Math.abs(e.thetag1-e.thetag0)/y)-1+(e.rp1-v)/(e.rp1-e.rp0)-1:1/0}),e),!1!==e.index){var _=c[e.index];e.x0=e.x1=_.ct[0],e.y0=e.y1=_.ct[1];var b=n.extendFlat({},_,{r:_.s,theta:_.p});return a(_,u,e),o(b,u,h,e),e.hovertemplate=u.hovertemplate,e.color=i(u,_),e.xLabelVal=e.yLabelVal=void 0,_.s<0&&(e.idealAlign="left"),[e]}}}}),fk=m({"src/traces/barpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"barpolar",basePlotModule:UT(),categories:["polar","bar","showLegend"],attributes:ak(),layoutAttributes:ok(),supplyDefaults:sk(),supplyLayoutDefaults:lk(),calc:ck().calc,crossTraceCalc:ck().crossTraceCalc,plot:uk(),colorbar:mi(),formatLabels:HT(),style:to().style,styleOnSelect:to().styleOnSelect,hoverPoints:hk(),selectPoints:ao(),meta:{}}}}),pk=m({"lib/barpolar.js"(e,t){t.exports=fk()}}),dk=m({"src/plots/smith/constants.js"(e,t){t.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),mk=m({"src/plots/smith/layout_attributes.js"(e,t){var r=G(),n=Lt(),i=Ma().attributes,a=ct().extendFlat,o=De().overrideAll,s=o({color:n.color,showline:a({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:a({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,griddash:n.griddash},"plot","from-root"),l=o({ticklen:n.ticklen,tickwidth:a({},n.tickwidth,{dflt:2}),tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,tickfont:n.tickfont,tickformat:n.tickformat,hoverformat:n.hoverformat,layer:n.layer},"plot","from-root"),c=a({visible:a({},n.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:a({},n.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},s,l),u=a({visible:a({},n.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:n.ticks,editType:"calc"},s,l);t.exports={domain:i({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:r.background},realaxis:c,imaginaryaxis:u,editType:"calc"}}}),gk=m({"src/plots/smith/layout_defaults.js"(e,t){var r,n,i,a=ct(),o=W(),s=vt(),l=Gs(),c=Tt().getSubplotData,u=Vt(),h=Ut(),f=ki(),p=rr(),d=mk(),m=dk(),g=m.axisNames,y=(r=function(e){return a.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map((function(e){return-e})).concat([0]).concat(e)},n=String,i={},function(e){var t=n?n(e):e;if(t in i)return i[t];var a=r(e);return i[t]=a,a});function v(e,t,r,n){var i=r("bgcolor");n.bgColor=o.combine(i,n.paper_bgcolor);var l,v=c(n.fullData,m.name,n.id),x=n.layoutOut;function _(e,t){return r(l+"."+e,t)}for(var b=0;b")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),kk=m({"src/traces/scattersmith/index.js"(e,t){t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:yk(),categories:["smith","symbols","showLegend","scatter-like"],attributes:vk(),supplyDefaults:xk(),colorbar:mi(),formatLabels:_k(),calc:bk(),plot:wk(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:Tk().hoverPoints,selectPoints:_i(),meta:{}}}}),Ak=m({"lib/scattersmith.js"(e,t){t.exports=kk()}}),Mk=m({"node_modules/world-calendars/dist/main.js"(e,t){var r=My();function n(){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={}}function i(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(e,t){return"000000".substring(0,t-(e=""+e).length)+e}function o(){this.shortYearCutoff="+10"}function s(e){this.local=this.regionalOptions[e]||this.regionalOptions[""]}r(n.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=(null!=e&&e.year?e.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,(function(t){return e[t]}))}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(e[1]+t[1])&&(n=n.substr(1)),n||e[0]}}}),r(i.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e??this,t,r)},year:function(e){return 0===arguments.length?this._year:this.set(e,"y")},month:function(e){return 0===arguments.length?this._month:this.set(e,"m")},day:function(e){return 0===arguments.length?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(l.local.invalidDate||l.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(l.local.differentCalendars||l.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 0===t?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?"-":"")+a(Math.abs(this.year()),4)+"-"+a(this.month(),2)+"-"+a(this.day(),2)}}),r(o.prototype,{_validateLevel:0,newDate:function(e,t,r){return null==e?this.today():(e.year&&(this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new i(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+a(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,l.local.invalidMonth||l.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,l.local.invalidMonth||l.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.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,l.local.invalidDate||l.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,"d"===r||"w"===r){var n=e.toJD()+t*("w"===r?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+("y"===r?t:0),o=e.monthOfYear()+("m"===r?t:0);i=e.day(),"y"===r?(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)))):"m"===r&&(function(e){for(;ot-1+e.minMonth;)a++,o-=t,t=e.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(e){throw this._validateLevel--,e}},_correctAdd:function(e,t,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==t[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,l.local.invalidDate||l.regionalOptions[""].invalidDate);var n="y"===r?t:e.year(),i="m"===r?t:e.month(),a="d"===r?t:e.day();return("y"===r||"m"===r)&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||0!==e;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),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.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 l=t.exports=new n;l.cdate=i,l.baseCalendar=o,l.calendars.gregorian=s}}),Sk=m({"node_modules/world-calendars/dist/plus.js"(){var e=My(),t=Mk();e(t.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"}),t.local=t.regionalOptions[""],e(t.cdate.prototype,{formatDate:function(e,t){return"string"!=typeof e&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}}),e(t.baseCalendar.prototype,{UNIX_EPOCH:t.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:t.instance().jdEpoch,TICKS_PER_DAY:864e9,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,r,n){if("string"!=typeof e&&(n=r,r=e,e=""),!r)return"";if(r.calendar()!==this)throw t.local.invalidFormat||t.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat;for(var i=(n=n||{}).dayNamesShort||this.local.dayNamesShort,a=n.dayNames||this.local.dayNames,o=n.monthNumbers||this.local.monthNumbers,s=n.monthNamesShort||this.local.monthNamesShort,l=n.monthNames||this.local.monthNames,c=(n.calculateWeek||this.local.calculateWeek,function(t,r){for(var n=1;v+n1}),u=function(e,t,r,n){var i=""+t;if(c(e,n))for(;i.length1},x=function(e,n){var i=v(e,n),a=[2,3,i?4:2,i?4:2,10,11,20]["oyYJ@!".indexOf(e)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=r.substring(A).match(o);if(!s)throw(t.local.missingNumberAt||t.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},_=this,b=function(){if("function"==typeof l){v("m");var e=l.call(_,r.substring(A));return A+=e.length,e}return x("m")},w=function(e,n,i,a){for(var o=v(e,a)?i:n,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(e,t,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return t=t?t.newDate():null,null==e?t:"string"==typeof e?function(e){try{return a.parseDate(n,e,i)}catch{}for(var t=((e=e.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(e);s;)t.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(e);return t}(e):"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e)}})}}),Ek=m({"node_modules/world-calendars/dist/calendars/chinese.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if("string"==typeof e){var r=e.match(a);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),o=""+this.toChineseMonth(n,i);return t&&o.length<2&&(o="0"+o),this.isIntercalaryMonth(n,i)&&(o+="i"),o},monthNames:function(e){if("string"==typeof e){var t=e.match(o);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(e){if("string"==typeof e){var t=e.match(s);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r,n=parseInt(t);if(isNaN(n))"闰"===t[0]&&(r=!0,t=t.substring(1)),"月"===t[t.length-1]&&(t=t.substring(0,t.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(t);else{var i=t[t.length-1];r="i"===i||"I"===i}return this.toMonthIndex(e,n,r)},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()),"number"!=typeof e||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(t,r,n){var i=this.intercalaryMonth(t);if(n&&r!==i||r<1||r>12)throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!n&&r<=i?r-1:r:r-1},toChineseMonth:function(t,r){t.year&&(r=(t=t.year()).month());var n=this.intercalaryMonth(t);if(r<0||r>(n?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?r>13},isIntercalaryMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return 0!==this.intercalaryMonth(e)},weekOfYear:function(t,n,i){var a,o=this._validateYear(t,e.local.invalidyear),s=c[o-c[0]],l=s>>9&4095,u=s>>5&15,h=31&s;(a=r.newDate(l,u,h)).add(4-(a.dayOfWeek()||7),"d");var f=this.toJD(t,n,i)-a.toJD();return 1+Math.floor(f/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(t,r){t.year&&(r=t.month(),t=t.year()),t=this._validateYear(t);var n=l[t-l[0]];if(r>(n>>13?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n&1<<12-r?30:29},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,s,i,e.local.invalidDate);t=this._validateYear(a.year()),n=a.month(),i=a.day();var o=this.isIntercalaryMonth(t,n),s=this.toChineseMonth(t,n),u=function(e,t,r,n){var i,a,o;if("object"==typeof e)a=e,i=t||{};else{var s;if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(s=!1,i=n):(s=!!n,i={}),a={year:e,month:t,day:r,isIntercalary:s}}o=a.day-1;var u,h=l[a.year-l[0]],f=h>>13;u=f&&(a.month>f||a.isIntercalary)?a.month:a.month-1;for(var p=0;p>9&4095,(d>>5&15)-1,(31&d)+o);return i.year=m.getFullYear(),i.month=1+m.getMonth(),i.day=m.getDate(),i}(t,s,i,o);return r.toJD(u.year,u.month,u.day)},fromJD:function(e){var t=r.fromJD(e),n=function(e,t,r){var n,i;if("object"==typeof e)n=e,i=t||{};else{if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");n={year:e,month:t,day:r},i={}}var a=c[n.year-c[0]],o=n.year<<9|n.month<<5|n.day;i.year=o>=a?n.year:n.year-1,a=c[i.year-c[0]];var s,u=new Date(a>>9&4095,(a>>5&15)-1,31&a),h=new Date(n.year,n.month-1,n.day);s=Math.round((h-u)/864e5);var f,p=l[i.year-l[0]];for(f=0;f<13;f++){var d=p&1<<12-f?30:29;if(s>13;return!m||f=2&&n<=6},extraInfo:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);return{century:n[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year()+(i.year()<0?1:0),r=i.month(),(n=i.day())+(r>1?16:0)+(r>2?32*(r-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=400*(t-1),e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-32*(r-1)+1;return this.newDate(t<=0?t-1:t,r,n)}});var n={20:"Fruitbat",21:"Anchovy"};e.calendars.discworld=r}}),Lk=m({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Ethiopian",jdEpoch:1724220.5,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(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()+(r.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.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(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(13===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/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-30*(n-1)+1;return this.newDate(r,n,i)}}),e.calendars.ethiopian=r}}),Pk=m({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}r.prototype=new e.baseCalendar,t(r.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(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return this._leapYear(r.year())},_leapYear:function(e){return n(7*(e=e<0?e+1:e)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),this._leapYear(t.year?t.year():t)?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(t){return t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),12===r&&this.leapYear(t)||8===r&&5===n(this.daysInYear(t),10)?30:9===r&&3===n(this.daysInYear(t),10)?29:this.daysPerMonth[r-1]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+n+1;if(r<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===t?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)}}),e.calendars.hebrew=r}}),zk=m({"node_modules/world-calendars/dist/calendars/islamic.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Islamic",jdEpoch:1948439.5,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īs","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(t){return(11*this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year()+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(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),t=t<=0?t+1:t,(n=i.day())+Math.ceil(29.5*(r-1))+354*(t-1)+Math.floor((3+11*t)/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)}}),e.calendars.islamic=r}}),Dk=m({"node_modules/world-calendars/dist/calendars/julian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Julian",jdEpoch:1721423.5,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(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()<0?r.year()+1:r.year())%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(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),n=i.day(),t<0&&t++,r<=2&&(t--,r+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(r+1))+n-1524.5},fromJD:function(e){var t=Math.floor(e+.5)+1524,r=Math.floor((t-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((t-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=t-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),e.calendars.julian=r}}),Ok=m({"node_modules/world-calendars/dist/calendars/mayan.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}function i(e,t){return n(e-1,t)+1}r.prototype=new e.baseCalendar,t(r.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(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year();var r=Math.floor(t/400);return t%=400,t+=t<0?400:0,r+"."+Math.floor(t/20)+"."+t%20},forYear:function(e){if((e=e.split(".")).length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=20*t+n}return t},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),18},weekOfYear:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),360},daysInMonth:function(t,r){return this._validate(t,r,this.minDay,e.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate).day()},weekDay:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),!0},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate).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){var t=n(8+(e-=this.jdEpoch)+340,365);return[Math.floor(t/20)+1,n(t,20)]},_toTzolkin:function(e){return[i(20+(e-=this.jdEpoch),20),i(e+4,13)]},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e%=360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}}),e.calendars.mayan=r}}),Rk=m({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar;var n=e.instance("gregorian");t(r.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,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(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear);return n.leapYear(r.year()+(r.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(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidMonth);(t=a.year())<0&&t++;for(var o=a.day(),s=1;s=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)}}),e.calendars.nanakshahi=r}}),Fk=m({"node_modules/world-calendars/dist/calendars/nepali.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Nepali",jdEpoch:1700709.5,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(t){if(t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),typeof this.NEPALI_CALENDAR_DATA[t]>"u")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[t][n];return r},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[t]>"u"?this.daysPerMonth[r-1]:this.NEPALI_CALENDAR_DATA[t][r]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=e.instance(),o=0,s=r,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&n>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==r&&(o=n,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===r?(o+=n-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var r=e.instance().fromJD(t),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>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r"u"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),e.calendars.nepali=r}}),Bk=m({"node_modules/world-calendars/dist/calendars/persian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,i=r*(t+1);return n-Math.floor(n)>i-Math.floor(i)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Persian",jdEpoch:1948320.5,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","Dey","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Dey","Bah","Esf"],dayNames:["Yekshanbeh","Doshanbeh","Seshanbeh","Chahārshanbeh","Panjshanbeh","Jom'eh","Shanbeh"],dayNamesShort:["Yek","Do","Se","Cha","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return n(this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year())},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(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);t=a.year(),r=a.month(),i=a.day();var o=0;if(t>0)for(var s=1;s0?t-1:t)+o+this.jdEpoch-1},fromJD:function(e){var t=475+((e=Math.floor(e)+.5)-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,n(r)?30:29)&&0==++r&&r++;var i=e-this.toJD(r,1,1)+1,a=i<=186?Math.ceil(i/31):Math.ceil((i-6)/30),o=e-this.toJD(r,a,1)+1;return this.newDate(r,a,o)}}),e.calendars.persian=r,e.calendars.jalali=r}}),jk=m({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Taiwan",jdEpoch:2419402.5,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(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,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)}}),e.calendars.taiwan=n}}),Nk=m({"node_modules/world-calendars/dist/calendars/thai.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Thai",jdEpoch:1523098.5,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(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,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)}}),e.calendars.thai=n}}),Uk=m({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return 355===this.daysInYear(r.year())},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(t,r){for(var i=this._validate(t,r,this.minDay,e.local.invalidMonth).toJD()-24e5+.5,a=0,o=0;oi)return n[a]-n[a-1];a++}return 30},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate),o=12*(a.year()-1)+a.month()-15292;return a.day()+n[o-1]-1+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,i=0;it);i++)r++;var a=r+15292,o=Math.floor((a-1)/12),s=o+1,l=a-12*o,c=t-n[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,r,n){var i=e.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,r,n,i){var a=e.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),e.calendars.ummalqura=r;var n=[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]}}),Vk=m({"src/components/calendars/calendars.js"(e,t){t.exports=Mk(),Sk(),Ek(),Ck(),Ik(),Lk(),Pk(),zk(),Dk(),Ok(),Rk(),Fk(),Bk(),jk(),Nk(),Uk()}}),qk=m({"src/components/calendars/index.js"(e,t){var r=Vk(),n=ct(),i=S(),a=i.EPOCHJD,o=i.ONEDAY,s={valType:"enumerated",values:n.sortObjectKeys(r.calendars),editType:"calc",dflt:"gregorian"},l=function(e,t,r,i){var a={};return a[r]=s,n.coerce(e,t,a,r,i)},c="##",u={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:c,w:c,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}},h={};function f(e){var t=h[e];return t||(h[e]=r.instance(e))}function p(e){return n.extendFlat({},s,{description:e})}function d(e){return"Sets the calendar system to use with `"+e+"` date data."}var m={xcalendar:p(d("x"))},g=n.extendFlat({},m,{ycalendar:p(d("y"))}),y=n.extendFlat({},g,{zcalendar:p(d("z"))}),v=p(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));t.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:g,bar:g,box:g,heatmap:g,contour:g,histogram:g,histogram2d:g,histogram2dcontour:g,scatter3d:y,surface:y,mesh3d:y,scattergl:g,ohlc:m,candlestick:m},layout:{calendar:p(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:v},yaxis:{calendar:v},scene:{xaxis:{calendar:v},yaxis:{calendar:v},zaxis:{calendar:v}},polar:{radialaxis:{calendar:v}}}},layoutAttributes:s,handleDefaults:l,handleTraceDefaults:function(e,t,r,n){for(var i=0;i{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData("text",e),t.removeEventListener("copy",r,!0)};t.addEventListener("copy",r,!0),document.execCommand("copy")},(l=i||(i={})).boxSizing=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.borderTopWidth)||0,n=parseFloat(t.borderLeftWidth)||0,i=parseFloat(t.borderRightWidth)||0,a=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,s=parseFloat(t.paddingLeft)||0,l=parseFloat(t.paddingRight)||0,c=parseFloat(t.paddingBottom)||0;return{borderTop:r,borderLeft:n,borderRight:i,borderBottom:a,paddingTop:o,paddingLeft:s,paddingRight:l,paddingBottom:c,horizontalSum:n+s+l+i,verticalSum:r+o+c+a}},l.sizeLimits=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.minWidth)||0,n=parseFloat(t.minHeight)||0,i=parseFloat(t.maxWidth)||1/0,a=parseFloat(t.maxHeight)||1/0;return i=Math.max(r,i),a=Math.max(n,a),{minWidth:r,minHeight:n,maxWidth:i,maxHeight:a}},l.hitTest=function(e,t,r){let n=e.getBoundingClientRect();return t>=n.left&&t=n.top&&r=r.bottom)){if(n.topr.bottom&&n.height>=r.height)return void(e.scrollTop-=r.top-n.top);if(n.topr.height)return void(e.scrollTop-=r.bottom-n.bottom);if(n.bottom>r.bottom&&n.height{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,r=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return-1!==Array.prototype.indexOf.call(r,t)}})(),e.calculateSingle=function(e){let c=0,u=0,h=0;function f(t){let r=e.match(t);return null!==r&&(e=e.slice(r[0].length),!0)}for(e=(e=e.split(",",1)[0]).replace(l," $1 ");e.length>0;)if(f(t))c++;else if(f(r))u++;else if(f(n))u++;else if(f(a))h++;else if(f(o))u++;else if(f(i))h++;else if(!f(s))return 0;return c=Math.min(c,255),u=Math.min(u,255),h=Math.min(h,255),c<<16|u<<8|h};let t=/^#[^\s\+>~#\.\[:]+/,r=/^\.[^\s\+>~#\.\[:]+/,n=/^\[[^\]]+\]/,i=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,s=/^[\s\+>~\*]+/,l=/:not\(([^\)]+)\)/g}(s||(s={}));var T,k=y(v()),A=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(let t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new T.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new T.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new T.LinkedListNode(this,e),n=t,i=n.prev;return r.next=n,r.prev=i,n.prev=r,i.next=r,this._size++,r}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new T.LinkedListNode(this,e),n=t,i=n.next;return r.next=i,r.prev=n,n.next=r,i.prev=r,this._size++,r}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof T.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}};!function(e){e.from=function(t){let r=new e;return r.assign(t),r}}(A||(A={})),function(e){e.LinkedListNode=class{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}}(T||(T={}));var M,S=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},E=class extends S{get isConflatable(){return!0}conflate(e){return!0}};!function(e){let t=null,r=(n=Promise.resolve(),e=>{let t=!1;return n.then((()=>!t&&e())),()=>{t=!0}});var n;function i(e,t){let r=o.get(e);r&&0!==r.length?(0,k.every)((0,k.retro)(r),(r=>!r||function(e,t,r){let n=!0;try{n="function"==typeof e?e(t,r):e.messageHook(t,r)}catch(e){l(e)}return n}(r,e,t)))&&u(e,t):u(e,t)}e.sendMessage=i,e.postMessage=function(e,n){n.isConflatable&&(0,k.some)(a,(t=>!(t.handler!==e||!t.msg||t.msg.type!==n.type||!t.msg.isConflatable)&&t.msg.conflate(n)))||function(e,n){a.addLast({handler:e,msg:n}),null===t&&(t=r(h))}(e,n)},e.installMessageHook=function(e,t){let r=o.get(e);r&&-1!==r.indexOf(t)||(r?r.push(t):o.set(e,[t]))},e.removeMessageHook=function(e,t){let r=o.get(e);if(!r)return;let n=r.indexOf(t);-1!==n&&(r[n]=null,f(r))},e.clearData=function(e){let t=o.get(e);t&&t.length>0&&(k.ArrayExt.fill(t,null),f(t));for(let t of a)t.handler===e&&(t.handler=null,t.msg=null)},e.flush=function(){c||null===t||(t(),t=null,c=!0,h(),c=!1)},e.getExceptionHandler=function(){return l},e.setExceptionHandler=function(e){let t=l;return l=e,t};let a=new A,o=new WeakMap,s=new Set,l=e=>{console.error(e)},c=!1;function u(e,t){try{e.processMessage(t)}catch(e){l(e)}}function h(){if(t=null,a.isEmpty)return;let e={handler:null,msg:null};for(a.addLast(e);;){let t=a.removeFirst();if(t===e)return;t.handler&&t.msg&&i(t.handler,t.msg)}}function f(e){0===s.size&&r(p),s.add(e)}function p(){s.forEach(d),s.clear()}function d(e){k.ArrayExt.removeAllWhere(e,m)}function m(e){return null===e}}(M||(M={}));var C,I=class{constructor(e){this._pid=C.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,r=C.ensureMap(e);return t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e),t}set(e,t){let r,n=C.ensureMap(e);r=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let i=this._coerceValue(e,t);this._maybeNotify(e,r,n[this._pid]=i)}coerce(e){let t,r=C.ensureMap(e);t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e);let n=this._coerceValue(e,t);this._maybeNotify(e,t,r[this._pid]=n)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let r=this._coerce;return r?r(e,t):t}_compareValue(e,t){let r=this._compare;return r?r(e,t):e===t}_maybeNotify(e,t,r){let n=this._changed;n&&!this._compareValue(t,r)&&n(e,t,r)}};!function(e){e.clearData=function(e){C.ownerData.delete(e)}}(I||(I={})),function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})(),e.ensureMap=function(t){let r=e.ownerData.get(t);return r||(r=Object.create(null),e.ownerData.set(t,r),r)}}(C||(C={}));var L,P=y(v()),z=(y(x()),class{constructor(e){this.sender=e}connect(e,t){return L.connect(this,e,t)}disconnect(e,t){return L.disconnect(this,e,t)}emit(e){L.emit(this,e)}});!function(e){e.disconnectBetween=function(e,t){L.disconnectBetween(e,t)},e.disconnectSender=function(e){L.disconnectSender(e)},e.disconnectReceiver=function(e){L.disconnectReceiver(e)},e.disconnectAll=function(e){L.disconnectAll(e)},e.clearData=function(e){L.disconnectAll(e)},e.getExceptionHandler=function(){return L.exceptionHandler},e.setExceptionHandler=function(e){let t=L.exceptionHandler;return L.exceptionHandler=e,t}}(z||(z={})),function(e){function t(e){let t=n.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,c(i.get(t))}c(t)}}function r(e){let t=i.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,c(n.get(t))}c(t)}}e.exceptionHandler=e=>{console.error(e)},e.connect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(a||(a=[],n.set(e.sender,a)),s(a,e,t,r))return!1;let o=r||t,l=i.get(o);l||(l=[],i.set(o,l));let c={signal:e,slot:t,thisArg:r};return a.push(c),l.push(c),!0},e.disconnect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(!a||0===a.length)return!1;let o=s(a,e,t,r);if(!o)return!1;let l=r||t,u=i.get(l);return o.signal=null,c(a),c(u),!0},e.disconnectBetween=function(e,t){let r=n.get(e);if(!r||0===r.length)return;let a=i.get(t);if(a&&0!==a.length){for(let t of a)t.signal&&t.signal.sender===e&&(t.signal=null);c(r),c(a)}},e.disconnectSender=t,e.disconnectReceiver=r,e.disconnectAll=function(e){t(e),r(e)},e.emit=function(e,t){let r=n.get(e.sender);if(r&&0!==r.length)for(let n=0,i=r.length;ne.signal===t&&e.slot===r&&e.thisArg===n))}function l(t,r){let{signal:n,slot:i,thisArg:a}=t;try{i.call(a,n.sender,r)}catch(t){e.exceptionHandler(t)}}function c(e){0===a.size&&o(u),a.add(e)}function u(){a.forEach(h),a.clear()}function h(e){P.ArrayExt.removeAllWhere(e,f)}function f(e){return null===e.signal}}(L||(L={}));var D=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}},O=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach((e=>{e.dispose()})),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(O||(O={}));var R=class extends O{constructor(){super(...arguments),this._disposed=new z(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),z.clearData(this))}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(R||(R={}));var F,B=class e{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:r}=this._scrollTarget,n=F.SCROLL_EDGE_SIZE-r,i=Math.pow(n/F.SCROLL_EDGE_SIZE,2),a=Math.max(1,Math.round(i*F.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=a;break;case"left":e.scrollLeft-=a;break;case"right":e.scrollLeft+=a;break;case"bottom":e.scrollTop+=a}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||"copy",this.supportedActions=e.supportedActions||"all",this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});F.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise((e=>{this._resolve=e}));let r=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(r),this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation()}}moveDragImage(e,t){this.dragImage&&(this.dragImage.style.transform=`translate(${e}px, ${t}px)`)}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction)return F.dispatchDragLeave(this,this._currentTarget,null,e),void this._finalize("none");let t=F.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(e){let t=F.findScrollTarget(e);!this._scrollTarget&&!t||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,r=this._currentTarget,n=this._currentElement,i=F.findElementBehindBackdrop(e,this.document);this._currentElement=i,i!==n&&i!==r&&F.dispatchDragExit(this,r,i,e),i!==n&&i!==r&&(r=F.dispatchDragEnter(this,i,r,e)),r!==t&&(this._currentTarget=r,F.dispatchDragLeave(this,t,r,e));let a=F.dispatchDragOver(this,r,e);this._setDropAction(a)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let r=this.dragImage.style;r.pointerEvents="none",r.position="fixed",r.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(t){if(t=F.validateAction(t,this.supportedActions),!this._override||this._dropAction!==t)switch(t){case"none":this._dropAction=t,this._override=e.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=t,this._override=e.overrideCursor("copy",this.document);break;case"link":this._dropAction=t,this._override=e.overrideCursor("alias",this.document);break;case"move":this._dropAction=t,this._override=e.overrideCursor("move",this.document)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}};!function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});let{drag:r}=t;this.dropAction="none",this.mimeData=r.mimeData,this.proposedAction=r.proposedAction,this.supportedActions=r.supportedActions,this.source=r.source}}e.Event=t,e.overrideCursor=function(e,t=document){return F.overrideCursor(e,t)}}(B||(B={})),function(e){function t(t,i=document){if(t){if(r&&t==r.event)return r.element;e.cursorBackdrop.style.zIndex="-1000";let n=i.elementFromPoint(t.clientX,t.clientY);return e.cursorBackdrop.style.zIndex="",r={event:t,element:n},n}{let t=e.cursorBackdrop.style.transform;if(n&&t===n.transform)return n.element;let r=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";let a=i.elementFromPoint(r.left+r.width/2,r.top+r.height/2);return e.cursorBackdrop.style.zIndex="",n={transform:t,element:a},a}}e.SCROLL_EDGE_SIZE=20,e.validateAction=function(e,t){return i[e]&a[t]?e:"none"},e.findElementBehindBackdrop=t;let r=null,n=null;e.findScrollTarget=function(r){let n=r.clientX,i=r.clientY,a=t(r);for(;a;a=a.parentElement){if(!a.hasAttribute("data-lm-dragscroll"))continue;let t=0,r=0;a===document.body&&(t=window.pageXOffset,r=window.pageYOffset);let o=a.getBoundingClientRect(),s=o.top+r,l=o.left+t,c=l+o.width,u=s+o.height;if(n=c||i=u)continue;let h,f=n-l+1,p=i-s+1,d=c-n,m=u-i,g=Math.min(f,p,d,m);if(g>e.SCROLL_EDGE_SIZE)continue;switch(g){case m:h="bottom";break;case p:h="top";break;case d:h="right";break;case f:h="left";break;default:throw"unreachable"}let y,v=a.scrollWidth-a.clientWidth,x=a.scrollHeight-a.clientHeight;switch(h){case"top":y=x>0&&a.scrollTop>0;break;case"left":y=v>0&&a.scrollLeft>0;break;case"right":y=v>0&&a.scrollLeft0&&a.scrollTop{n===u&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",o,!0),e.cursorBackdrop.removeEventListener("scroll",s,!0),i.removeChild(e.cursorBackdrop))}))};let c=500,u=0;e.cursorBackdrop=function(){let e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}()}(F||(F={}));var j=y(v()),N=y(x());function U(){return q.keyboardLayout}var V=class e{constructor(t,r,n=[]){this.name=t,this._codes=r,this._keys=e.extractKeys(r),this._modifierKeys=e.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}};!function(e){e.extractKeys=function(e){let t=Object.create(null);for(let r in e)t[e[r]]=!0;return t},e.convertToKeySet=function(e){let t=Object(null);for(let r=0,n=e.length;r{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})}))}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return Promise.resolve(null!==(r=n?.describedBy.call(void 0,t))&&void 0!==r?r:{args:null})}label(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return null!==(r=n?.label.call(void 0,t))&&void 0!==r?r:""}mnemonic(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.mnemonic.call(void 0,t):-1}icon(e,t=N.JSONExt.emptyObject){var r;return null===(r=this._commands.get(e))||void 0===r?void 0:r.icon.call(void 0,t)}iconClass(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconClass.call(void 0,t):""}iconLabel(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconLabel.call(void 0,t):""}caption(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.caption.call(void 0,t):""}usage(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.usage.call(void 0,t):""}className(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.className.call(void 0,t):""}dataset(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.dataset.call(void 0,t):{}}isEnabled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isEnabled.call(void 0,t)}isToggled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggled.call(void 0,t)}isToggleable(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggleable}isVisible(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isVisible.call(void 0,t)}execute(e,t=N.JSONExt.emptyObject){let r,n=this._commands.get(e);if(!n)return Promise.reject(new Error(`Command '${e}' not registered.`));try{r=n.execute.call(void 0,t)}catch(e){r=Promise.reject(e)}let i=Promise.resolve(r);return this._commandExecuted.emit({id:e,args:t,result:i}),i}addKeyBinding(e){let t=G.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new D((()=>{j.ArrayExt.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})}))}processKeydownEvent(t){if(t.defaultPrevented||this._replaying)return;let r=e.keystrokeForKeydownEvent(t);if(!r)return this._replayKeydownEvents(),void this._clearPendingState();if(e.isModifierKeyPressed(t)){let{exact:e}=G.matchKeyBinding(this._keyBindings,[r],t);return void(e?(t.preventDefault(),t.stopPropagation(),this._startModifierTimer(e)):this._clearModifierTimer())}this._keystrokes.push(r);let{exact:n,partial:i}=G.matchKeyBinding(this._keyBindings,this._keystrokes,t),a=0!==i.length;return n||a?((n?.preventDefault||i.some((e=>e.preventDefault)))&&(t.preventDefault(),t.stopPropagation()),this._keydownEvents.push(t),n&&!a?(this._executeKeyBinding(n),void this._clearPendingState()):(n&&(this._exactKeyMatch=n),void this._startTimer())):(this._replayKeydownEvents(),void this._clearPendingState())}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout((()=>{this._executeKeyBinding(e)}),G.modifierkeyTimeOut)}_clearModifierTimer(){0!==this._timerModifierID&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout((()=>{this._onPendingTimeout()}),G.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(G.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(0!==this._holdKeyBindingPromises.size){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map((async e=>{var t;return null!==(t=this._holdKeyBindingPromises.get(e))&&void 0!==t?t:Promise.resolve(!0)}))),new Promise((e=>{setTimeout((()=>e([!1])),G.KEYBINDING_HOLD_TIMEOUT)}))])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:r}=e,n={_luminoEvent:{type:"keybinding",keys:e.keys},...r};if(this.hasCommand(t)&&this.isEnabled(t,n))await this.execute(t,n);else{let r=this.hasCommand(t)?"enabled":"registered",n=`Cannot execute key binding '${e.keys.join(", ")}':`,i=`command '${t}' is not ${r}.`;console.warn(`${n} ${i}`)}}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};!function(e){function t(e){let t="",r=!1,n=!1,i=!1,o=!1;for(let s of e.split(/\s+/))"Accel"===s?a.IS_MAC?n=!0:i=!0:"Alt"===s?r=!0:"Cmd"===s?n=!0:"Ctrl"===s?i=!0:"Shift"===s?o=!0:s.length>0&&(t=s);return{cmd:n,ctrl:i,alt:r,shift:o,key:t}}function r(e){let r="",n=t(e);return n.ctrl&&(r+="Ctrl "),n.alt&&(r+="Alt "),n.shift&&(r+="Shift "),n.cmd&&a.IS_MAC&&(r+="Cmd "),n.key?r+n.key:r.trim()}e.parseKeystroke=t,e.normalizeKeystroke=r,e.normalizeKeys=function(e){let t;return t=a.IS_WIN?e.winKeys||e.keys:a.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(r)},e.formatKeystroke=function(e){return"string"==typeof e?r(e):e.map(r).join(", ");function r(e){let r=[],n=a.IS_MAC?" ":"+",i=t(e);return i.ctrl&&r.push("Ctrl"),i.alt&&r.push("Alt"),i.shift&&r.push("Shift"),a.IS_MAC&&i.cmd&&r.push("Cmd"),r.push(i.key),r.map(G.formatKey).join(n)}},e.isModifierKeyPressed=function(e){let t=U(),r=t.keyForKeydownEvent(e);return t.isModifierKey(r)},e.keystrokeForKeydownEvent=function(e){let t=U(),r=t.keyForKeydownEvent(e),n=[];return e.ctrlKey&&n.push("Ctrl"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),e.metaKey&&a.IS_MAC&&n.push("Cmd"),t.isModifierKey(r)||n.push(r),n.join(" ")}}(W||(W={})),function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500,e.createCommand=function(e){return{execute:e.execute,describedBy:h("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},(()=>({args:null}))),label:h(e.label,n),mnemonic:h(e.mnemonic,i),icon:h(e.icon,u),iconClass:h(e.iconClass,n),iconLabel:h(e.iconLabel,n),caption:h(e.caption,n),usage:h(e.usage,n),className:h(e.className,n),dataset:h(e.dataset,c),isEnabled:e.isEnabled||s,isToggled:e.isToggled||l,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||s}},e.createKeyBinding=function(e){var t;return{keys:W.normalizeKeys(e),selector:f(e),command:e.command,args:e.args||N.JSONExt.emptyObject,preventDefault:null===(t=e.preventDefault)||void 0===t||t}},e.matchKeyBinding=function(e,t,r){let n=null,i=[],a=1/0,s=0;for(let l=0,c=e.length;la)continue;let f=o.calculateSpecificity(c.selector);(!n||h=s)&&(n=c,a=h,s=f)}return{exact:n,partial:i}},e.replayKeyEvent=function(e){e.target.dispatchEvent(function(e){let t=document.createEvent("Event"),r=e.bubbles||!0,n=e.cancelable||!0;return t.initEvent(e.type||"keydown",r,n),t.key=e.key||"",t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}(e))},e.formatKey=function(e){return a.IS_MAC?t.hasOwnProperty(e)?t[e]:e:r.hasOwnProperty(e)?r[e]:e};let t={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},r={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},n=()=>"",i=()=>-1,s=()=>!0,l=()=>!1,c=()=>({}),u=()=>{};function h(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function f(e){if(-1!==e.selector.indexOf(","))throw new Error(`Selector cannot contain commas: ${e.selector}`);if(!o.isValid(e.selector))throw new Error(`Invalid selector: ${e.selector}`);return e.selector}function p(e,t){if(e.lengtht.length?2:1}function d(e,t){let r=t.target,n=t.currentTarget;for(let t=0;null!==r;r=r.parentElement,++t){if(r.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(o.matches(r,e))return t;if(r===n)return-1}return-1}}(G||(G={}));var Z,Y,X=y(v()),$=class{constructor(e){this.type="text",this.content=e}},K=class{constructor(e,t,r,n){this.type="element",this.tag=e,this.attrs=t,this.children=r,this.renderer=n}};function J(e){let t,r={},n=[];for(let e=1,a=arguments.length;e=n;--a){let n=t[a],o=i?e.lastChild:e.childNodes[a];"text"===n.type||(n.renderer&&n.renderer.unrender?n.renderer.unrender(o,{attrs:n.attrs,children:n.children}):r(o,n.children,0,!1)),i&&e.removeChild(o)}}e.hostMap=new WeakMap,e.asContentArray=function(e){return e?e instanceof Array?e:[e]:[]},e.createDOMNode=t,e.updateContent=function e(n,a,o){if(a===o)return;let s=function(e,t){let r=e.firstChild,n=Object.create(null);for(let e of t)"element"===e.type&&e.attrs.key&&(n[e.attrs.key]={vNode:e,element:r}),r=r.nextSibling;return n}(n,a),l=a.slice(),c=n.firstChild,u=o.length;for(let r=0;r=l.length){t(o[r],n);continue}let a=l[r],u=o[r];if(a===u){c=c.nextSibling;continue}if("text"===a.type&&"text"===u.type){c.textContent!==u.content&&(c.textContent=u.content),c=c.nextSibling;continue}if("text"===a.type||"text"===u.type){X.ArrayExt.insert(l,r,u),t(u,n,c);continue}if(!a.renderer!=!u.renderer){X.ArrayExt.insert(l,r,u),t(u,n,c);continue}let h=u.attrs.key;if(h&&h in s){let e=s[h];e.vNode!==a&&(X.ArrayExt.move(l,l.indexOf(e.vNode,r+1),r),n.insertBefore(e.element,c),a=e.vNode,c=e.element)}if(a===u){c=c.nextSibling;continue}let f=a.attrs.key;f&&f!==h?(X.ArrayExt.insert(l,r,u),t(u,n,c)):a.tag===u.tag?(i(c,a.attrs,u.attrs),u.renderer?u.renderer.render(c,{attrs:u.attrs,children:u.children}):e(c,a.children,u.children),c=c.nextSibling):(X.ArrayExt.insert(l,r,u),t(u,n,c))}r(n,l,u,!0)};let n={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function i(e,t,r){if(t===r)return;let i;for(i in t)i in n||i in r||("on"===i.substr(0,2)?e[i]=null:e.removeAttribute(i));for(i in r)i in n||t[i]===r[i]||("on"===i.substr(0,2)?e[i]=r[i]:e.setAttribute(i,r[i]));t.className!==r.className&&(void 0!==r.className?e.setAttribute("class",r.className):e.removeAttribute("class")),t.htmlFor!==r.htmlFor&&(void 0!==r.htmlFor?e.setAttribute("for",r.htmlFor):e.removeAttribute("for")),t.dataset!==r.dataset&&function(e,t,r){for(let n in t)n in r||e.removeAttribute(`data-${n}`);for(let n in r)t[n]!==r[n]&&e.setAttribute(`data-${n}`,r[n])}(e,t.dataset||{},r.dataset||{}),t.style!==r.style&&function(e,t,r){let n,i=e.style;for(n in t)n in r||(i[n]="");for(n in r)t[n]!==r[n]&&(i[n]=r[n])}(e,t.style||{},r.style||{})}}(Y||(Y={}));var Q,ee=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}};!function(e){e.calc=function(e,t){let r=e.length;if(0===r)return t;let n=0,i=0,a=0,o=0,s=0;for(let t=0;t0&&(o+=r.stretch,s++)}if(t===a)return 0;if(t<=n){for(let t=0;t=i){for(let t=0;t0&&n>l;){let t=n,i=o;for(let a=0;a0&&n>l;){let t=n/c;for(let i=0;i0&&n>l;){let t=n,i=o;for(let a=0;a=r.maxSize?(n-=r.maxSize-r.size,o-=r.stretch,r.size=r.maxSize,r.done=!0,c--,s--):(n-=l,r.size+=l)}}for(;c>0&&n>l;){let t=n/c;for(let i=0;i=r.maxSize?(n-=r.maxSize-r.size,r.size=r.maxSize,r.done=!0,c--):(n-=t,r.size+=t))}}}return 0},e.adjust=function(e,t,r){0===e.length||0===r||(r>0?function(e,t,r){let n=0;for(let r=0;r<=t;++r){let t=e[r];n+=t.maxSize-t.size}let i=0;for(let r=t+1,n=e.length;r=0&&a>0;--r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t+1,n=e.length;r0;++r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,r):function(e,t,r){let n=0;for(let r=t+1,i=e.length;r0;++r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t;r>=0&&o>0;--r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,-r))}}(Q||(Q={}));var te,re=class{constructor(e){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new z(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,z.clearData(this))}},ne=class e{constructor(t={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new z(this),this._hiddenMode=e.HiddenMode.Display,this.node=te.createNode(t),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(e.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&e.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),z.clearData(this),M.clearData(this),I.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(e.Flag.IsDisposed)}get isAttached(){return this.testFlag(e.Flag.IsAttached)}get isHidden(){return this.testFlag(e.Flag.IsHidden)}get isVisible(){return this.testFlag(e.Flag.IsVisible)}get title(){return te.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(t){this._hiddenMode!==t&&(this.isHidden&&this._toggleHidden(!1),t==e.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=t,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(t){if(this._parent!==t){if(t&&this.contains(t))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-removed",this);M.sendMessage(this._parent,t)}if(this._parent=t,this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-added",this);M.sendMessage(this._parent,t)}this.isDisposed||M.sendMessage(this,e.Msg.ParentChanged)}}get layout(){return this._layout}set layout(t){if(this._layout!==t){if(this.testFlag(e.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(t.parent)throw new Error("Cannot change layout parent.");this._layout=t,t.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){M.postMessage(this,e.Msg.UpdateRequest)}fit(){M.postMessage(this,e.Msg.FitRequest)}activate(){M.postMessage(this,e.Msg.ActivateRequest)}close(){M.sendMessage(this,e.Msg.CloseRequest)}show(){if(this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeShow),this.clearFlag(e.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterShow),this.parent)){let t=new e.ChildMessage("child-shown",this);M.sendMessage(this.parent,t)}}hide(){if(!this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeHide),this.setFlag(e.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterHide),this.parent)){let t=new e.ChildMessage("child-hidden",this);M.sendMessage(this.parent,t)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return!!(this._flags&e)}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(t){switch(t.type){case"resize":this.notifyLayout(t),this.onResize(t);break;case"update-request":this.notifyLayout(t),this.onUpdateRequest(t);break;case"fit-request":this.notifyLayout(t),this.onFitRequest(t);break;case"before-show":this.notifyLayout(t),this.onBeforeShow(t);break;case"after-show":this.setFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterShow(t);break;case"before-hide":this.notifyLayout(t),this.onBeforeHide(t);break;case"after-hide":this.clearFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterHide(t);break;case"before-attach":this.notifyLayout(t),this.onBeforeAttach(t);break;case"after-attach":!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(e.Flag.IsVisible),this.setFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterAttach(t);break;case"before-detach":this.notifyLayout(t),this.onBeforeDetach(t);break;case"after-detach":this.clearFlag(e.Flag.IsVisible),this.clearFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterDetach(t);break;case"activate-request":this.notifyLayout(t),this.onActivateRequest(t);break;case"close-request":this.notifyLayout(t),this.onCloseRequest(t);break;case"child-added":this.notifyLayout(t),this.onChildAdded(t);break;case"child-removed":this.notifyLayout(t),this.onChildRemoved(t);break;default:this.notifyLayout(t)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(t){this.parent?this.parent=null:this.isAttached&&e.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(t){if(t)switch(this._hiddenMode){case e.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case e.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}};!function(e){var t;(t=e.HiddenMode||(e.HiddenMode={}))[t.Display=0]="Display",t[t.Scale=1]="Scale",t[t.ContentVisibility=2]="ContentVisibility",function(e){e[e.IsDisposed=1]="IsDisposed",e[e.IsAttached=2]="IsAttached",e[e.IsHidden=4]="IsHidden",e[e.IsVisible=8]="IsVisible",e[e.DisallowLayout=16]="DisallowLayout"}(e.Flag||(e.Flag={})),function(e){e.BeforeShow=new S("before-show"),e.AfterShow=new S("after-show"),e.BeforeHide=new S("before-hide"),e.AfterHide=new S("after-hide"),e.BeforeAttach=new S("before-attach"),e.AfterAttach=new S("after-attach"),e.BeforeDetach=new S("before-detach"),e.AfterDetach=new S("after-detach"),e.ParentChanged=new S("parent-changed"),e.UpdateRequest=new E("update-request"),e.FitRequest=new E("fit-request"),e.ActivateRequest=new E("activate-request"),e.CloseRequest=new E("close-request")}(e.Msg||(e.Msg={})),e.ChildMessage=class extends S{constructor(e,t){super(e),this.child=t}};class r extends S{constructor(e,t){super("resize"),this.width=e,this.height=t}}e.ResizeMessage=r,function(e){e.UnknownSize=new e(-1,-1)}(r=e.ResizeMessage||(e.ResizeMessage={})),e.attach=function(t,r,n=null){if(t.parent)throw new Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw new Error("Widget is already attached.");if(!r.isConnected)throw new Error("Host is not attached.");M.sendMessage(t,e.Msg.BeforeAttach),r.insertBefore(t.node,n),M.sendMessage(t,e.Msg.AfterAttach)},e.detach=function(t){if(t.parent)throw new Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw new Error("Widget is not attached.");M.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),M.sendMessage(t,e.Msg.AfterDetach)}}(ne||(ne={})),function(e){e.titleProperty=new I({name:"title",create:e=>new re({owner:e})}),e.createNode=function(e){return e.node||document.createElement(e.tag||"div")}}(te||(te={}));var ie=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,z.clearData(this),I.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw new Error("Cannot change parent widget.");if(e.layout!==this)throw new Error("Invalid parent widget.");this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth="",e.minHeight="",e.maxWidth="",e.maxHeight="",this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e)}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)M.sendMessage(t,e)}onAfterAttach(e){for(let t of this)M.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)M.sendMessage(t,e)}onAfterDetach(e){for(let t of this)M.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};!function(e){e.getHorizontalAlignment=function(e){return ae.horizontalAlignmentProperty.get(e)},e.setHorizontalAlignment=function(e,t){ae.horizontalAlignmentProperty.set(e,t)},e.getVerticalAlignment=function(e){return ae.verticalAlignmentProperty.get(e)},e.setVerticalAlignment=function(e,t){ae.verticalAlignmentProperty.set(e,t)}}(ie||(ie={}));var ae,oe=class{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position="",e.top="",e.left="",e.width="",e.height="",e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=i.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,r,n){let i=Math.max(this._minWidth,Math.min(r,this._maxWidth)),a=Math.max(this._minHeight,Math.min(n,this._maxHeight));if(i"center",changed:t}),e.verticalAlignmentProperty=new I({name:"verticalAlignment",create:()=>"top",changed:t})}(ae||(ae={}));var se,le=class extends ie{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let r=this._widgets.indexOf(t),n=Math.max(0,Math.min(e,this._widgets.length));if(-1===r)return b.ArrayExt.insert(this._widgets,n,t),void(this.parent&&this.attachWidget(n,t));n===this._widgets.length&&n--,r!==n&&(b.ArrayExt.move(this._widgets,r,n),this.parent&&this.moveWidget(r,n,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=b.ArrayExt.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let r=this.parent.node.children[e];this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,r),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach)}moveWidget(e,t,r){this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterDetach);let n=this.parent.node.children[t];this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeAttach),this.parent.node.insertBefore(r.node,n),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach)}};!function(e){e.clampDimension=function(e){return Math.max(0,Math.floor(e))}}(se||(se={}));var ce,ue=se,he=class e extends le{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=e.renderer,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=se.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=se.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map((e=>e.size))}relativeSizes(){return ce.normalize(this._sizers.map((e=>e.size)))}setRelativeSizes(e,t=!0){let r=this._sizers.length,n=e.slice(0,r);for(;n.length0&&(e.sizeHint=e.size);Q.adjust(this._sizers,e,r),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let r=new oe(t),n=ce.createHandle(this.renderer),i=ce.averageSize(this._sizers),a=ce.createSizer(i);b.ArrayExt.insert(this._items,e,r),b.ArrayExt.insert(this._sizers,e,a),b.ArrayExt.insert(this._handles,e,n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),b.ArrayExt.move(this._sizers,e,t),b.ArrayExt.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e),n=b.ArrayExt.removeAt(this._handles,e);b.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,r,n,i,a,o){let s=this._items[e];if(s.isHidden)return;let l=this._handles[e].style;t?(r+=this.widgetOffset,s.update(r,n,o,i),r+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${this._spacing}px`,l.height=`${i}px`):(n+=this.widgetOffset,s.update(r,n,a,o),n+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${a}px`,l.height=`${this._spacing}px`)}_fit(){let t=0,r=-1;for(let e=0,n=this._items.length;e0&&(i.sizeHint=i.size),r.isHidden?(i.minSize=0,i.maxSize=0):(r.fit(),i.stretch=e.getStretch(r.widget),n?(i.minSize=r.minWidth,i.maxSize=r.maxWidth,a+=r.minWidth,o=Math.max(o,r.minHeight)):(i.minSize=r.minHeight,i.maxSize=r.maxHeight,o+=r.minHeight,a=Math.max(a,r.minWidth)))}let s=this._box=i.boxSizing(this.parent.node);a+=s.horizontalSum,o+=s.verticalSum;let l=this.parent.node.style;l.minWidth=`${a}px`,l.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&M.sendMessage(this.parent.parent,ne.Msg.FitRequest),this._dirty&&M.sendMessage(this.parent,ne.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let r=0;for(let e=0,t=this._items.length;e0){let e;if(e=u?Math.max(0,o-this._fixed):Math.max(0,s-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=Q.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":l=0,c=t/2;break;case"end":l=0,c=t;break;case"justify":l=t/r,c=0;break;default:throw"unreachable"}}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:function(e){e.parent&&e.parent.layout instanceof he&&e.parent.fit()}}),e.createSizer=function(e){let t=new ee;return t.sizeHint=Math.floor(e),t},e.createHandle=function(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t},e.averageSize=function(e){return e.reduce(((e,t)=>e+t.size),0)/e.length||0},e.normalize=function(e){let t=e.length;if(0===t)return[];let r=e.reduce(((e,t)=>e+Math.abs(t)),0);return 0===r?e.map((e=>1/t)):e.map((e=>e/r))}}(ce||(ce={}));var fe,pe=class extends he{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=ue.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let r=this._titles[e],n=r.classList.contains("lm-mod-expanded"),i=fe.createTitle(this.renderer,t.title,n);this._titles[e]=i,this.parent.node.replaceChild(i,r)}insertWidget(e,t){t.id||(t.id=`id-${w.UUID.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){let r=fe.createTitle(this.renderer,t.title);b.ArrayExt.insert(this._titles,e,r),this.parent.node.appendChild(r),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",r.id),super.attachWidget(e,t)}moveWidget(e,t,r){b.ArrayExt.move(this._titles,e,t),super.moveWidget(e,t,r)}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(r),super.detachWidget(e,t)}updateItemPosition(e,t,r,n,i,a,o){let s=this._titles[e].style;s.top=`${n}px`,s.left=`${r}px`,s.height=`${this.widgetOffset}px`,s.width=t?`${i}px`:`${a}px`,super.updateItemPosition(e,t,r,n,i,a,o)}};!function(e){e.createTitle=function(e,t,r=!0){let n=e.createSectionTitle(t);return n.style.position="absolute",n.style.contain="strict",n.setAttribute("aria-label",`${t.label} Section`),n.setAttribute("aria-expanded",r?"true":"false"),n.setAttribute("aria-controls",t.owner.id),r&&n.classList.add("lm-mod-expanded"),n}}(fe||(fe={}));var de,me=class extends ne{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=de.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}};!function(e){e.createLayout=function(e){return e.layout||new le}}(de||(de={}));var ge,ye=class extends me{constructor(e={}){super({layout:ge.createLayout(e)}),this._handleMoved=new z(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=b.ArrayExt.findFirstIndex(t.handles,(t=>t.contains(e.target)));if(-1===r)return;e.preventDefault(),e.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let n,i=t.handles[r],a=i.getBoundingClientRect();n="horizontal"===t.orientation?e.clientX-a.left:e.clientY-a.top;let o=window.getComputedStyle(i),s=B.overrideCursor(o.cursor);this._pressData={index:r,delta:n,override:s}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let t,r=this.layout,n=this.node.getBoundingClientRect();t="horizontal"===r.orientation?e.clientX-n.left-this._pressData.delta:e.clientY-n.top-this._pressData.delta,r.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}};!function(e){class t{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t,e.getStretch=function(e){return he.getStretch(e)},e.setStretch=function(e,t){he.setStretch(e,t)}}(ye||(ye={})),function(e){e.createLayout=function(e){return e.layout||new he({renderer:e.renderer||ye.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}}(ge||(ge={}));var ve,xe=class extends ye{constructor(e={}){super({...e,layout:ve.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new z(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e)}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(e){let t=b.ArrayExt.findFirstIndex(this.widgets,(t=>t.contains(e.owner)));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,r=t.widgets[e];if(!r)return;let n=r.isHidden,i=t.absoluteSizes(),a=(n?-1:1)*this.spacing,o=i.reduce(((e,t)=>e+t)),s=[...i];if(n){let t=this._widgetSizesCache.get(r);if(!t)return;s[e]+=t;let n=s.map((e=>e-t>0)).lastIndexOf(!0);-1===n?s.forEach(((r,n)=>{n!==e&&(s[n]-=i[n]/o*(t-a))})):s[n]-=t-a}else{let t=i[e];this._widgetSizesCache.set(r,t),s[e]=0;let n=s.map((e=>e>0)).lastIndexOf(!0);if(-1===n)return;s[n]=i[n]+t+a}return s.map((e=>e/(o+a)))}_evtClick(e){let t=e.target;if(t){let r=b.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(r))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,r=!1;if(t){let n=b.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));if(n>=0){let i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/))t.click(),r=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1,a=this.titles.length,o=(n+a+t)%a;this.titles[o].focus(),r=!0}else"End"===e.key||"35"===i?(this.titles[this.titles.length-1].focus(),r=!0):("Home"===e.key||"36"===i)&&(this.titles[0].focus(),r=!0)}r&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],r=this.layout.widgets[e],n=this._computeWidgetSize(e);n&&this.setRelativeSizes(n,!1),r.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),r.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),r.hide()),this._expansionToggled.emit(e)}};!function(e){class t extends ye.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){let t=document.createElement("h3");t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(let r in e.dataset)t.dataset[r]=e.dataset[r];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";let r=t.appendChild(document.createElement("span"));return r.className="lm-AccordionPanel-titleLabel",r.textContent=e.label,r.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t}(xe||(xe={})),function(e){e.createLayout=function(e){return e.layout||new pe({renderer:e.renderer||xe.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}}(ve||(ve={}));var _e,be=class e extends le{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){b.ArrayExt.insert(this._items,e,new oe(t)),b.ArrayExt.insert(this._sizers,e,new ee),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),b.ArrayExt.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e);b.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let t=0;for(let e=0,r=this._items.length;e0)switch(this._alignment){case"start":break;case"center":c=0,u=n/2;break;case"end":c=0,u=n;break;case"justify":c=n/r,u=0;break;default:throw"unreachable"}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.sizeBasisProperty=new I({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.isHorizontal=function(e){return"left-to-right"===e||"right-to-left"===e},e.clampSpacing=function(e){return Math.max(0,Math.floor(e))}}(_e||(_e={}));var we,Te=class extends me{constructor(e={}){super({layout:we.createLayout(e)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}};!function(e){e.getStretch=function(e){return be.getStretch(e)},e.setStretch=function(e,t){be.setStretch(e,t)},e.getSizeBasis=function(e){return be.getSizeBasis(e)},e.setSizeBasis=function(e,t){be.setSizeBasis(e,t)}}(Te||(Te={})),function(e){e.createLayout=function(e){return e.layout||new be(e)}}(we||(we={}));var ke,Ae=class e extends ne{constructor(t){super({node:ke.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=ke.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map((e=>ke.createItem(this.commands,e)));return t.forEach((e=>this._items.push(e))),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){b.ArrayExt.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){this._results=null,""!==this.inputNode.value?this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit":this.node.getElementsByClassName("lm-close-icon")[0].style.display="none",this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(this.isHidden)return;let t=this.inputNode.value,r=this.contentNode,n=this._results;if(n||(n=this._results=ke.search(this._items,t),this._activeIndex=t?b.ArrayExt.findFirstIndex(n,ke.canActivate):-1),!t&&0===n.length)return void Z.render(null,r);if(t&&0===n.length){let e=this.renderer.renderEmptyMessage({query:t});return void Z.render(e,r)}let a=this.renderer,o=this._activeIndex,s=new Array(n.length);for(let e=0,t=n.length;e=n.length)r.scrollTop=0;else{let e=r.children[o];i.scrollIntoViewIfNeeded(r,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon"))return this.inputNode.value="",void this.refresh();let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>t.contains(e.target)));-1!==t&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,r=ee-t)),c=a.slice(0,l),u=a.slice(l);for(let e=0,t=u.length;er.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}}}(ke||(ke={}));var Me,Se,Ee=class e extends ne{constructor(t){super({node:Me.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new z(this),this._menuRequested=new z(this),this.addClass("lm-Menu"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),-1!==e&&!Me.canActivate(this._items[e])&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,r=t{this.activeIndex=e}})}Z.render(a,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let r=this._parentMenu;r&&(this._parentMenu=null,r._childIndex=-1,r._childMenu=null,r.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;return void(e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next"))}if(40===t)return void this.activateNextItem();let r=U().keyForKeydownEvent(e);if(!r)return;let n=this._activeIndex+1,i=Me.findMnemonic(this._items,r,n);-1===i.index||i.multiple?-1!==i.index?this.activeIndex=i.index:-1!==i.auto&&(this.activeIndex=i.auto):(this.activeIndex=i.index,this.triggerActiveItem())}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex)return this._cancelOpenTimer(),void this._cancelCloseTimer();-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let r=this.activeItem;!r||"submenu"!==r.type||!r.submenu||this._startOpenTimer()}_evtMouseEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu)return void(this.activeIndex=-1);let{clientX:t,clientY:r}=e;i.hitTest(this._childMenu.node,t,r)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtMouseDown(e){this._parentMenu||(Me.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(t=!1){let r=this.activeItem;if(!r||"submenu"!==r.type||!r.submenu)return void this._closeChildMenu();let n=r.submenu;if(n===this._childMenu)return;e.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,M.sendMessage(this,ne.Msg.UpdateRequest);let i=this.contentNode.children[this._activeIndex];Me.openSubmenu(n,i),t&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout((()=>{this._openTimerID=0,this._openChildMenu()}),Me.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout((()=>{this._closeTimerID=0,this._closeChildMenu()}),Me.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){Me.saveWindowData()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,tabindex:"0",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return J.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return J.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.item.isVisible||(t+=" lm-mod-hidden"),e.active&&(t+=" lm-mod-active"),e.collapsed&&(t+=" lm-mod-collapsed");let r=e.item.className;return r&&(t+=` ${r}`),t}createItemDataset(e){let t,{type:r,command:n,dataset:i}=e.item;return t="command"===r?{...i,type:r,command:n}:{...i,type:r},t}createIconClass(e){let t="lm-Menu-itemIcon",r=e.item.iconClass;return r?`${t} ${r}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true",e.item.isEnabled||(t["aria-disabled"]="true");break;default:e.item.isEnabled||(t["aria-disabled"]="true"),t.role="menuitem"}return t}formatLabel(e){let{label:t,mnemonic:r}=e.item;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-Menu-itemMnemonic"},a),i]}formatShortcut(e){let t=e.item.keyBinding;return t?W.formatKeystroke(t.keys):null}}e.Renderer=t,e.defaultRenderer=new t}(Ee||(Ee={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,r=0;function n(){return r>0?(r--,t):o()}function a(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function o(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}e.saveWindowData=function(){t=o(),r++},e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-Menu-content",e.appendChild(t),t.setAttribute("role","menu"),e.tabIndex=0,e},e.canActivate=a,e.createItem=function(e,t){return new s(e.commands,t)},e.hitTestMenus=function(e,t,r){for(let n=e;n;n=n.childMenu)if(i.hitTest(n.node,t,r))return!0;return!1},e.computeCollapsed=function(e){let t=new Array(e.length);b.ArrayExt.fill(t,!1);let r=0,n=e.length;for(;r=0;--i){let r=e[i];if(r.isVisible){if("separator"!==r.type)break;t[i]=!0}}let a=!1;for(;++rc+h&&(t=c+h-g),!a&&r+y>u+f&&(r>u+f?r=u+f-y:r-=y),m.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,r)}px`,m.opacity="1"},e.openSubmenu=function(t,r){let a=n(),o=a.pageXOffset,s=a.pageYOffset,l=a.clientWidth,c=a.clientHeight;M.sendMessage(t,ne.Msg.UpdateRequest);let u=c,h=t.node,f=h.style;f.opacity="0",f.maxHeight=`${u}px`,ne.attach(t,document.body);let{width:p,height:d}=h.getBoundingClientRect(),m=i.boxSizing(t.node),g=r.getBoundingClientRect(),y=g.right-e.SUBMENU_OVERLAP;y+p>o+l&&(y=g.left+e.SUBMENU_OVERLAP-p);let v=g.top-m.borderTop-m.paddingTop;v+d>s+c&&(v=g.bottom+m.borderBottom+m.paddingBottom-d),f.transform=`translate(${Math.max(0,y)}px, ${Math.max(0,v)}px`,f.opacity="1"},e.findMnemonic=function(e,t,r){let n=-1,i=-1,o=!1,s=t.toUpperCase();for(let t=0,l=e.length;t=0&&fr.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}return null}}}(Me||(Me={})),function(e){function t(e,t){let r=e.rank,n=t.rank;return r!==n?r=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,r=this._titles[t]||null,n=e,i=this._titles[n]||null;this._currentIndex=n,this._previousTitle=r,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:r,currentIndex:n,currentTitle:i})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute("aria-label",e):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute("aria-orientation",e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let r=Ce.asTitle(t),n=this._titles.indexOf(r),i=Math.max(0,Math.min(e,this._titles.length));return-1===n?(b.ArrayExt.insert(this._titles,i,r),r.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(i,r),r):(i===this._titles.length&&i--,n===i||(b.ArrayExt.move(this._titles,n,i),this.update(),this._adjustCurrentForMove(n,i)),r)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=b.ArrayExt.removeAt(this._titles,e);t&&(t.changed.disconnect(this._onTitleChanged,this),t===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,t))}clearTabs(){if(0===this._titles.length)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(e){var t;let r=this._titles,n=this.renderer,i=this.currentTitle,a=new Array(r.length),o=null!==(t=this._getCurrentTabindex())&&void 0!==t?t:this._currentIndex>-1?this._currentIndex:0;for(let e=0,t=r.length;ei.hitTest(t,e.clientX,e.clientY)));if(-1===r)return;let n=this.titles[r],a=t[r].querySelector(".lm-TabBar-tabLabel");if(a&&a.contains(e.target)){let e=n.label||"",t=a.innerHTML;a.innerHTML="";let r=document.createElement("input");r.classList.add("lm-TabBar-tabInput"),r.value=e,a.appendChild(r);let i=()=>{r.removeEventListener("blur",i),a.innerHTML=t,this.node.addEventListener("keydown",this)};r.addEventListener("dblclick",(e=>e.stopPropagation())),r.addEventListener("blur",i),r.addEventListener("keydown",(e=>{"Enter"===e.key?(""!==r.value&&(n.label=n.caption=r.value),i()):"Escape"===e.key&&i()})),this.node.removeEventListener("keydown",this),r.select(),r.focus(),a.children.length>0&&a.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,r,n;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE)if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let r=b.ArrayExt.findFirstIndex(this.contentNode.children,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=r)}}else if(Ie.includes(e.key)){let i=[...this.contentNode.children];if(this.addButtonEnabled&&i.push(this.addButtonNode),i.length<=1)return;e.preventDefault(),e.stopPropagation();let a,o=i.indexOf(document.activeElement);-1===o&&(o=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?a=null!==(t=i[o+1])&&void 0!==t?t:i[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?a=null!==(r=i[o-1])&&void 0!==r?r:i[i.length-1]:"Home"===e.key?a=i[0]:"End"===e.key&&(a=i[i.length-1]),a&&(null===(n=i[o])||void 0===n||n.setAttribute("tabindex","-1"),a?.setAttribute("tabindex","0"),a.focus())}}_evtPointerDown(e){if(0!==e.button&&1!==e.button||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),r=this.contentNode.children,n=b.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(-1===n&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:r[n],index:n,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),1===e.button||t))return;let a=r[n].querySelector(this.renderer.closeIconSelector);a&&a.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===n?this.currentIndex=-1:this.currentIndex=n,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let r=this.contentNode.children;if(t.dragActive||Ce.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=Ce.snapTabLayout(r,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=B.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&Ce.detachExceeded(t,e)){t.detachRequested=!0;let n=t.index,i=e.clientX,a=e.clientY,o=r[n],s=this._titles[n];if(this._tabDetachRequested.emit({index:n,title:s,tab:o,clientX:i,clientY:a,offset:t.tabPressOffset}),t.dragAborted)return}Ce.layoutTabs(r,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;let t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target))return void this._addRequested.emit(void 0);let r=this.contentNode.children,n=b.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(n!==t.index)return;let a=this._titles[n];if(!a.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:n,title:a});let o=r[n].querySelector(this.renderer.closeIconSelector);return o&&o.contains(e.target)?void this._tabCloseRequested.emit({index:n,title:a}):void 0}if(0!==e.button)return;Ce.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging");let r=Ce.parseTransitionDuration(t.tab);setTimeout((()=>{if(t.dragAborted)return;this._dragData=null,Ce.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,r=t.targetIndex;-1===r||e===r||(b.ArrayExt.move(this._titles,e,r),this._adjustCurrentForMove(e,r),this._tabMoved.emit({fromIndex:e,toIndex:r,title:this._titles[r]}),M.sendMessage(this,ne.Msg.UpdateRequest))}),r)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),e.dragAborted=!0,e.dragActive&&(Ce.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,t){let r=this.currentTitle,n=this._currentIndex,i=this.insertBehavior;if("select-tab"===i||"select-tab-if-needed"===i&&-1===n)return this._currentIndex=e,this._previousTitle=r,void this._currentChanged.emit({previousIndex:n,previousTitle:r,currentIndex:e,currentTitle:t});n>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let r=this._currentIndex,n=this.removeBehavior;if(r===e)return 0===this._titles.length?(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})):"select-tab-after"===n?(this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-tab-before"===n?(this._currentIndex=Math.max(0,e-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-previous-tab"===n?(this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null}));r>e&&this._currentIndex--}_onTitleChanged(e){this.update()}};!function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption,r=this.createTabKey(e),n=r,i=this.createTabStyle(e),a=this.createTabClass(e),o=this.createTabDataset(e),s=this.createTabARIA(e);return e.title.closable?J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,r=this.createIconClass(e);return J.div({className:r},t.icon,t.iconLabel)}renderLabel(e){return J.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return J.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=" lm-mod-closable"),e.current&&(t+=" lm-mod-current"),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!==(t=e.tabIndex)&&void 0!==t?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t,e.addButtonSelector=".lm-TabBar-addButton"}(Le||(Le={})),function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let r=document.createElement("div");return r.className="lm-TabBar-addButton lm-mod-hidden",r.setAttribute("tabindex","-1"),r.setAttribute("role","button"),e.appendChild(r),e},e.asTitle=function(e){return e instanceof re?e:new re(e)},e.parseTransitionDuration=function(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)},e.snapTabLayout=function(e,t){let r=new Array(e.length);for(let n=0,i=e.length;n=e.DRAG_THRESHOLD||i>=e.DRAG_THRESHOLD},e.detachExceeded=function(t,r){let n=t.contentRect;return r.clientX=n.right+e.DETACH_THRESHOLD||r.clientY=n.bottom+e.DETACH_THRESHOLD},e.layoutTabs=function(e,t,r,n){let i,a,o,s;"horizontal"===n?(i=t.pressX,a=r.clientX-t.contentRect.left,o=r.clientX,s=t.contentRect.width):(i=t.pressY,a=r.clientY-t.contentRect.top,o=r.clientY,s=t.contentRect.height);let l=t.index,c=a-t.tabPressPos,u=c+t.tabSize;for(let r=0,a=e.length;r>1);if(rt.index&&u>f)a=-t.tabSize-h.margin+"px",l=Math.max(l,r);else if(r===t.index){let e=o-i,r=s-(t.tabPos+t.tabSize);a=`${Math.max(-t.tabPos,Math.min(e,r))}px`}else a="";"horizontal"===n?e[r].style.left=a:e[r].style.top=a}t.targetIndex=l},e.finalizeTabPosition=function(e,t){let r,n;if(r="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)n=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];n=t.pos+t.size-e.tabSize-e.tabPos}else n=e.tabLayout[e.targetIndex].pos-e.tabPos;let i=r-(e.tabPos+e.tabSize),a=Math.max(-e.tabPos,Math.min(n,i));"horizontal"===t?e.tab.style.left=`${a}px`:e.tab.style.top=`${a}px`},e.resetTabPositions=function(e,t){for(let r of e)"horizontal"===t?r.style.left="":r.style.top=""}}(Ce||(Ce={}));var Pe,ze=class extends ie{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:ne.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach((e=>{e.dispose()})),this._box=null,this._root=null,this._items.clear();for(let t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let e of this.tabBars())if(e.titles.length>1)for(let t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,b.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,b.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,b.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,b.empty)()}handles(){return this._root?this._root.iterHandles():(0,b.empty)()}moveHandle(e,t,r){let n=e.classList.contains("lm-mod-hidden");if(!this._root||n)return;let i,a=this._root.findSplitNode(e);a&&(i="horizontal"===a.node.orientation?t-e.offsetLeft:r-e.offsetTop,0!==i&&(a.node.holdSizes(),Q.adjust(a.node.sizers,a.index,i),this.parent&&this.parent.update()))}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,r=new Set;t=e.main?Pe.normalizeAreaConfig(e.main,r):null;let n=this.widgets(),i=this.tabBars(),a=this.handles();this._root=null;for(let e of n)r.has(e)||(e.parent=null);for(let e of i)e.dispose();for(let e of a)e.parentNode&&e.parentNode.removeChild(e);for(let e of r)e.parent=this.parent;this._root=t?Pe.realizeAreaConfig(t,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):null,this.parent&&(r.forEach((e=>{this.attachWidget(e)})),this.parent.fit())}addWidget(e,t={}){let r=t.ref||null,n=t.mode||"tab-after",i=null;if(this._root&&r&&(i=this._root.findTabNode(r)),r&&!i)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,n){case"tab-after":this._insertTab(e,r,i,!0);break;case"tab-before":this._insertTab(e,r,i,!1);break;case"split-top":this._insertSplit(e,r,i,"vertical",!1);break;case"split-left":this._insertSplit(e,r,i,"horizontal",!1);break;case"split-right":this._insertSplit(e,r,i,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,r,i,"vertical",!0);break;case"merge-top":this._insertSplit(e,r,i,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,r,i,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,r,i,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,r,i,"vertical",!0,!0)}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=i.boxSizing(this.parent.node));let r=this.parent.node.getBoundingClientRect(),n=e-r.left-this._box.borderLeft,a=t-r.top-this._box.borderTop,o=this._root.hitTestTabNodes(n,a);if(!o)return null;let{tabBar:s,top:l,left:c,width:u,height:h}=o,f=this._box.borderLeft+this._box.borderRight,p=this._box.borderTop+this._box.borderBottom;return{tabBar:s,x:n,y:a,top:l,left:c,right:r.width-f-(c+u),bottom:r.height-p-(l+h),width:u,height:h}}init(){super.init();for(let e of this)this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new oe(e)),this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(Pe.removeAria(e),t.tabBar.titles.length>1)return t.tabBar.removeTab(e.title),void(this._hiddenMode===ne.HiddenMode.Scale&&1==t.tabBar.titles.length&&(t.tabBar.titles[0].owner.hiddenMode=ne.HiddenMode.Display));if(t.tabBar.dispose(),this._root===t)return void(this._root=null);this._root.holdAllSizes();let r=t.parent;t.parent=null;let n=b.ArrayExt.removeFirstOf(r.children,t),i=b.ArrayExt.removeAt(r.handles,n);if(b.ArrayExt.removeAt(r.sizers,n),i.parentNode&&i.parentNode.removeChild(i),r.children.length>1)return void r.syncHandles();let a=r.parent;r.parent=null;let o=r.children[0],s=r.handles[0];if(r.children.length=0,r.handles.length=0,r.sizers.length=0,s.parentNode&&s.parentNode.removeChild(s),this._root===r)return o.parent=null,void(this._root=o);let l=a,c=l.children.indexOf(r);if(o instanceof Pe.TabLayoutNode)return o.parent=l,void(l.children[c]=o);let u=b.ArrayExt.removeAt(l.handles,c);b.ArrayExt.removeAt(l.children,c),b.ArrayExt.removeAt(l.sizers,c),u.parentNode&&u.parentNode.removeChild(u);for(let e=0,t=o.children.length;e=r.length)&&(n=0),{type:"tab-area",widgets:r,currentIndex:n}}(t,r):function(t,r){let n=t.orientation,i=[],a=[];for(let o=0,s=t.children.length;o{let l=i(n,r,a),c=t(e.sizes[s]),u=r.createHandle();o.children.push(l),o.handles.push(u),o.sizers.push(c),l.parent=o})),o.syncHandles(),o.normalizeSizes(),o}(a,o,s),l};class r{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new ee,r=new ee;t.stretch=0,r.stretch=1,this.tabBar=e,this.sizers=[t,r]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return-1!==this.tabBar.titles.indexOf(e.title)?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e=this._left+this._width||t=this._top+this._height?null:this}createConfig(){return{type:"tab-area",widgets:this.tabBar.titles.map((e=>e.owner)),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let r=0,n=0,i=t.get(this.tabBar),a=this.tabBar.currentTitle,o=a?t.get(a.owner):void 0,[s,l]=this.sizers;return i&&i.fit(),o&&o.fit(),i&&!i.isHidden?(r=Math.max(r,i.minWidth),n+=i.minHeight,s.minSize=i.minHeight,s.maxSize=i.maxHeight):(s.minSize=0,s.maxSize=0),o&&!o.isHidden?(r=Math.max(r,o.minWidth),n+=o.minHeight,l.minSize=o.minHeight,l.maxSize=1/0):(l.minSize=0,l.maxSize=1/0),{minWidth:r,minHeight:n,maxWidth:1/0,maxHeight:1/0}}update(e,t,r,n,i,a){this._top=t,this._left=e,this._width=r,this._height=n;let o=a.get(this.tabBar),s=this.tabBar.currentTitle,l=s?a.get(s.owner):void 0;if(Q.calc(this.sizers,n),o&&!o.isHidden){let n=this.sizers[0].size;o.update(e,t,r,n),t+=n}if(l&&!l.isHidden){let n=this.sizers[1].size;l.update(e,t,r,n)}}}e.TabLayoutNode=r;class n{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(let e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,r=this.children.length;te.createConfig())),sizes:t}}syncHandles(){this.handles.forEach(((e,t)=>{e.setAttribute("data-orientation",this.orientation),t===this.handles.length-1?e.classList.add("lm-mod-hidden"):e.classList.remove("lm-mod-hidden")}))}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce(((e,t)=>e+t.sizeHint),0);if(0===t)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map((e=>e.size)),r=t.reduce(((e,t)=>e+t),0);if(0===r)for(let r=t.length-1;r>-1;r--)t[r]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=r;return t}fit(e,t){let r="horizontal"===this.orientation,n=Math.max(0,this.children.length-1)*e,i=r?n:0,a=r?0:n;for(let n=0,o=this.children.length;nthis._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new ze({document:this._document,renderer:r,spacing:t.spacing,hiddenMode:t.hiddenMode}),this.overlay=t.overlay||new e.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case"multiple-document":for(let e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(De.createSingleDocumentConfig(this));break;default:throw"unreachable"}M.postMessage(this,De.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(let t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,b.find)(this.tabBars(),(t=>-1!==t.titles.indexOf(e.title)));if(!t)throw new Error("Widget is not contained in the dock panel.");t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document",this.layout.restoreLayout(e),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,De.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),M.postMessage(this,De.LayoutModified)}processMessage(e){"layout-modified"===e.type?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){De.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){De.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),M.postMessage(this,De.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData("application/vnd.lumino.widget-factory")&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),(!this._tabsConstrained||e.source===this)&&(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction)return void(e.dropAction="none");let{clientX:t,clientY:r}=e,{zone:n,target:i}=De.findDropTarget(this,t,r,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===n)return void(e.dropAction="none");let a=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof a)return void(e.dropAction="none");let o=a();if(!(o instanceof ne))return void(e.dropAction="none");if(o.contains(this))return void(e.dropAction="none");let s=i?De.getDropRef(i.tabBar):null;switch(n){case"root-all":this.addWidget(o);break;case"root-top":this.addWidget(o,{mode:"split-top"});break;case"root-left":this.addWidget(o,{mode:"split-left"});break;case"root-right":this.addWidget(o,{mode:"split-right"});break;case"root-bottom":this.addWidget(o,{mode:"split-bottom"});break;case"widget-all":case"widget-tab":this.addWidget(o,{mode:"tab-after",ref:s});break;case"widget-top":this.addWidget(o,{mode:"split-top",ref:s});break;case"widget-left":this.addWidget(o,{mode:"split-left",ref:s});break;case"widget-right":this.addWidget(o,{mode:"split-right",ref:s});break;case"widget-bottom":this.addWidget(o,{mode:"split-bottom",ref:s});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),M.postMessage(this,De.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=e.target,n=(0,b.find)(t.handles(),(e=>e.contains(r)));if(!n)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let i=n.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=window.getComputedStyle(n),l=B.overrideCursor(s.cursor,this._document);this._pressData={handle:n,deltaX:a,deltaY:o,override:l}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),r=e.clientX-t.left-this._pressData.deltaX,n=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,r,n)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),M.postMessage(this,De.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(e,t){let{zone:r,target:n}=De.findDropTarget(this,e,t,this._edges);if("invalid"===r)return this.overlay.hide(100),r;let a,o,s,l,c=i.boxSizing(this.node),u=this.node.getBoundingClientRect();switch(r){case"root-all":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"root-top":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=u.height*De.GOLDEN_RATIO;break;case"root-left":a=c.paddingTop,o=c.paddingLeft,s=u.width*De.GOLDEN_RATIO,l=c.paddingBottom;break;case"root-right":a=c.paddingTop,o=u.width*De.GOLDEN_RATIO,s=c.paddingRight,l=c.paddingBottom;break;case"root-bottom":a=u.height*De.GOLDEN_RATIO,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"widget-all":a=n.top,o=n.left,s=n.right,l=n.bottom;break;case"widget-top":a=n.top,o=n.left,s=n.right,l=n.bottom+n.height/2;break;case"widget-left":a=n.top,o=n.left,s=n.right+n.width/2,l=n.bottom;break;case"widget-right":a=n.top,o=n.left+n.width/2,s=n.right,l=n.bottom;break;case"widget-bottom":a=n.top+n.height/2,o=n.left,s=n.right,l=n.bottom;break;case"widget-tab":{let e=n.tabBar.node.getBoundingClientRect().height;a=n.top,o=n.left,s=n.right,l=n.bottom+n.height-e;break}default:throw"unreachable"}return this.overlay.show({top:a,left:o,right:s,bottom:l}),r}_createTabBar(){let e=this._renderer.createTabBar(this._document);return De.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior="select-previous-tab",e.insertBehavior="select-tab-if-needed",e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){M.postMessage(this,De.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:r,currentTitle:n}=t;r&&r.owner.hide(),n&&n.owner.show(),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,De.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:r,tab:n,clientX:i,clientY:a,offset:o}=t,s=new w.MimeData;s.setData("application/vnd.lumino.widget-factory",(()=>r.owner));let l=n.cloneNode(!0);o&&(l.style.top=`-${o.y}px`,l.style.left=`-${o.x}px`),this._drag=new B({document:this._document,mimeData:s,dragImage:l,proposedAction:"move",supportedActions:"move",source:this}),n.classList.add("lm-mod-hidden"),this._drag.start(i,a).then((()=>{this._drag=null,n.classList.remove("lm-mod-hidden")}))}};!function(e){e.Overlay=class{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(e){if(!this._hidden){if(e<=0)return clearTimeout(this._timer),this._timer=-1,this._hidden=!0,void this.node.classList.add("lm-mod-hidden");-1===this._timer&&(this._timer=window.setTimeout((()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")}),e))}}};class t{createTabBar(e){let t=new Le({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t}(Oe||(Oe={})),function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new E("layout-modified"),e.isGeneratedTabBarProperty=new I({name:"isGeneratedTabBar",create:()=>!1}),e.createSingleDocumentConfig=function(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),r=e.selectedWidgets().next().value,n=r?t.indexOf(r):-1;return{main:{type:"tab-area",widgets:t,currentIndex:n}}},e.findDropTarget=function(e,t,r,n){if(!i.hitTest(e.node,t,r))return{zone:"invalid",target:null};let a=e.layout;if(a.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let i=e.node.getBoundingClientRect(),a=t-i.left+1,o=r-i.top+1,s=i.right-t,l=i.bottom-r;switch(Math.min(o,s,l,a)){case o:if(of&&c>f&&l>p&&u>p)return{zone:"widget-all",target:o};switch(s/=f,l/=p,c/=f,u/=p,Math.min(s,l,c,u)){case s:h="widget-left";break;case l:h="widget-top";break;case c:h="widget-right";break;case u:h="widget-bottom";break;default:throw"unreachable"}return{zone:h,target:o}},e.getDropRef=function(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}}(De||(De={}));var Re,Fe=class e extends ie{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new ee],this._columnSizers=[new ee],this._box=null,void 0!==e.rowCount&&Re.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&Re.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=Re.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=Re.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(Re.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Re.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Re.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Re.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let r=this._rowSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let r=this._columnSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){-1===b.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e))&&(this._items.push(new oe(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=b.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e));if(-1===t)return;let r=b.ArrayExt.removeAt(this._items,t);this.parent&&this.detachWidget(e),r.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e!e.isHidden));for(let e=0,r=t.length;e({row:0,column:0,rowSpan:1,columnSpan:1}),changed:function(e){e.parent&&e.parent.layout instanceof Fe&&e.parent.fit()}}),e.normalizeConfig=function(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}},e.clampValue=function(e){return Math.max(0,Math.floor(e))},e.rowSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.rowSpan-i.rowSpan},e.columnSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.columnSpan-i.columnSpan},e.reallocSizers=function(e,t){for(t=Math.max(1,Math.floor(t));e.lengtht&&(e.length=t)},e.distributeMin=function(e,t,r,n){if(r=n)return;let a=(n-i)/(r-t+1);for(let n=t;n<=r;++n)e[n].minSize+=a}}(Re||(Re={}));var Be,je,Ne=class e extends ne{constructor(t={}){super({node:Be.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(ne.Flag.DisallowLayout),this.renderer=t.renderer||e.defaultRenderer,this._forceItemsPosition=t.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=t.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&0===this._menus[e].items.length&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,r=!0){this._closeChildMenu();let n=this._menus.indexOf(t),i=Math.max(0,Math.min(e,this._menus.length));if(-1===n)return b.ArrayExt.insert(this._menus,i,t),t.addClass("lm-MenuBar-menu"),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),void(r&&this.update());i===this._menus.length&&i--,n!==i&&(b.ArrayExt.move(this._menus,n,i),r&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let r=b.ArrayExt.removeAt(this._menus,e);r&&(r.aboutToClose.disconnect(this._onMenuAboutToClose,this),r.menuRequested.disconnect(this._onMenuMenuRequested,this),r.title.changed.disconnect(this._onTitleChanged,this),r.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){var t;let r=this._menus,n=this.renderer,i=this._activeIndex,a=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:r.length,s=0,l=!1;o=null!==this._overflowMenu?o-1:o;let c=new Array(o);for(let e=0;e{this._tabFocusIndex=e,this.activeIndex=e}}),s+=this._menuItemSizes[e],r[e].title.label===this._overflowMenuOptions.title&&(l=!0,o--);if(this._overflowMenuOptions.isVisible)if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){let e=null!==(t=this._overflowMenuOptions.title)&&void 0!==t?t:"...";this._overflowMenu=new Ee({commands:new W}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=r.length-2;e>=o;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}c[o]=n.renderItem({title:this._overflowMenu.title,active:o===i&&0!==r[o].items.length,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,i=this._overflowMenu.items.length;for(let l=0;lthis._menuItemSizes[i]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(o,t,!1),c[o]=n.renderItem({title:t.title,active:!1,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),c.pop(),this._overflowMenu=null,this._overflowIndex=-1)}Z.render(c,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,r=0,n=-1,i=e.length;if(0==this._menuItemSizes.length)for(let a=0;at&&-1===n&&(n=a)}else for(let e=0;et){n=e;break}this._overflowIndex=n}_evtKeyDown(e){let t=e.keyCode;if(9===t)return void(this.activeIndex=-1);if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;return void this.openActiveMenu()}if(27===t)return this._closeChildMenu(),void this._focusItemAt(this.activeIndex);if(37===t||39===t){let e=37===t?-1:1,r=this._tabFocusIndex+e,n=this._menus.length;for(let t=0;ti.hitTest(t,e.clientX,e.clientY)));if(-1!==t){if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let r=this._positionForMenu(t);Ee.saveWindowData(),this.activeIndex=t,this._openChildMenu(r)}}else this._closeChildMenu()}_evtMouseMove(e){let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex||-1===t&&this._childMenu)return;let r=t>=0&&this._childMenu?this._positionForMenu(t):null;Ee.saveWindowData(),this.activeIndex=t,r&&this._openChildMenu(r)}_positionForMenu(e){let t=this.contentNode.children[e],{left:r,bottom:n}=t.getBoundingClientRect();return{top:n,left:r}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let r=this._childMenu;if(r===t)return;this._childMenu=t,r?r.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,M.sendMessage(this,ne.Msg.UpdateRequest);let{left:n,top:i}=e;(typeof n>"u"||typeof i>"u")&&({left:n,top:i}=this._positionForMenu(this._activeIndex)),r||this.addClass("lm-mod-active"),t.items.length>0&&t.open(n,i,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let r=this._activeIndex,n=this._menus.length;switch(t){case"next":this.activeIndex=r===n-1?0:r+1;break;case"previous":this.activeIndex=0===r?n-1:r-1}this.openActiveMenu()}_onTitleChanged(){this.update()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=" lm-mod-active"),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true","aria-disabled":e.disabled?"true":"false"}}createIconClass(e){let t="lm-MenuBar-itemIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}formatLabel(e){let{label:t,mnemonic:r}=e.title;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-MenuBar-itemMnemonic"},a),i]}}e.Renderer=t,e.defaultRenderer=new t}(Ne||(Ne={})),function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e},e.findMnemonic=function(e,t,r){let n=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t=0&&u1&&this.widgets.forEach((e=>{e.hiddenMode=this._hiddenMode})))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===ne.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=ne.HiddenMode.Scale),t.hiddenMode=ne.HiddenMode.Scale):t.hiddenMode=ne.HiddenMode.Display,b.ArrayExt.insert(this._items,e,new oe(t)),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.widget.node.style.zIndex="",this._hiddenMode===ne.HiddenMode.Scale&&(t.hiddenMode=ne.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=ne.HiddenMode.Display)),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let r=0,n=this._items.length;r{this.createGraph(this._model)}))}renderModel(e){if(this.hasGraphElement())return Promise.resolve();this._model=e;let t=e.data["image/png"];return null!=t?(this.updateImage(t),Promise.resolve()):this.createGraph(e)}hasGraphElement(){return null!==this.node.querySelector(".plot-container")}updateImage(e){this.hideGraph(),this._img_el.src="data:image/png;base64,"+e,this.showImage()}hideGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="none")}showGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="block")}hideImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="none")}showImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="block")}createGraph(t){let{data:r,layout:n,frames:i,config:a}=t.data[this._mimeType];return n.height||(n.height=360),(async()=>(null===e.Plotly&&(e.Plotly=await Promise.resolve().then((()=>y(_()))),e._resolveLoadingPlotly()),e.loadingPlotly))().then((()=>e.Plotly.react(this.node,r,n,a))).then((r=>{this.showGraph(),this.hideImage(),this.update(),i&&e.Plotly.addFrames(this.node,i),this.node.offsetWidth>0&&this.node.offsetHeight>0&&e.Plotly.toImage(r,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then((e=>{let r=e.split(",")[1];t.data["image/png"]!==r&&t.setData({data:{...t.data,"image/png":r}})})),this.node.on("plotly_webglcontextlost",(()=>{let e=t.data["image/png"];if(null!=e)return this.updateImage(e),Promise.resolve()}))}))}onAfterShow(e){this.update()}onResize(e){this.update()}onUpdateRequest(t){e.Plotly&&this.isVisible&&this.hasGraphElement()&&e.Plotly.redraw(this.node).then((()=>{e.Plotly.Plots.resize(this.node)}))}static{this.Plotly=null}static{this.loadingPlotly=new Promise((t=>{e._resolveLoadingPlotly=t}))}},We={safe:!0,mimeTypes:[He],createRenderer:e=>new Ge(e)},Ze=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:We,rank:2,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[He],extensions:[".plotly",".plotly.json"],iconClass:"jp-MaterialIcon jp-PlotlyIcon"}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}]},e=>{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,l=[],c=!1,u=-1;function h(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&f())}function f(){if(!c){var e=o(h);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u1)for(var r=1;r - * @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 - *) - *) -*/ diff --git a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.2a6392a40c19ad8383a0.js b/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.2a6392a40c19ad8383a0.js deleted file mode 100644 index 9500e787c69afa043e225a16c203ec79ece38cf7..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.2a6392a40c19ad8383a0.js +++ /dev/null @@ -1 +0,0 @@ -var _JUPYTERLAB;(()=>{"use strict";var e,r,t=[(e,r,t)=>{var o={"./index":()=>t.e(1).then((()=>()=>t(2))),"./mimeExtension":()=>t.e(1).then((()=>()=>t(2)))},a=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),n=(e,r)=>{if(t.S){var o="default",a=t.S[o];if(a&&a!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>a,init:()=>n})}],o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,a),n.exports}a.m=t,a.c=o,a.amdO={},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>e+".747c8e0c8042a68fba0a.js?v=747c8e0c8042a68fba0a",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="jupyterlab-plotly:",a.l=(t,o,n,i)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==n)for(var p=document.getElementsByTagName("script"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var a=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(o))),r)return r(o)},f=setTimeout(c.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=c.bind(null,l.onerror),l.onload=c.bind(null,l.onload),u&&document.head.appendChild(l)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{a.S={};var e={},r={};a.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];a.o(a.S,t)||(a.S[t]={});var i=a.S[t],l="jupyterlab-plotly",u=[];return"default"===t&&((e,r,t,o)=>{var n=i[e]=i[e]||{},u=n[r];(!u||!u.loaded&&(1!=!u.eager?o:l>u.from))&&(n[r]={get:()=>a.e(1).then((()=>()=>a(2))),from:l,eager:!1})})("jupyterlab-plotly","6.8.0"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var r=a.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={0:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,a)=>o=e[r]=[t,a]));t.push(o[2]=n);var i=a.p+a.u(r),l=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",l.name="ChunkLoadError",l.type=n,l.request=i,o[1](l)}}),"chunk-"+r,r)}};var r=(r,t)=>{var o,n,[i,l,u]=t,p=0;if(i.some((r=>0!==e[r]))){for(o in l)a.o(l,o)&&(a.m[o]=l[o]);u&&u(a)}for(r&&r(t);p\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" - } - ] -} \ No newline at end of file diff --git a/DocIntel/share/jupyter/nbextensions/pydeck/extensionRequires.js b/DocIntel/share/jupyter/nbextensions/pydeck/extensionRequires.js deleted file mode 100644 index f663cc192edcb23360ed281390a083352c743434..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/nbextensions/pydeck/extensionRequires.js +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable */ -define(function() { - 'use strict'; - requirejs.config({ - map: { - '*': { - '@deck.gl/jupyter-widget': 'nbextensions/pydeck/index' - } - } - }); - // Export the required load_ipython_extension function - return { - load_ipython_extension: function() {} - }; -}); diff --git a/DocIntel/share/jupyter/nbextensions/pydeck/index.js b/DocIntel/share/jupyter/nbextensions/pydeck/index.js deleted file mode 100644 index 5349da7e58a49446ce2ee4fcd6ccf440fd6922c4..0000000000000000000000000000000000000000 --- a/DocIntel/share/jupyter/nbextensions/pydeck/index.js +++ /dev/null @@ -1,8929 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if (typeof define === 'function' && define.amd) define([], factory); - else { - var a = factory(); - for (var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; -}})(globalThis, function () { -"use strict";var __exports__=(()=>{var BTe=Object.create;var bI=Object.defineProperty;var LTe=Object.getOwnPropertyDescriptor;var DTe=Object.getOwnPropertyNames;var OTe=Object.getPrototypeOf,FTe=Object.prototype.hasOwnProperty;var kTe=(t,e,r)=>e in t?bI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var lQ=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Nt=(t,e)=>()=>(t&&(e=t(t=0)),e);var Vi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ua=(t,e)=>{for(var r in e)bI(t,r,{get:e[r],enumerable:!0})},cQ=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of DTe(e))!FTe.call(t,n)&&n!==r&&bI(t,n,{get:()=>e[n],enumerable:!(i=LTe(e,n))||i.enumerable});return t};var If=(t,e,r)=>(r=t!=null?BTe(OTe(t)):{},cQ(e||!t||!t.__esModule?bI(r,"default",{value:t,enumerable:!0}):r,t)),uQ=t=>cQ(bI({},"__esModule",{value:!0}),t);var Qi=(t,e,r)=>(kTe(t,typeof e!="symbol"?e+"":e,r),r);var yD,HTe,vD,GTe,fQ,k8=Nt(()=>{yD=globalThis,HTe=globalThis.document||{},vD=globalThis.process||{},GTe=globalThis.console,fQ=globalThis.navigator||{}});function xD(t){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let e=typeof navigator<"u"&&navigator.userAgent,r=t||e;return Boolean(r&&r.indexOf("Electron")>=0)}var N8=Nt(()=>{});function rp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||xD()}var z8=Nt(()=>{N8()});function U8(t){return!t&&!rp()?"Node":xD(t)?"Electron":(t||fQ.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown"}var dQ=Nt(()=>{z8();N8();k8()});var V8,Iv=Nt(()=>{k8();z8();dQ();V8="4.1.1"});function G2(t,e){if(!t)throw new Error(e||"Assertion failed")}var j8=Nt(()=>{});function H8(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return G2(Number.isFinite(e)&&e>=0),e}function pQ(t){let{logLevel:e,message:r}=t;t.logLevel=H8(e);let i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&i.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let n=typeof t.message;return G2(n==="string"||n==="object"),Object.assign(t,{args:i},t.opts)}var mQ=Nt(()=>{j8()});var Bb,bD,gQ=Nt(()=>{mQ();Bb=()=>{},bD=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...r){return this._log("warn",0,e,r,{once:!0})}error(e,...r){return this._log("error",0,e,r)}log(e,r,...i){return this._log("log",e,r,i)}info(e,r,...i){return this._log("info",e,r,i)}once(e,r,...i){return this._log("once",e,r,i,{once:!0})}_log(e,r,i,n,o={}){let s=pQ({logLevel:r,message:i,args:this._buildArgs(r,i,n),opts:o});return this._createLogFunction(e,s,o)}_buildArgs(e,r,i){return[e,r,...i]}_createLogFunction(e,r,i){if(!this._shouldLog(r.logLevel))return Bb;let n=this._getOnceTag(i.tag??r.tag??r.message);if((i.once||r.once)&&n!==void 0){if(this._onceCache.has(n))return Bb;this._onceCache.add(n)}return this._emit(e,r)}_shouldLog(e){return this.getLevel()>=H8(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e=="string"?e:String(e)}catch{return}}}});function qTe(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var wD,AQ=Nt(()=>{wD=class{constructor(e,r,i="sessionStorage"){this.storage=qTe(i),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}}});function _Q(t){let e;return t<10?e=`${t.toFixed(2)}ms`:t<100?e=`${t.toFixed(1)}ms`:t<1e3?e=`${t.toFixed(0)}ms`:e=`${(t/1e3).toFixed(2)}s`,e}function yQ(t,e=8){let r=Math.max(e-t.length,0);return`${" ".repeat(r)}${t}`}var vQ=Nt(()=>{});function xQ(t){return typeof t!="string"?t:(t=t.toUpperCase(),TD[t]||TD.WHITE)}function bQ(t,e,r){return!rp&&typeof t=="string"&&(e&&(t=`\x1B[${xQ(e)}m${t}\x1B[39m`),r&&(t=`\x1B[${xQ(r)+$Te}m${t}\x1B[49m`)),t}var TD,$Te,wQ=Nt(()=>{Iv();(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(TD||(TD={}));$Te=10});function TQ(t,e=["constructor"]){let r=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(r),n=t;for(let o of i){let s=n[o];typeof s=="function"&&(e.find(c=>o===c)||(n[o]=s.bind(t)))}}var SQ=Nt(()=>{});function W2(){let t;if(rp()&&yD.performance)t=yD?.performance?.now?.();else if("hrtime"in vD){let e=vD?.hrtime?.();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var EQ=Nt(()=>{Iv()});function XTe(t,e,r){if(typeof e=="string"){let i=r.time?yQ(_Q(r.total)):"";e=r.time?`${t}: ${i} ${e}`:`${t}: ${e}`,e=bQ(e,r.color,r.background)}return e}function ZTe(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var q2,G8,sf,W8=Nt(()=>{Iv();gQ();AQ();vQ();wQ();SQ();j8();EQ();q2={debug:rp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},G8={enabled:!0,level:0},sf=class extends bD{constructor({id:e}={id:""}){super({level:0}),this.VERSION=V8,this._startTs=W2(),this._deltaTs=W2(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new wD(`__probe-${this.id}__`,{[this.id]:G8}),this.timeStamp(`${this.id} started`),TQ(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((W2()-this._startTs).toPrecision(10))}getDelta(){return Number((W2()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,r){this._updateConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){if(!e)throw new Error(r||"Assertion failed")}warn(e,...r){return this._log("warn",0,e,r,{method:q2.warn,once:!0})}error(e,...r){return this._log("error",0,e,r,{method:q2.error})}deprecated(e,r){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(e,r){return this.error(`\`${e}\` has been removed. Use \`${r}\` instead`)}probe(e,r,...i){return this._log("log",e,r,i,{method:q2.log,time:!0,once:!0})}log(e,r,...i){return this._log("log",e,r,i,{method:q2.debug})}info(e,r,...i){return this._log("info",e,r,i,{method:console.info})}once(e,r,...i){return this._log("once",e,r,i,{method:q2.debug||q2.info,once:!0})}table(e,r,i){return r?this._log("table",e,r,i&&[i]||[],{method:console.table||Bb,tag:ZTe(r)}):Bb}time(e,r){return this._log("time",e,r,[],{method:console.time?console.time:console.info})}timeEnd(e,r){return this._log("time",e,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,r){return this._log("time",e,r,[],{method:console.timeStamp||Bb})}group(e,r,i={collapsed:!1}){let n=(i.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",e,r,[],{method:n})}groupCollapsed(e,r,i={}){return this.group(e,r,Object.assign({},i,{collapsed:!0}))}groupEnd(e){return this._log("groupEnd",e,"",[],{method:console.groupEnd||Bb})}withGroup(e,r,i){this.group(e,r)();try{i()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,r){let i=r.method;G2(i),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=W2();let n=XTe(this.id,r.message,r);return i.bind(console,n,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(G8),this._storage.config[this.id]}_updateConfiguration(e){let r=this._storage.config[this.id]||{...G8};this._storage.setConfiguration({[this.id]:{...r,...e}})}};sf.VERSION=V8});var CQ=Nt(()=>{globalThis.probe={}});var q8,Mv=Nt(()=>{W8();W8();CQ();q8=new sf({id:"@probe.gl/log"})});function RI(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var fV=Nt(()=>{});var kb,dV=Nt(()=>{fV();kb=class{constructor(e,r){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=RI(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(RI()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}});var Ed,HQ=Nt(()=>{dV();Ed=class{constructor(e){this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e,r="count"){return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:i}=e,n=this.stats[r];return n||(e instanceof kb?n=e:n=new kb(r,i),this.stats[r]=n),n}}});var Nb=Nt(()=>{HQ();dV();fV()});var WA,ute=Nt(()=>{(function(t){t[t.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",t[t.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",t[t.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN",t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_COLOR=768]="SRC_COLOR",t[t.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.DST_ALPHA=772]="DST_ALPHA",t[t.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",t[t.DST_COLOR=774]="DST_COLOR",t[t.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=32769]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",t[t.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",t[t.BLEND_EQUATION=32777]="BLEND_EQUATION",t[t.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",t[t.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",t[t.BLEND_DST_RGB=32968]="BLEND_DST_RGB",t[t.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",t[t.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",t[t.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",t[t.BLEND_COLOR=32773]="BLEND_COLOR",t[t.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",t[t.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",t[t.LINE_WIDTH=2849]="LINE_WIDTH",t[t.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",t[t.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",t[t.CULL_FACE_MODE=2885]="CULL_FACE_MODE",t[t.FRONT_FACE=2886]="FRONT_FACE",t[t.DEPTH_RANGE=2928]="DEPTH_RANGE",t[t.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",t[t.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",t[t.DEPTH_FUNC=2932]="DEPTH_FUNC",t[t.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",t[t.STENCIL_FUNC=2962]="STENCIL_FUNC",t[t.STENCIL_FAIL=2964]="STENCIL_FAIL",t[t.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",t[t.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",t[t.STENCIL_REF=2967]="STENCIL_REF",t[t.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",t[t.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",t[t.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",t[t.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",t[t.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",t[t.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",t[t.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",t[t.VIEWPORT=2978]="VIEWPORT",t[t.SCISSOR_BOX=3088]="SCISSOR_BOX",t[t.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",t[t.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",t[t.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",t[t.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",t[t.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",t[t.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",t[t.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",t[t.RED_BITS=3410]="RED_BITS",t[t.GREEN_BITS=3411]="GREEN_BITS",t[t.BLUE_BITS=3412]="BLUE_BITS",t[t.ALPHA_BITS=3413]="ALPHA_BITS",t[t.DEPTH_BITS=3414]="DEPTH_BITS",t[t.STENCIL_BITS=3415]="STENCIL_BITS",t[t.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",t[t.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",t[t.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",t[t.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",t[t.SAMPLES=32937]="SAMPLES",t[t.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",t[t.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",t[t.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",t[t.VENDOR=7936]="VENDOR",t[t.RENDERER=7937]="RENDERER",t[t.VERSION=7938]="VERSION",t[t.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",t[t.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",t[t.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",t[t.STATIC_DRAW=35044]="STATIC_DRAW",t[t.STREAM_DRAW=35040]="STREAM_DRAW",t[t.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.BUFFER_SIZE=34660]="BUFFER_SIZE",t[t.BUFFER_USAGE=34661]="BUFFER_USAGE",t[t.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",t[t.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",t[t.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",t[t.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",t[t.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",t[t.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",t[t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",t[t.CULL_FACE=2884]="CULL_FACE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK",t[t.FRONT_AND_BACK=1032]="FRONT_AND_BACK",t[t.BLEND=3042]="BLEND",t[t.DEPTH_TEST=2929]="DEPTH_TEST",t[t.DITHER=3024]="DITHER",t[t.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",t[t.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",t[t.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",t[t.SCISSOR_TEST=3089]="SCISSOR_TEST",t[t.STENCIL_TEST=2960]="STENCIL_TEST",t[t.NO_ERROR=0]="NO_ERROR",t[t.INVALID_ENUM=1280]="INVALID_ENUM",t[t.INVALID_VALUE=1281]="INVALID_VALUE",t[t.INVALID_OPERATION=1282]="INVALID_OPERATION",t[t.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",t[t.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",t[t.CW=2304]="CW",t[t.CCW=2305]="CCW",t[t.DONT_CARE=4352]="DONT_CARE",t[t.FASTEST=4353]="FASTEST",t[t.NICEST=4354]="NICEST",t[t.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.INT=5124]="INT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.FLOAT=5126]="FLOAT",t[t.DOUBLE=5130]="DOUBLE",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.ALPHA=6406]="ALPHA",t[t.RGB=6407]="RGB",t[t.RGBA=6408]="RGBA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",t[t.VERTEX_SHADER=35633]="VERTEX_SHADER",t[t.COMPILE_STATUS=35713]="COMPILE_STATUS",t[t.DELETE_STATUS=35712]="DELETE_STATUS",t[t.LINK_STATUS=35714]="LINK_STATUS",t[t.VALIDATE_STATUS=35715]="VALIDATE_STATUS",t[t.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",t[t.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",t[t.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",t[t.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",t[t.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",t[t.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",t[t.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",t[t.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",t[t.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",t[t.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",t[t.SHADER_TYPE=35663]="SHADER_TYPE",t[t.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",t[t.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",t[t.NEVER=512]="NEVER",t[t.LESS=513]="LESS",t[t.EQUAL=514]="EQUAL",t[t.LEQUAL=515]="LEQUAL",t[t.GREATER=516]="GREATER",t[t.NOTEQUAL=517]="NOTEQUAL",t[t.GEQUAL=518]="GEQUAL",t[t.ALWAYS=519]="ALWAYS",t[t.KEEP=7680]="KEEP",t[t.REPLACE=7681]="REPLACE",t[t.INCR=7682]="INCR",t[t.DECR=7683]="DECR",t[t.INVERT=5386]="INVERT",t[t.INCR_WRAP=34055]="INCR_WRAP",t[t.DECR_WRAP=34056]="DECR_WRAP",t[t.NEAREST=9728]="NEAREST",t[t.LINEAR=9729]="LINEAR",t[t.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",t[t.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",t[t.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",t[t.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE=5890]="TEXTURE",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t[t.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",t[t.TEXTURE0=33984]="TEXTURE0",t[t.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",t[t.REPEAT=10497]="REPEAT",t[t.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",t[t.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",t[t.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",t[t.FLOAT_VEC2=35664]="FLOAT_VEC2",t[t.FLOAT_VEC3=35665]="FLOAT_VEC3",t[t.FLOAT_VEC4=35666]="FLOAT_VEC4",t[t.INT_VEC2=35667]="INT_VEC2",t[t.INT_VEC3=35668]="INT_VEC3",t[t.INT_VEC4=35669]="INT_VEC4",t[t.BOOL=35670]="BOOL",t[t.BOOL_VEC2=35671]="BOOL_VEC2",t[t.BOOL_VEC3=35672]="BOOL_VEC3",t[t.BOOL_VEC4=35673]="BOOL_VEC4",t[t.FLOAT_MAT2=35674]="FLOAT_MAT2",t[t.FLOAT_MAT3=35675]="FLOAT_MAT3",t[t.FLOAT_MAT4=35676]="FLOAT_MAT4",t[t.SAMPLER_2D=35678]="SAMPLER_2D",t[t.SAMPLER_CUBE=35680]="SAMPLER_CUBE",t[t.LOW_FLOAT=36336]="LOW_FLOAT",t[t.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",t[t.HIGH_FLOAT=36338]="HIGH_FLOAT",t[t.LOW_INT=36339]="LOW_INT",t[t.MEDIUM_INT=36340]="MEDIUM_INT",t[t.HIGH_INT=36341]="HIGH_INT",t[t.FRAMEBUFFER=36160]="FRAMEBUFFER",t[t.RENDERBUFFER=36161]="RENDERBUFFER",t[t.RGBA4=32854]="RGBA4",t[t.RGB5_A1=32855]="RGB5_A1",t[t.RGB565=36194]="RGB565",t[t.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",t[t.STENCIL_INDEX=6401]="STENCIL_INDEX",t[t.STENCIL_INDEX8=36168]="STENCIL_INDEX8",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",t[t.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",t[t.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",t[t.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",t[t.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",t[t.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",t[t.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",t[t.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",t[t.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",t[t.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",t[t.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",t[t.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",t[t.NONE=0]="NONE",t[t.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",t[t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",t[t.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",t[t.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",t[t.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",t[t.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",t[t.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",t[t.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t[t.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",t[t.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",t[t.READ_BUFFER=3074]="READ_BUFFER",t[t.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",t[t.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",t[t.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",t[t.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",t[t.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",t[t.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",t[t.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",t[t.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",t[t.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",t[t.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",t[t.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",t[t.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",t[t.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",t[t.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",t[t.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",t[t.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",t[t.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",t[t.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",t[t.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",t[t.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",t[t.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",t[t.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",t[t.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",t[t.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",t[t.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",t[t.RED=6403]="RED",t[t.RGB8=32849]="RGB8",t[t.RGBA8=32856]="RGBA8",t[t.RGB10_A2=32857]="RGB10_A2",t[t.TEXTURE_3D=32879]="TEXTURE_3D",t[t.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",t[t.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",t[t.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",t[t.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",t[t.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",t[t.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",t[t.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",t[t.SRGB=35904]="SRGB",t[t.SRGB8=35905]="SRGB8",t[t.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",t[t.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",t[t.RGBA32F=34836]="RGBA32F",t[t.RGB32F=34837]="RGB32F",t[t.RGBA16F=34842]="RGBA16F",t[t.RGB16F=34843]="RGB16F",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",t[t.R11F_G11F_B10F=35898]="R11F_G11F_B10F",t[t.RGB9_E5=35901]="RGB9_E5",t[t.RGBA32UI=36208]="RGBA32UI",t[t.RGB32UI=36209]="RGB32UI",t[t.RGBA16UI=36214]="RGBA16UI",t[t.RGB16UI=36215]="RGB16UI",t[t.RGBA8UI=36220]="RGBA8UI",t[t.RGB8UI=36221]="RGB8UI",t[t.RGBA32I=36226]="RGBA32I",t[t.RGB32I=36227]="RGB32I",t[t.RGBA16I=36232]="RGBA16I",t[t.RGB16I=36233]="RGB16I",t[t.RGBA8I=36238]="RGBA8I",t[t.RGB8I=36239]="RGB8I",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.R8=33321]="R8",t[t.RG8=33323]="RG8",t[t.R16F=33325]="R16F",t[t.R32F=33326]="R32F",t[t.RG16F=33327]="RG16F",t[t.RG32F=33328]="RG32F",t[t.R8I=33329]="R8I",t[t.R8UI=33330]="R8UI",t[t.R16I=33331]="R16I",t[t.R16UI=33332]="R16UI",t[t.R32I=33333]="R32I",t[t.R32UI=33334]="R32UI",t[t.RG8I=33335]="RG8I",t[t.RG8UI=33336]="RG8UI",t[t.RG16I=33337]="RG16I",t[t.RG16UI=33338]="RG16UI",t[t.RG32I=33339]="RG32I",t[t.RG32UI=33340]="RG32UI",t[t.R8_SNORM=36756]="R8_SNORM",t[t.RG8_SNORM=36757]="RG8_SNORM",t[t.RGB8_SNORM=36758]="RGB8_SNORM",t[t.RGBA8_SNORM=36759]="RGBA8_SNORM",t[t.RGB10_A2UI=36975]="RGB10_A2UI",t[t.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",t[t.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.HALF_FLOAT=5131]="HALF_FLOAT",t[t.RG=33319]="RG",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",t[t.CURRENT_QUERY=34917]="CURRENT_QUERY",t[t.QUERY_RESULT=34918]="QUERY_RESULT",t[t.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",t[t.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",t[t.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",t[t.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",t[t.DRAW_BUFFER0=34853]="DRAW_BUFFER0",t[t.DRAW_BUFFER1=34854]="DRAW_BUFFER1",t[t.DRAW_BUFFER2=34855]="DRAW_BUFFER2",t[t.DRAW_BUFFER3=34856]="DRAW_BUFFER3",t[t.DRAW_BUFFER4=34857]="DRAW_BUFFER4",t[t.DRAW_BUFFER5=34858]="DRAW_BUFFER5",t[t.DRAW_BUFFER6=34859]="DRAW_BUFFER6",t[t.DRAW_BUFFER7=34860]="DRAW_BUFFER7",t[t.DRAW_BUFFER8=34861]="DRAW_BUFFER8",t[t.DRAW_BUFFER9=34862]="DRAW_BUFFER9",t[t.DRAW_BUFFER10=34863]="DRAW_BUFFER10",t[t.DRAW_BUFFER11=34864]="DRAW_BUFFER11",t[t.DRAW_BUFFER12=34865]="DRAW_BUFFER12",t[t.DRAW_BUFFER13=34866]="DRAW_BUFFER13",t[t.DRAW_BUFFER14=34867]="DRAW_BUFFER14",t[t.DRAW_BUFFER15=34868]="DRAW_BUFFER15",t[t.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",t[t.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",t[t.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",t[t.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",t[t.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",t[t.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",t[t.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",t[t.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",t[t.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",t[t.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",t[t.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",t[t.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",t[t.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",t[t.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",t[t.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",t[t.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",t[t.SAMPLER_3D=35679]="SAMPLER_3D",t[t.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",t[t.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",t[t.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",t[t.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",t[t.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",t[t.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",t[t.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",t[t.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",t[t.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",t[t.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",t[t.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",t[t.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",t[t.MAX_SAMPLES=36183]="MAX_SAMPLES",t[t.SAMPLER_BINDING=35097]="SAMPLER_BINDING",t[t.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",t[t.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",t[t.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",t[t.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",t[t.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",t[t.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",t[t.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",t[t.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",t[t.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",t[t.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",t[t.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",t[t.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",t[t.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",t[t.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",t[t.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",t[t.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",t[t.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",t[t.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",t[t.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",t[t.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",t[t.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",t[t.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",t[t.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",t[t.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",t[t.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",t[t.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",t[t.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",t[t.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",t[t.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",t[t.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",t[t.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",t[t.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",t[t.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",t[t.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",t[t.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",t[t.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",t[t.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",t[t.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",t[t.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t[t.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",t[t.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",t[t.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",t[t.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",t[t.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",t[t.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",t[t.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",t[t.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",t[t.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",t[t.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",t[t.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",t[t.UNIFORM_TYPE=35383]="UNIFORM_TYPE",t[t.UNIFORM_SIZE=35384]="UNIFORM_SIZE",t[t.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",t[t.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",t[t.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",t[t.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",t[t.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",t[t.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",t[t.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",t[t.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",t[t.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",t[t.OBJECT_TYPE=37138]="OBJECT_TYPE",t[t.SYNC_CONDITION=37139]="SYNC_CONDITION",t[t.SYNC_STATUS=37140]="SYNC_STATUS",t[t.SYNC_FLAGS=37141]="SYNC_FLAGS",t[t.SYNC_FENCE=37142]="SYNC_FENCE",t[t.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",t[t.UNSIGNALED=37144]="UNSIGNALED",t[t.SIGNALED=37145]="SIGNALED",t[t.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",t[t.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",t[t.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",t[t.WAIT_FAILED=37149]="WAIT_FAILED",t[t.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",t[t.COLOR=6144]="COLOR",t[t.DEPTH=6145]="DEPTH",t[t.STENCIL=6146]="STENCIL",t[t.MIN=32775]="MIN",t[t.MAX=32776]="MAX",t[t.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",t[t.STREAM_READ=35041]="STREAM_READ",t[t.STREAM_COPY=35042]="STREAM_COPY",t[t.STATIC_READ=35045]="STATIC_READ",t[t.STATIC_COPY=35046]="STATIC_COPY",t[t.DYNAMIC_READ=35049]="DYNAMIC_READ",t[t.DYNAMIC_COPY=35050]="DYNAMIC_COPY",t[t.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",t[t.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",t[t.INVALID_INDEX=4294967295]="INVALID_INDEX",t[t.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",t[t.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",t[t.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",t[t.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",t[t.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",t[t.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",t[t.R16_EXT=33322]="R16_EXT",t[t.RG16_EXT=33324]="RG16_EXT",t[t.RGB16_EXT=32852]="RGB16_EXT",t[t.RGBA16_EXT=32859]="RGBA16_EXT",t[t.R16_SNORM_EXT=36760]="R16_SNORM_EXT",t[t.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",t[t.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",t[t.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",t[t.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",t[t.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",t[t.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",t[t.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",t[t.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",t[t.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",t[t.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",t[t.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",t[t.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",t[t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",t[t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",t[t.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",t[t.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",t[t.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",t[t.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",t[t.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",t[t.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",t[t.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",t[t.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",t[t.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",t[t.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",t[t.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",t[t.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",t[t.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",t[t.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",t[t.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",t[t.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",t[t.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",t[t.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",t[t.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",t[t.LINE_WEBGL=6913]="LINE_WEBGL",t[t.FILL_WEBGL=6914]="FILL_WEBGL",t[t.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",t[t.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",t[t.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",t[t.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",t[t.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",t[t.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",t[t.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",t[t.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",t[t.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",t[t.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",t[t.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",t[t.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",t[t.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",t[t.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",t[t.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",t[t.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",t[t.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",t[t.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",t[t.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",t[t.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",t[t.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",t[t.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",t[t.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",t[t.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(WA||(WA={}))});var Mj=Nt(()=>{ute()});var Ate=Vi((Rj,Bj)=>{(function(t,e){typeof Rj=="object"&&typeof Bj<"u"?Bj.exports=e():typeof define=="function"&&define.amd?define(e):(t=t||self,t.mapboxgl=e())})(Rj,function(){"use strict";var t,e,r;function i(n,o){if(!t)t=o;else if(!e)e=o;else{var s="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",c={};t(c),r=o(c),typeof window<"u"&&(r.workerUrl=window.URL.createObjectURL(new Blob([s],{type:"text/javascript"})))}}return i(["exports"],function(n){"use strict";function o(u,p){return u(p={exports:{}},p.exports),p.exports}var s=c;function c(u,p,_,R){this.cx=3*u,this.bx=3*(_-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*p,this.by=3*(R-p)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=R,this.p2x=_,this.p2y=R}c.prototype.sampleCurveX=function(u){return((this.ax*u+this.bx)*u+this.cx)*u},c.prototype.sampleCurveY=function(u){return((this.ay*u+this.by)*u+this.cy)*u},c.prototype.sampleCurveDerivativeX=function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},c.prototype.solveCurveX=function(u,p){var _,R,j,$,J;for(p===void 0&&(p=1e-6),j=u,J=0;J<8;J++){if($=this.sampleCurveX(j)-u,Math.abs($)(R=1))return R;for(;_$?_=j:R=j,j=.5*(R-_)+_}return j},c.prototype.solve=function(u,p){return this.sampleCurveY(this.solveCurveX(u,p))};var f=g;function g(u,p){this.x=u,this.y=p}g.prototype={clone:function(){return new g(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,p){return this.clone()._rotateAround(u,p)},matMult:function(u){return this.clone()._matMult(u)},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(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var p=u.x-this.x,_=u.y-this.y;return p*p+_*_},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,p){return Math.atan2(this.x*p-this.y*u,this.x*u+this.y*p)},_matMult:function(u){var p=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=p,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var p=Math.cos(u),_=Math.sin(u),R=_*this.x+p*this.y;return this.x=p*this.x-_*this.y,this.y=R,this},_rotateAround:function(u,p){var _=Math.cos(u),R=Math.sin(u),j=p.y+R*(this.x-p.x)+_*(this.y-p.y);return this.x=p.x+_*(this.x-p.x)-R*(this.y-p.y),this.y=j,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},g.convert=function(u){return u instanceof g?u:Array.isArray(u)?new g(u[0],u[1]):u};var y=typeof self<"u"?self:{},I=Math.pow(2,53)-1;function F(u,p,_,R){var j=new s(u,p,_,R);return function($){return j.solve($)}}var k=F(.25,.1,.25,1);function U(u,p,_){return Math.min(_,Math.max(p,u))}function K(u,p,_){var R=_-p,j=((u-p)%R+R)%R+p;return j===p?_:j}function ee(u){for(var p=[],_=arguments.length-1;_-- >0;)p[_]=arguments[_+1];for(var R=0,j=p;R>p/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,u)}()}function Se(u){return!!u&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(u)}function Oe(u,p){u.forEach(function(_){p[_]&&(p[_]=p[_].bind(p))})}function ne(u,p){return u.indexOf(p,u.length-p.length)!==-1}function Ge(u,p,_){var R={};for(var j in u)R[j]=p.call(_||this,u[j],j,u);return R}function Xe(u,p,_){var R={};for(var j in u)p.call(_||this,u[j],j,u)&&(R[j]=u[j]);return R}function Ce(u){return Array.isArray(u)?u.map(Ce):typeof u=="object"&&u?Ge(u,Ce):u}var _e={};function Je(u){_e[u]||(typeof console<"u"&&console.warn(u),_e[u]=!0)}function Et(u,p,_){return(_.y-u.y)*(p.x-u.x)>(p.y-u.y)*(_.x-u.x)}function Ze(u){for(var p=0,_=0,R=u.length,j=R-1,$=void 0,J=void 0;_@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(R,j,$,J){var le=$||J;return p[j]=!le||le.toLowerCase(),""}),p["max-age"]){var _=parseInt(p["max-age"],10);isNaN(_)?delete p["max-age"]:p["max-age"]=_}return p}var Mr=null;function hr(u){if(Mr==null){var p=u.navigator?u.navigator.userAgent:null;Mr=!!u.safari||!(!p||!(/\b(iPad|iPhone|iPod)\b/.test(p)||p.match("Safari")&&!p.match("Chrome")))}return Mr}function mi(u){try{var p=y[u];return p.setItem("_mapbox_test_",1),p.removeItem("_mapbox_test_"),!0}catch{return!1}}var bi,un,Yr,Xi,xi=y.performance&&y.performance.now?y.performance.now.bind(y.performance):Date.now.bind(Date),ii=y.requestAnimationFrame||y.mozRequestAnimationFrame||y.webkitRequestAnimationFrame||y.msRequestAnimationFrame,Gn=y.cancelAnimationFrame||y.mozCancelAnimationFrame||y.webkitCancelAnimationFrame||y.msCancelAnimationFrame,Ve={now:xi,frame:function(u){var p=ii(u);return{cancel:function(){return Gn(p)}}},getImageData:function(u,p){p===void 0&&(p=0);var _=y.document.createElement("canvas"),R=_.getContext("2d");if(!R)throw new Error("failed to create canvas 2d context");return _.width=u.width,_.height=u.height,R.drawImage(u,0,0,u.width,u.height),R.getImageData(-p,-p,u.width+2*p,u.height+2*p)},resolveURL:function(u){return bi||(bi=y.document.createElement("a")),bi.href=u,bi.href},hardwareConcurrency:y.navigator&&y.navigator.hardwareConcurrency||4,get devicePixelRatio(){return y.devicePixelRatio},get prefersReducedMotion(){return!!y.matchMedia&&(un==null&&(un=y.matchMedia("(prefers-reduced-motion: reduce)")),un.matches)}},nt={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},Ft={supported:!1,testSupport:function(u){!mr&&Xi&&(Xr?zr(u):Yr=u)}},mr=!1,Xr=!1;function zr(u){var p=u.createTexture();u.bindTexture(u.TEXTURE_2D,p);try{if(u.texImage2D(u.TEXTURE_2D,0,u.RGBA,u.RGBA,u.UNSIGNED_BYTE,Xi),u.isContextLost())return;Ft.supported=!0}catch{}u.deleteTexture(p),mr=!0}y.document&&((Xi=y.document.createElement("img")).onload=function(){Yr&&zr(Yr),Yr=null,Xr=!0},Xi.onerror=function(){mr=!0,Yr=null},Xi.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var ln="01",Nn=function(u,p){this._transformRequestFn=u,this._customAccessToken=p,this._createSkuToken()};function Co(u){return u.indexOf("mapbox:")===0}Nn.prototype._createSkuToken=function(){var u=function(){for(var p="",_=0;_<10;_++)p+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",ln,p].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=u.token,this._skuTokenExpiresAt=u.tokenExpiresAt},Nn.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Nn.prototype.transformRequest=function(u,p){return this._transformRequestFn&&this._transformRequestFn(u,p)||{url:u}},Nn.prototype.normalizeStyleURL=function(u,p){if(!Co(u))return u;var _=zs(u);return _.path="/styles/v1"+_.path,this._makeAPIURL(_,this._customAccessToken||p)},Nn.prototype.normalizeGlyphsURL=function(u,p){if(!Co(u))return u;var _=zs(u);return _.path="/fonts/v1"+_.path,this._makeAPIURL(_,this._customAccessToken||p)},Nn.prototype.normalizeSourceURL=function(u,p){if(!Co(u))return u;var _=zs(u);return _.path="/v4/"+_.authority+".json",_.params.push("secure"),this._makeAPIURL(_,this._customAccessToken||p)},Nn.prototype.normalizeSpriteURL=function(u,p,_,R){var j=zs(u);return Co(u)?(j.path="/styles/v1"+j.path+"/sprite"+p+_,this._makeAPIURL(j,this._customAccessToken||R)):(j.path+=""+p+_,Ba(j))},Nn.prototype.normalizeTileURL=function(u,p){if(this._isSkuTokenExpired()&&this._createSkuToken(),u&&!Co(u))return u;var _=zs(u);_.path=_.path.replace(/(\.(png|jpg)\d*)(?=$)/,(Ve.devicePixelRatio>=2||p===512?"@2x":"")+(Ft.supported?".webp":"$1")),_.path=_.path.replace(/^.+\/v4\//,"/"),_.path="/v4"+_.path;var R=this._customAccessToken||function(j){for(var $=0,J=j;$=0&&u.params.splice(j,1)}if(R.path!=="/"&&(u.path=""+R.path+u.path),!nt.REQUIRE_ACCESS_TOKEN)return Ba(u);if(!(p=p||nt.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+_);if(p[0]==="s")throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+_);return u.params=u.params.filter(function($){return $.indexOf("access_token")===-1}),u.params.push("access_token="+p),Ba(u)};var Ho=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function is(u){return Ho.test(u)}var mo=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function zs(u){var p=u.match(mo);if(!p)throw new Error("Unable to parse URL object");return{protocol:p[1],authority:p[2],path:p[3]||"/",params:p[4]?p[4].split("&"):[]}}function Ba(u){var p=u.params.length?"?"+u.params.join("&"):"";return u.protocol+"://"+u.authority+u.path+p}function ds(u){if(!u)return null;var p=u.split(".");if(!p||p.length!==3)return null;try{return JSON.parse(decodeURIComponent(y.atob(p[1]).split("").map(function(_){return"%"+("00"+_.charCodeAt(0).toString(16)).slice(-2)}).join("")))}catch{return null}}var so=function(u){this.type=u,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};so.prototype.getStorageKey=function(u){var p,_=ds(nt.ACCESS_TOKEN);return p=_&&_.u?y.btoa(encodeURIComponent(_.u).replace(/%([0-9A-F]{2})/g,function(R,j){return String.fromCharCode(Number("0x"+j))})):nt.ACCESS_TOKEN||"",u?"mapbox.eventData."+u+":"+p:"mapbox.eventData:"+p},so.prototype.fetchEventData=function(){var u=mi("localStorage"),p=this.getStorageKey(),_=this.getStorageKey("uuid");if(u)try{var R=y.localStorage.getItem(p);R&&(this.eventData=JSON.parse(R));var j=y.localStorage.getItem(_);j&&(this.anonId=j)}catch{Je("Unable to read from LocalStorage")}},so.prototype.saveEventData=function(){var u=mi("localStorage"),p=this.getStorageKey(),_=this.getStorageKey("uuid");if(u)try{y.localStorage.setItem(_,this.anonId),Object.keys(this.eventData).length>=1&&y.localStorage.setItem(p,JSON.stringify(this.eventData))}catch{Je("Unable to write to LocalStorage")}},so.prototype.processRequests=function(u){},so.prototype.postEvent=function(u,p,_,R){var j=this;if(nt.EVENTS_URL){var $=zs(nt.EVENTS_URL);$.params.push("access_token="+(R||nt.ACCESS_TOKEN||""));var J={event:this.type,created:new Date(u).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.13.3",skuId:ln,userId:this.anonId},le=p?ee(J,p):J,ve={url:Ba($),headers:{"Content-Type":"text/plain"},body:JSON.stringify([le])};this.pendingRequest=ns(ve,function(Ie){j.pendingRequest=null,_(Ie),j.saveEventData(),j.processRequests(R)})}},so.prototype.queueRequest=function(u,p){this.queue.push(u),this.processRequests(p)};var ps,ws,Yt=function(u){function p(){u.call(this,"map.load"),this.success={},this.skuToken=""}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.postMapLoadEvent=function(_,R,j,$){this.skuToken=j;var J=!(!$&&!nt.ACCESS_TOKEN),le=Array.isArray(_)&&_.some(function(ve){return Co(ve)||is(ve)});nt.EVENTS_URL&&J&&le&&this.queueRequest({id:R,timestamp:Date.now()},$)},p.prototype.processRequests=function(_){var R=this;if(!this.pendingRequest&&this.queue.length!==0){var j=this.queue.shift(),$=j.id,J=j.timestamp;$&&this.success[$]||(this.anonId||this.fetchEventData(),Se(this.anonId)||(this.anonId=me()),this.postEvent(J,{skuToken:this.skuToken},function(le){le||$&&(R.success[$]=!0)},_))}},p}(so),Fe=new(function(u){function p(_){u.call(this,"appUserTurnstile"),this._customAccessToken=_}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.postTurnstileEvent=function(_,R){nt.EVENTS_URL&&nt.ACCESS_TOKEN&&Array.isArray(_)&&_.some(function(j){return Co(j)||is(j)})&&this.queueRequest(Date.now(),R)},p.prototype.processRequests=function(_){var R=this;if(!this.pendingRequest&&this.queue.length!==0){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var j=ds(nt.ACCESS_TOKEN),$=j?j.u:nt.ACCESS_TOKEN,J=$!==this.eventData.tokenU;Se(this.anonId)||(this.anonId=me(),J=!0);var le=this.queue.shift();if(this.eventData.lastSuccess){var ve=new Date(this.eventData.lastSuccess),Ie=new Date(le),Le=(le-this.eventData.lastSuccess)/864e5;J=J||Le>=1||Le<-1||ve.getDate()!==Ie.getDate()}else J=!0;if(!J)return this.processRequests();this.postEvent(le,{"enabled.telemetry":!1},function(ze){ze||(R.eventData.lastSuccess=le,R.eventData.tokenU=$)},_)}},p}(so)),Ne=Fe.postTurnstileEvent.bind(Fe),rt=new Yt,Vt=rt.postMapLoadEvent.bind(rt),Gt=500,yr=50;function fr(){y.caches&&!ps&&(ps=y.caches.open("mapbox-tiles"))}function nr(u){var p=u.indexOf("?");return p<0?u:u.slice(0,p)}var xr,ti=1/0;function Jr(){return xr==null&&(xr=y.OffscreenCanvas&&new y.OffscreenCanvas(1,1).getContext("2d")&&typeof y.createImageBitmap=="function"),xr}var Wi={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};typeof Object.freeze=="function"&&Object.freeze(Wi);var fn=function(u){function p(_,R,j){R===401&&is(j)&&(_+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),u.call(this,_),this.status=R,this.url=j,this.name=this.constructor.name,this.message=_}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},p}(Error),Wn=xt()?function(){return self.worker&&self.worker.referrer}:function(){return(y.location.protocol==="blob:"?y.parent:y).location.href},bs,go,wr=function(u,p){if(!(/^file:/.test(_=u.url)||/^file:/.test(Wn())&&!/^\w+:/.test(_))){if(y.fetch&&y.Request&&y.AbortController&&y.Request.prototype.hasOwnProperty("signal"))return function(R,j){var $,J=new y.AbortController,le=new y.Request(R.url,{method:R.method||"GET",body:R.body,credentials:R.credentials,headers:R.headers,referrer:Wn(),signal:J.signal}),ve=!1,Ie=!1,Le=($=le.url).indexOf("sku=")>0&&is($);R.type==="json"&&le.headers.set("Accept","application/json");var ze=function(lt,Mt,Dt){if(!Ie){if(lt&<.message!=="SecurityError"&&Je(lt),Mt&&Dt)return Ke(Mt);var tr=Date.now();y.fetch(le).then(function(qt){if(qt.ok){var ur=Le?qt.clone():null;return Ke(qt,ur,tr)}return j(new fn(qt.statusText,qt.status,R.url))}).catch(function(qt){qt.code!==20&&j(new Error(qt.message))})}},Ke=function(lt,Mt,Dt){(R.type==="arrayBuffer"?lt.arrayBuffer():R.type==="json"?lt.json():lt.text()).then(function(tr){Ie||(Mt&&Dt&&function(qt,ur,Tr){if(fr(),ps){var Nr={status:ur.status,statusText:ur.statusText,headers:new y.Headers};ur.headers.forEach(function(ri,Ei){return Nr.headers.set(Ei,ri)});var Vr=sr(ur.headers.get("Cache-Control")||"");Vr["no-store"]||(Vr["max-age"]&&Nr.headers.set("Expires",new Date(Tr+1e3*Vr["max-age"]).toUTCString()),new Date(Nr.headers.get("Expires")).getTime()-Tr<42e4||function(ri,Ei){if(ws===void 0)try{new Response(new ReadableStream),ws=!0}catch{ws=!1}ws?Ei(ri.body):ri.blob().then(Ei)}(ur,function(ri){var Ei=new y.Response(ri,Nr);fr(),ps&&ps.then(function(Ui){return Ui.put(nr(qt.url),Ei)}).catch(function(Ui){return Je(Ui.message)})}))}}(le,Mt,Dt),ve=!0,j(null,tr,lt.headers.get("Cache-Control"),lt.headers.get("Expires")))}).catch(function(tr){Ie||j(new Error(tr.message))})};return Le?function(lt,Mt){if(fr(),!ps)return Mt(null);var Dt=nr(lt.url);ps.then(function(tr){tr.match(Dt).then(function(qt){var ur=function(Tr){if(!Tr)return!1;var Nr=new Date(Tr.headers.get("Expires")||0),Vr=sr(Tr.headers.get("Cache-Control")||"");return Nr>Date.now()&&!Vr["no-cache"]}(qt);tr.delete(Dt),ur&&tr.put(Dt,qt.clone()),Mt(null,qt,ur)}).catch(Mt)}).catch(Mt)}(le,ze):ze(null,null),{cancel:function(){Ie=!0,ve||J.abort()}}}(u,p);if(xt()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",u,p,void 0,!0)}var _;return function(R,j){var $=new y.XMLHttpRequest;for(var J in $.open(R.method||"GET",R.url,!0),R.type==="arrayBuffer"&&($.responseType="arraybuffer"),R.headers)$.setRequestHeader(J,R.headers[J]);return R.type==="json"&&($.responseType="text",$.setRequestHeader("Accept","application/json")),$.withCredentials=R.credentials==="include",$.onerror=function(){j(new Error($.statusText))},$.onload=function(){if(($.status>=200&&$.status<300||$.status===0)&&$.response!==null){var le=$.response;if(R.type==="json")try{le=JSON.parse($.response)}catch(ve){return j(ve)}j(null,le,$.getResponseHeader("Cache-Control"),$.getResponseHeader("Expires"))}else j(new fn($.statusText,$.status,R.url))},$.send(R.body),{cancel:function(){return $.abort()}}}(u,p)},Us=function(u,p){return wr(ee(u,{type:"arrayBuffer"}),p)},ns=function(u,p){return wr(ee(u,{method:"POST"}),p)},Be="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";bs=[],go=0;var $e=function(u,p){if(Ft.supported&&(u.headers||(u.headers={}),u.headers.accept="image/webp,*/*"),go>=nt.MAX_PARALLEL_IMAGE_REQUESTS){var _={requestParameters:u,callback:p,cancelled:!1,cancel:function(){this.cancelled=!0}};return bs.push(_),_}go++;var R=!1,j=function(){if(!R)for(R=!0,go--;bs.length&&go0||this._oneTimeListeners&&this._oneTimeListeners[u]&&this._oneTimeListeners[u].length>0||this._eventedParent&&this._eventedParent.listens(u)},Jt.prototype.setEventedParent=function(u,p){return this._eventedParent=u,this._eventedParentData=p,this};var ht={$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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{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"}},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"],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"}},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":{},within:{}}},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}},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"}}},Ot=function(u,p,_,R){this.message=(u?u+": ":"")+_,R&&(this.identifier=R),p!=null&&p.__line__&&(this.line=p.__line__)};function Ct(u){var p=u.value;return p?[new Ot(u.key,p,"constants have been deprecated as of v8")]:[]}function ei(u){for(var p=[],_=arguments.length-1;_-- >0;)p[_]=arguments[_+1];for(var R=0,j=p;R":u.itemType.kind==="value"?"array":"array<"+p+">"}return u.kind}var Al=[fi,pr,Di,Ii,Mi,Ls,Ni,No(zi),co];function uo(u,p){if(p.kind==="error")return null;if(u.kind==="array"){if(p.kind==="array"&&(p.N===0&&p.itemType.kind==="value"||!uo(u.itemType,p.itemType))&&(typeof u.N!="number"||u.N===p.N))return null}else{if(u.kind===p.kind)return null;if(u.kind==="value"){for(var _=0,R=Al;_255?255:le}function j(le){return R(le[le.length-1]==="%"?parseFloat(le)/100*255:parseInt(le))}function $(le){return(ve=le[le.length-1]==="%"?parseFloat(le)/100:parseFloat(le))<0?0:ve>1?1:ve;var ve}function J(le,ve,Ie){return Ie<0?Ie+=1:Ie>1&&(Ie-=1),6*Ie<1?le+(ve-le)*Ie*6:2*Ie<1?ve:3*Ie<2?le+(ve-le)*(2/3-Ie)*6:le}try{p.parseCSSColor=function(le){var ve,Ie=le.replace(/ /g,"").toLowerCase();if(Ie in _)return _[Ie].slice();if(Ie[0]==="#")return Ie.length===4?(ve=parseInt(Ie.substr(1),16))>=0&&ve<=4095?[(3840&ve)>>4|(3840&ve)>>8,240&ve|(240&ve)>>4,15&ve|(15&ve)<<4,1]:null:Ie.length===7&&(ve=parseInt(Ie.substr(1),16))>=0&&ve<=16777215?[(16711680&ve)>>16,(65280&ve)>>8,255&ve,1]:null;var Le=Ie.indexOf("("),ze=Ie.indexOf(")");if(Le!==-1&&ze+1===Ie.length){var Ke=Ie.substr(0,Le),lt=Ie.substr(Le+1,ze-(Le+1)).split(","),Mt=1;switch(Ke){case"rgba":if(lt.length!==4)return null;Mt=$(lt.pop());case"rgb":return lt.length!==3?null:[j(lt[0]),j(lt[1]),j(lt[2]),Mt];case"hsla":if(lt.length!==4)return null;Mt=$(lt.pop());case"hsl":if(lt.length!==3)return null;var Dt=(parseFloat(lt[0])%360+360)%360/360,tr=$(lt[1]),qt=$(lt[2]),ur=qt<=.5?qt*(tr+1):qt+tr-qt*tr,Tr=2*qt-ur;return[R(255*J(Tr,ur,Dt+1/3)),R(255*J(Tr,ur,Dt)),R(255*J(Tr,ur,Dt-1/3)),Mt];default:return null}}return null}}catch{}}).parseCSSColor,cs=function(u,p,_,R){R===void 0&&(R=1),this.r=u,this.g=p,this.b=_,this.a=R};cs.parse=function(u){if(u){if(u instanceof cs)return u;if(typeof u=="string"){var p=ho(u);if(p)return new cs(p[0]/255*p[3],p[1]/255*p[3],p[2]/255*p[3],p[3])}}},cs.prototype.toString=function(){var u=this.toArray(),p=u[1],_=u[2],R=u[3];return"rgba("+Math.round(u[0])+","+Math.round(p)+","+Math.round(_)+","+R+")"},cs.prototype.toArray=function(){var u=this.a;return u===0?[0,0,0,0]:[255*this.r/u,255*this.g/u,255*this.b/u,u]},cs.black=new cs(0,0,0,1),cs.white=new cs(1,1,1,1),cs.transparent=new cs(0,0,0,0),cs.red=new cs(1,0,0,1);var _l=function(u,p,_){this.sensitivity=u?p?"variant":"case":p?"accent":"base",this.locale=_,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};_l.prototype.compare=function(u,p){return this.collator.compare(u,p)},_l.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var zc=function(u,p,_,R,j){this.text=u,this.image=p,this.scale=_,this.fontStack=R,this.textColor=j},yl=function(u){this.sections=u};yl.fromString=function(u){return new yl([new zc(u,null,null,null,null)])},yl.prototype.isEmpty=function(){return this.sections.length===0||!this.sections.some(function(u){return u.text.length!==0||u.image&&u.image.name.length!==0})},yl.factory=function(u){return u instanceof yl?u:yl.fromString(u)},yl.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(u){return u.text}).join("")},yl.prototype.serialize=function(){for(var u=["format"],p=0,_=this.sections;p<_.length;p+=1){var R=_[p];if(R.image)u.push(["image",R.image.name]);else{u.push(R.text);var j={};R.fontStack&&(j["text-font"]=["literal",R.fontStack.split(",")]),R.scale&&(j["font-scale"]=R.scale),R.textColor&&(j["text-color"]=["rgba"].concat(R.textColor.toArray())),u.push(j)}}return u};var Ya=function(u){this.name=u.name,this.available=u.available};function md(u,p,_,R){return typeof u=="number"&&u>=0&&u<=255&&typeof p=="number"&&p>=0&&p<=255&&typeof _=="number"&&_>=0&&_<=255?R===void 0||typeof R=="number"&&R>=0&&R<=1?null:"Invalid rgba value ["+[u,p,_,R].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+(typeof R=="number"?[u,p,_,R]:[u,p,_]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function os(u){if(u===null||typeof u=="string"||typeof u=="boolean"||typeof u=="number"||u instanceof cs||u instanceof _l||u instanceof yl||u instanceof Ya)return!0;if(Array.isArray(u)){for(var p=0,_=u;p<_.length;p+=1)if(!os(_[p]))return!1;return!0}if(typeof u=="object"){for(var R in u)if(!os(u[R]))return!1;return!0}return!1}function ca(u){if(u===null)return fi;if(typeof u=="string")return Di;if(typeof u=="boolean")return Ii;if(typeof u=="number")return pr;if(u instanceof cs)return Mi;if(u instanceof _l)return po;if(u instanceof yl)return Ls;if(u instanceof Ya)return co;if(Array.isArray(u)){for(var p,_=u.length,R=0,j=u;R2){var le=u[1];if(typeof le!="string"||!(le in eu)||le==="object")return p.error('The item type argument of "array" must be one of string, number, boolean',1);$=eu[le],R++}else $=zi;if(u.length>3){if(u[2]!==null&&(typeof u[2]!="number"||u[2]<0||u[2]!==Math.floor(u[2])))return p.error('The length argument to "array" must be a positive integer literal',2);J=u[2],R++}_=No($,J)}else _=eu[j];for(var ve=[];R1)&&p.push(R)}}return p.concat(this.args.map(function(j){return j.serialize()}))};var Tc=function(u){this.type=Ls,this.sections=u};Tc.parse=function(u,p){if(u.length<2)return p.error("Expected at least one argument.");var _=u[1];if(!Array.isArray(_)&&typeof _=="object")return p.error("First argument must be an image or text section.");for(var R=[],j=!1,$=1;$<=u.length-1;++$){var J=u[$];if(j&&typeof J=="object"&&!Array.isArray(J)){j=!1;var le=null;if(J["font-scale"]&&!(le=p.parse(J["font-scale"],1,pr)))return null;var ve=null;if(J["text-font"]&&!(ve=p.parse(J["text-font"],1,No(Di))))return null;var Ie=null;if(J["text-color"]&&!(Ie=p.parse(J["text-color"],1,Mi)))return null;var Le=R[R.length-1];Le.scale=le,Le.font=ve,Le.textColor=Ie}else{var ze=p.parse(u[$],1,zi);if(!ze)return null;var Ke=ze.type.kind;if(Ke!=="string"&&Ke!=="value"&&Ke!=="null"&&Ke!=="resolvedImage")return p.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");j=!0,R.push({content:ze,scale:null,font:null,textColor:null})}}return new Tc(R)},Tc.prototype.evaluate=function(u){return new yl(this.sections.map(function(p){var _=p.content.evaluate(u);return ca(_)===co?new zc("",_,null,null,null):new zc(mf(_),null,p.scale?p.scale.evaluate(u):null,p.font?p.font.evaluate(u).join(","):null,p.textColor?p.textColor.evaluate(u):null)}))},Tc.prototype.eachChild=function(u){for(var p=0,_=this.sections;p<_.length;p+=1){var R=_[p];u(R.content),R.scale&&u(R.scale),R.font&&u(R.font),R.textColor&&u(R.textColor)}},Tc.prototype.outputDefined=function(){return!1},Tc.prototype.serialize=function(){for(var u=["format"],p=0,_=this.sections;p<_.length;p+=1){var R=_[p];u.push(R.content.serialize());var j={};R.scale&&(j["font-scale"]=R.scale.serialize()),R.font&&(j["text-font"]=R.font.serialize()),R.textColor&&(j["text-color"]=R.textColor.serialize()),u.push(j)}return u};var Uc=function(u){this.type=co,this.input=u};Uc.parse=function(u,p){if(u.length!==2)return p.error("Expected two arguments.");var _=p.parse(u[1],1,Di);return _?new Uc(_):p.error("No image name provided.")},Uc.prototype.evaluate=function(u){var p=this.input.evaluate(u),_=Ya.fromString(p);return _&&u.availableImages&&(_.available=u.availableImages.indexOf(p)>-1),_},Uc.prototype.eachChild=function(u){u(this.input)},Uc.prototype.outputDefined=function(){return!1},Uc.prototype.serialize=function(){return["image",this.input.serialize()]};var pm={"to-boolean":Ii,"to-color":Mi,"to-number":pr,"to-string":Di},pu=function(u,p){this.type=u,this.args=p};pu.parse=function(u,p){if(u.length<2)return p.error("Expected at least one argument.");var _=u[0];if((_==="to-boolean"||_==="to-string")&&u.length!==2)return p.error("Expected one argument.");for(var R=pm[_],j=[],$=1;$4?"Invalid rbga value "+JSON.stringify(p)+": expected an array containing either three or four numeric values.":md(p[0],p[1],p[2],p[3])))return new cs(p[0]/255,p[1]/255,p[2]/255,p[3])}throw new Dl(_||"Could not parse color from value '"+(typeof p=="string"?p:String(JSON.stringify(p)))+"'")}if(this.type.kind==="number"){for(var J=null,le=0,ve=this.args;le=p[2]||u[1]<=p[1]||u[3]>=p[3])}function gf(u,p){var _=(180+u[0])/360,R=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,j=Math.pow(2,p.z);return[Math.round(_*j*8192),Math.round(R*j*8192)]}function gd(u,p,_){return p[1]>u[1]!=_[1]>u[1]&&u[0]<(_[0]-p[0])*(u[1]-p[1])/(_[1]-p[1])+p[0]}function jh(u,p){for(var _,R,j,$,J,le,ve,Ie=!1,Le=0,ze=p.length;Le0&&le<0||J<0&&le>0}function Sp(u,p,_){for(var R=0,j=_;R_[2]){var j=.5*R,$=u[0]-_[0]>j?-R:_[0]-u[0]>j?R:0;$===0&&($=u[0]-_[2]>j?-R:_[2]-u[0]>j?R:0),u[0]+=$}Sc(p,u)}function Zn(u,p,_,R){for(var j=8192*Math.pow(2,R.z),$=[8192*R.x,8192*R.y],J=[],le=0,ve=u;le=0)return!1;var _=!0;return u.eachChild(function(R){_&&!vl(R,p)&&(_=!1)}),_}ec.parse=function(u,p){if(u.length!==2)return p.error("'within' expression requires exactly one argument, but found "+(u.length-1)+" instead.");if(os(u[1])){var _=u[1];if(_.type==="FeatureCollection")for(var R=0;R<_.features.length;++R){var j=_.features[R].geometry.type;if(j==="Polygon"||j==="MultiPolygon")return new ec(_,_.features[R].geometry)}else if(_.type==="Feature"){var $=_.geometry.type;if($==="Polygon"||$==="MultiPolygon")return new ec(_,_.geometry)}else if(_.type==="Polygon"||_.type==="MultiPolygon")return new ec(_,_)}return p.error("'within' expression requires valid geojson object that contains polygon geometry type.")},ec.prototype.evaluate=function(u){if(u.geometry()!=null&&u.canonicalID()!=null){if(u.geometryType()==="Point")return function(p,_){var R=[1/0,1/0,-1/0,-1/0],j=[1/0,1/0,-1/0,-1/0],$=p.canonicalID();if(_.type==="Polygon"){var J=Ql(_.coordinates,j,$),le=Zn(p.geometry(),R,j,$);if(!pc(R,j))return!1;for(var ve=0,Ie=le;vep))throw new Dl("Input is not a number.");$=J-1}return 0}tu.prototype.parse=function(u,p,_,R,j){return j===void 0&&(j={}),p?this.concat(p,_,R)._parse(u,j):this._parse(u,j)},tu.prototype._parse=function(u,p){function _(Ie,Le,ze){return ze==="assert"?new ua(Le,[Ie]):ze==="coerce"?new pu(Le,[Ie]):Ie}if(u!==null&&typeof u!="string"&&typeof u!="boolean"&&typeof u!="number"||(u=["literal",u]),Array.isArray(u)){if(u.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var R=u[0];if(typeof R!="string")return this.error("Expression name must be a string, but found "+typeof R+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var j=this.registry[R];if(j){var $=j.parse(u,this);if(!$)return null;if(this.expectedType){var J=this.expectedType,le=$.type;if(J.kind!=="string"&&J.kind!=="number"&&J.kind!=="boolean"&&J.kind!=="object"&&J.kind!=="array"||le.kind!=="value")if(J.kind!=="color"&&J.kind!=="formatted"&&J.kind!=="resolvedImage"||le.kind!=="value"&&le.kind!=="string"){if(this.checkSubtype(J,le))return null}else $=_($,J,p.typeAnnotation||"coerce");else $=_($,J,p.typeAnnotation||"assert")}if(!($ instanceof Ll)&&$.type.kind!=="resolvedImage"&&function Ie(Le){if(Le instanceof Pu)return Ie(Le.boundExpression);if(Le instanceof Ma&&Le.name==="error"||Le instanceof Mu||Le instanceof ec)return!1;var ze=Le instanceof pu||Le instanceof ua,Ke=!0;return Le.eachChild(function(lt){Ke=ze?Ke&&Ie(lt):Ke&< instanceof Ll}),!!Ke&&sl(Le)&&vl(Le,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}($)){var ve=new Vh;try{$=new Ll($.type,$.evaluate(ve))}catch(Ie){return this.error(Ie.message),null}}return $}return this.error('Unknown expression "'+R+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(u===void 0?"'undefined' value invalid. Use null instead.":typeof u=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof u+" instead.")},tu.prototype.concat=function(u,p,_){var R=typeof u=="number"?this.path.concat(u):this.path,j=_?this.scope.concat(_):this.scope;return new tu(this.registry,R,p||null,j,this.errors)},tu.prototype.error=function(u){for(var p=[],_=arguments.length-1;_-- >0;)p[_]=arguments[_+1];var R=""+this.key+p.map(function(j){return"["+j+"]"}).join("");this.errors.push(new si(R,u))},tu.prototype.checkSubtype=function(u,p){var _=uo(u,p);return _&&this.error(_),_};var xl=function(u,p,_){this.type=u,this.input=p,this.labels=[],this.outputs=[];for(var R=0,j=_;R=J)return p.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',ve);var Le=p.parse(le,Ie,j);if(!Le)return null;j=j||Le.type,R.push([J,Le])}return new xl(j,_,R)},xl.prototype.evaluate=function(u){var p=this.labels,_=this.outputs;if(p.length===1)return _[0].evaluate(u);var R=this.input.evaluate(u);if(R<=p[0])return _[0].evaluate(u);var j=p.length;return R>=p[j-1]?_[j-1].evaluate(u):_[La(p,R)].evaluate(u)},xl.prototype.eachChild=function(u){u(this.input);for(var p=0,_=this.outputs;p<_.length;p+=1)u(_[p])},xl.prototype.outputDefined=function(){return this.outputs.every(function(u){return u.outputDefined()})},xl.prototype.serialize=function(){for(var u=["step",this.input.serialize()],p=0;p0&&u.push(this.labels[p]),u.push(this.outputs[p].serialize());return u};var Gh=Object.freeze({__proto__:null,number:Ws,color:function(u,p,_){return new cs(Ws(u.r,p.r,_),Ws(u.g,p.g,_),Ws(u.b,p.b,_),Ws(u.a,p.a,_))},array:function(u,p,_){return u.map(function(R,j){return Ws(R,p[j],_)})}}),Ec=6/29*3*(6/29),Gf=Math.PI/180,Wh=180/Math.PI;function Hd(u){return u>.008856451679035631?Math.pow(u,1/3):u/Ec+4/29}function Cp(u){return u>6/29?u*u*u:Ec*(u-4/29)}function Af(u){return 255*(u<=.0031308?12.92*u:1.055*Math.pow(u,1/2.4)-.055)}function ia(u){return(u/=255)<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function mh(u){var p=ia(u.r),_=ia(u.g),R=ia(u.b),j=Hd((.4124564*p+.3575761*_+.1804375*R)/.95047),$=Hd((.2126729*p+.7151522*_+.072175*R)/1);return{l:116*$-16,a:500*(j-$),b:200*($-Hd((.0193339*p+.119192*_+.9503041*R)/1.08883)),alpha:u.a}}function ms(u){var p=(u.l+16)/116,_=isNaN(u.a)?p:p+u.a/500,R=isNaN(u.b)?p:p-u.b/200;return p=1*Cp(p),_=.95047*Cp(_),R=1.08883*Cp(R),new cs(Af(3.2404542*_-1.5371385*p-.4985314*R),Af(-.969266*_+1.8760108*p+.041556*R),Af(.0556434*_-.2040259*p+1.0572252*R),u.alpha)}function Ao(u,p,_){var R=p-u;return u+_*(R>180||R<-180?R-360*Math.round(R/360):R)}var qh={forward:mh,reverse:ms,interpolate:function(u,p,_){return{l:Ws(u.l,p.l,_),a:Ws(u.a,p.a,_),b:Ws(u.b,p.b,_),alpha:Ws(u.alpha,p.alpha,_)}}},us={forward:function(u){var p=mh(u),_=p.l,R=p.a,j=p.b,$=Math.atan2(j,R)*Wh;return{h:$<0?$+360:$,c:Math.sqrt(R*R+j*j),l:_,alpha:u.a}},reverse:function(u){var p=u.h*Gf,_=u.c;return ms({l:u.l,a:Math.cos(p)*_,b:Math.sin(p)*_,alpha:u.alpha})},interpolate:function(u,p,_){return{h:Ao(u.h,p.h,_),c:Ws(u.c,p.c,_),l:Ws(u.l,p.l,_),alpha:Ws(u.alpha,p.alpha,_)}}},Gd=Object.freeze({__proto__:null,lab:qh,hcl:us}),q=function(u,p,_,R,j){this.type=u,this.operator=p,this.interpolation=_,this.input=R,this.labels=[],this.outputs=[];for(var $=0,J=j;$1}))return p.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);R={name:"cubic-bezier",controlPoints:le}}if(u.length-1<4)return p.error("Expected at least 4 arguments, but found only "+(u.length-1)+".");if((u.length-1)%2!=0)return p.error("Expected an even number of arguments.");if(!(j=p.parse(j,2,pr)))return null;var ve=[],Ie=null;_==="interpolate-hcl"||_==="interpolate-lab"?Ie=Mi:p.expectedType&&p.expectedType.kind!=="value"&&(Ie=p.expectedType);for(var Le=0;Le<$.length;Le+=2){var ze=$[Le],Ke=$[Le+1],lt=Le+3,Mt=Le+4;if(typeof ze!="number")return p.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',lt);if(ve.length&&ve[ve.length-1][0]>=ze)return p.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',lt);var Dt=p.parse(Ke,Mt,Ie);if(!Dt)return null;Ie=Ie||Dt.type,ve.push([ze,Dt])}return Ie.kind==="number"||Ie.kind==="color"||Ie.kind==="array"&&Ie.itemType.kind==="number"&&typeof Ie.N=="number"?new q(Ie,_,R,j,ve):p.error("Type "+wo(Ie)+" is not interpolatable.")},q.prototype.evaluate=function(u){var p=this.labels,_=this.outputs;if(p.length===1)return _[0].evaluate(u);var R=this.input.evaluate(u);if(R<=p[0])return _[0].evaluate(u);var j=p.length;if(R>=p[j-1])return _[j-1].evaluate(u);var $=La(p,R),J=q.interpolationFactor(this.interpolation,R,p[$],p[$+1]),le=_[$].evaluate(u),ve=_[$+1].evaluate(u);return this.operator==="interpolate"?Gh[this.type.kind.toLowerCase()](le,ve,J):this.operator==="interpolate-hcl"?us.reverse(us.interpolate(us.forward(le),us.forward(ve),J)):qh.reverse(qh.interpolate(qh.forward(le),qh.forward(ve),J))},q.prototype.eachChild=function(u){u(this.input);for(var p=0,_=this.outputs;p<_.length;p+=1)u(_[p])},q.prototype.outputDefined=function(){return this.outputs.every(function(u){return u.outputDefined()})},q.prototype.serialize=function(){var u;u=this.interpolation.name==="linear"?["linear"]:this.interpolation.name==="exponential"?this.interpolation.base===1?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var p=[this.operator,u,this.input.serialize()],_=0;_=_.length)throw new Dl("Array index out of bounds: "+p+" > "+(_.length-1)+".");if(p!==Math.floor(p))throw new Dl("Array index must be an integer, but found "+p+" instead.");return _[p]},He.prototype.eachChild=function(u){u(this.index),u(this.input)},He.prototype.outputDefined=function(){return!1},He.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var We=function(u,p){this.type=Ii,this.needle=u,this.haystack=p};We.parse=function(u,p){if(u.length!==3)return p.error("Expected 2 arguments, but found "+(u.length-1)+" instead.");var _=p.parse(u[1],1,zi),R=p.parse(u[2],2,zi);return _&&R?Qn(_.type,[Ii,Di,pr,fi,zi])?new We(_,R):p.error("Expected first argument to be of type boolean, string, number or null, but found "+wo(_.type)+" instead"):null},We.prototype.evaluate=function(u){var p=this.needle.evaluate(u),_=this.haystack.evaluate(u);if(!_)return!1;if(!Ds(p,["boolean","string","number","null"]))throw new Dl("Expected first argument to be of type boolean, string, number or null, but found "+wo(ca(p))+" instead.");if(!Ds(_,["string","array"]))throw new Dl("Expected second argument to be of type array or string, but found "+wo(ca(_))+" instead.");return _.indexOf(p)>=0},We.prototype.eachChild=function(u){u(this.needle),u(this.haystack)},We.prototype.outputDefined=function(){return!0},We.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var ot=function(u,p,_){this.type=pr,this.needle=u,this.haystack=p,this.fromIndex=_};ot.parse=function(u,p){if(u.length<=2||u.length>=5)return p.error("Expected 3 or 4 arguments, but found "+(u.length-1)+" instead.");var _=p.parse(u[1],1,zi),R=p.parse(u[2],2,zi);if(!_||!R)return null;if(!Qn(_.type,[Ii,Di,pr,fi,zi]))return p.error("Expected first argument to be of type boolean, string, number or null, but found "+wo(_.type)+" instead");if(u.length===4){var j=p.parse(u[3],3,pr);return j?new ot(_,R,j):null}return new ot(_,R)},ot.prototype.evaluate=function(u){var p=this.needle.evaluate(u),_=this.haystack.evaluate(u);if(!Ds(p,["boolean","string","number","null"]))throw new Dl("Expected first argument to be of type boolean, string, number or null, but found "+wo(ca(p))+" instead.");if(!Ds(_,["string","array"]))throw new Dl("Expected second argument to be of type array or string, but found "+wo(ca(_))+" instead.");if(this.fromIndex){var R=this.fromIndex.evaluate(u);return _.indexOf(p,R)}return _.indexOf(p)},ot.prototype.eachChild=function(u){u(this.needle),u(this.haystack),this.fromIndex&&u(this.fromIndex)},ot.prototype.outputDefined=function(){return!1},ot.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var u=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),u]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var rr=function(u,p,_,R,j,$){this.inputType=u,this.type=p,this.input=_,this.cases=R,this.outputs=j,this.otherwise=$};rr.parse=function(u,p){if(u.length<5)return p.error("Expected at least 4 arguments, but found only "+(u.length-1)+".");if(u.length%2!=1)return p.error("Expected an even number of arguments.");var _,R;p.expectedType&&p.expectedType.kind!=="value"&&(R=p.expectedType);for(var j={},$=[],J=2;JNumber.MAX_SAFE_INTEGER)return Ie.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof Ke=="number"&&Math.floor(Ke)!==Ke)return Ie.error("Numeric branch labels must be integer values.");if(_){if(Ie.checkSubtype(_,ca(Ke)))return null}else _=ca(Ke);if(j[String(Ke)]!==void 0)return Ie.error("Branch labels must be unique.");j[String(Ke)]=$.length}var lt=p.parse(ve,J,R);if(!lt)return null;R=R||lt.type,$.push(lt)}var Mt=p.parse(u[1],1,zi);if(!Mt)return null;var Dt=p.parse(u[u.length-1],u.length-1,R);return Dt?Mt.type.kind!=="value"&&p.concat(1).checkSubtype(_,Mt.type)?null:new rr(_,R,Mt,j,$,Dt):null},rr.prototype.evaluate=function(u){var p=this.input.evaluate(u);return(ca(p)===this.inputType&&this.outputs[this.cases[p]]||this.otherwise).evaluate(u)},rr.prototype.eachChild=function(u){u(this.input),this.outputs.forEach(u),u(this.otherwise)},rr.prototype.outputDefined=function(){return this.outputs.every(function(u){return u.outputDefined()})&&this.otherwise.outputDefined()},rr.prototype.serialize=function(){for(var u=this,p=["match",this.input.serialize()],_=[],R={},j=0,$=Object.keys(this.cases).sort();j<$.length;j+=1){var J=$[j];(ze=R[this.cases[J]])===void 0?(R[this.cases[J]]=_.length,_.push([this.cases[J],[J]])):_[ze][1].push(J)}for(var le=function(lt){return u.inputType.kind==="number"?Number(lt):lt},ve=0,Ie=_;ve=5)return p.error("Expected 3 or 4 arguments, but found "+(u.length-1)+" instead.");var _=p.parse(u[1],1,zi),R=p.parse(u[2],2,pr);if(!_||!R)return null;if(!Qn(_.type,[No(zi),Di,zi]))return p.error("Expected first argument to be of type array or string, but found "+wo(_.type)+" instead");if(u.length===4){var j=p.parse(u[3],3,pr);return j?new cr(_.type,_,R,j):null}return new cr(_.type,_,R)},cr.prototype.evaluate=function(u){var p=this.input.evaluate(u),_=this.beginIndex.evaluate(u);if(!Ds(p,["string","array"]))throw new Dl("Expected first argument to be of type array or string, but found "+wo(ca(p))+" instead.");if(this.endIndex){var R=this.endIndex.evaluate(u);return p.slice(_,R)}return p.slice(_)},cr.prototype.eachChild=function(u){u(this.input),u(this.beginIndex),this.endIndex&&u(this.endIndex)},cr.prototype.outputDefined=function(){return!1},cr.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var u=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),u]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Bi=vr("==",function(u,p,_){return p===_},li),gn=vr("!=",function(u,p,_){return p!==_},function(u,p,_,R){return!li(0,p,_,R)}),gs=vr("<",function(u,p,_){return p<_},function(u,p,_,R){return R.compare(p,_)<0}),Mo=vr(">",function(u,p,_){return p>_},function(u,p,_,R){return R.compare(p,_)>0}),bl=vr("<=",function(u,p,_){return p<=_},function(u,p,_,R){return R.compare(p,_)<=0}),al=vr(">=",function(u,p,_){return p>=_},function(u,p,_,R){return R.compare(p,_)>=0}),Da=function(u,p,_,R,j){this.type=Di,this.number=u,this.locale=p,this.currency=_,this.minFractionDigits=R,this.maxFractionDigits=j};Da.parse=function(u,p){if(u.length!==3)return p.error("Expected two arguments.");var _=p.parse(u[1],1,pr);if(!_)return null;var R=u[2];if(typeof R!="object"||Array.isArray(R))return p.error("NumberFormat options argument must be an object.");var j=null;if(R.locale&&!(j=p.parse(R.locale,1,Di)))return null;var $=null;if(R.currency&&!($=p.parse(R.currency,1,Di)))return null;var J=null;if(R["min-fraction-digits"]&&!(J=p.parse(R["min-fraction-digits"],1,pr)))return null;var le=null;return R["max-fraction-digits"]&&!(le=p.parse(R["max-fraction-digits"],1,pr))?null:new Da(_,j,$,J,le)},Da.prototype.evaluate=function(u){return new Intl.NumberFormat(this.locale?this.locale.evaluate(u):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(u):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(u):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(u):void 0}).format(this.number.evaluate(u))},Da.prototype.eachChild=function(u){u(this.number),this.locale&&u(this.locale),this.currency&&u(this.currency),this.minFractionDigits&&u(this.minFractionDigits),this.maxFractionDigits&&u(this.maxFractionDigits)},Da.prototype.outputDefined=function(){return!1},Da.prototype.serialize=function(){var u={};return this.locale&&(u.locale=this.locale.serialize()),this.currency&&(u.currency=this.currency.serialize()),this.minFractionDigits&&(u["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(u["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),u]};var Ka=function(u){this.type=pr,this.input=u};Ka.parse=function(u,p){if(u.length!==2)return p.error("Expected 1 argument, but found "+(u.length-1)+" instead.");var _=p.parse(u[1],1);return _?_.type.kind!=="array"&&_.type.kind!=="string"&&_.type.kind!=="value"?p.error("Expected argument of type string or array, but found "+wo(_.type)+" instead."):new Ka(_):null},Ka.prototype.evaluate=function(u){var p=this.input.evaluate(u);if(typeof p=="string"||Array.isArray(p))return p.length;throw new Dl("Expected value to be of type string or array, but found "+wo(ca(p))+" instead.")},Ka.prototype.eachChild=function(u){u(this.input)},Ka.prototype.outputDefined=function(){return!1},Ka.prototype.serialize=function(){var u=["length"];return this.eachChild(function(p){u.push(p.serialize())}),u};var Yn={"==":Bi,"!=":gn,">":Mo,"<":gs,">=":al,"<=":bl,array:ua,at:He,boolean:ua,case:Ut,coalesce:pe,collator:Mu,format:Tc,image:Uc,in:We,"index-of":ot,interpolate:q,"interpolate-hcl":q,"interpolate-lab":q,length:Ka,let:be,literal:Ll,match:rr,number:ua,"number-format":Da,object:ua,slice:cr,step:xl,string:ua,"to-boolean":pu,"to-color":pu,"to-number":pu,"to-string":pu,var:Pu,within:ec};function Er(u,p){var _=p[0],R=p[1],j=p[2],$=p[3];_=_.evaluate(u),R=R.evaluate(u),j=j.evaluate(u);var J=$?$.evaluate(u):1,le=md(_,R,j,J);if(le)throw new Dl(le);return new cs(_/255*J,R/255*J,j/255*J,J)}function Gr(u,p){return u in p}function wi(u,p){var _=p[u];return _===void 0?null:_}function ni(u){return{type:u}}function b(u){return{result:"success",value:u}}function Po(u){return{result:"error",value:u}}function _o(u){return u["property-type"]==="data-driven"||u["property-type"]==="cross-faded-data-driven"}function Ye(u){return!!u.expression&&u.expression.parameters.indexOf("zoom")>-1}function Ms(u){return!!u.expression&&u.expression.interpolated}function ao(u){return u instanceof Number?"number":u instanceof String?"string":u instanceof Boolean?"boolean":Array.isArray(u)?"array":u===null?"null":typeof u}function Ps(u){return typeof u=="object"&&u!==null&&!Array.isArray(u)}function Rs(u){return u}function Go(u,p,_){return u!==void 0?u:p!==void 0?p:_!==void 0?_:void 0}function Qs(u,p,_,R,j){return Go(typeof _===j?R[_]:void 0,u.default,p.default)}function Ts(u,p,_){if(ao(_)!=="number")return Go(u.default,p.default);var R=u.stops.length;if(R===1||_<=u.stops[0][0])return u.stops[0][1];if(_>=u.stops[R-1][0])return u.stops[R-1][1];var j=La(u.stops.map(function($){return $[0]}),_);return u.stops[j][1]}function Os(u,p,_){var R=u.base!==void 0?u.base:1;if(ao(_)!=="number")return Go(u.default,p.default);var j=u.stops.length;if(j===1||_<=u.stops[0][0])return u.stops[0][1];if(_>=u.stops[j-1][0])return u.stops[j-1][1];var $=La(u.stops.map(function(ze){return ze[0]}),_),J=function(ze,Ke,lt,Mt){var Dt=Mt-lt,tr=ze-lt;return Dt===0?0:Ke===1?tr/Dt:(Math.pow(Ke,tr)-1)/(Math.pow(Ke,Dt)-1)}(_,R,u.stops[$][0],u.stops[$+1][0]),le=u.stops[$][1],ve=u.stops[$+1][1],Ie=Gh[p.type]||Rs;if(u.colorSpace&&u.colorSpace!=="rgb"){var Le=Gd[u.colorSpace];Ie=function(ze,Ke){return Le.reverse(Le.interpolate(Le.forward(ze),Le.forward(Ke),J))}}return typeof le.evaluate=="function"?{evaluate:function(){for(var ze=[],Ke=arguments.length;Ke--;)ze[Ke]=arguments[Ke];var lt=le.evaluate.apply(void 0,ze),Mt=ve.evaluate.apply(void 0,ze);if(lt!==void 0&&Mt!==void 0)return Ie(lt,Mt,J)}}:Ie(le,ve,J)}function gh(u,p,_){return p.type==="color"?_=cs.parse(_):p.type==="formatted"?_=yl.fromString(_.toString()):p.type==="resolvedImage"?_=Ya.fromString(_.toString()):ao(_)===p.type||p.type==="enum"&&p.values[_]||(_=void 0),Go(_,u.default,p.default)}Ma.register(Yn,{error:[{kind:"error"},[Di],function(u,p){throw new Dl(p[0].evaluate(u))}],typeof:[Di,[zi],function(u,p){return wo(ca(p[0].evaluate(u)))}],"to-rgba":[No(pr,4),[Mi],function(u,p){return p[0].evaluate(u).toArray()}],rgb:[Mi,[pr,pr,pr],Er],rgba:[Mi,[pr,pr,pr,pr],Er],has:{type:Ii,overloads:[[[Di],function(u,p){return Gr(p[0].evaluate(u),u.properties())}],[[Di,Ni],function(u,p){var _=p[1];return Gr(p[0].evaluate(u),_.evaluate(u))}]]},get:{type:zi,overloads:[[[Di],function(u,p){return wi(p[0].evaluate(u),u.properties())}],[[Di,Ni],function(u,p){var _=p[1];return wi(p[0].evaluate(u),_.evaluate(u))}]]},"feature-state":[zi,[Di],function(u,p){return wi(p[0].evaluate(u),u.featureState||{})}],properties:[Ni,[],function(u){return u.properties()}],"geometry-type":[Di,[],function(u){return u.geometryType()}],id:[zi,[],function(u){return u.id()}],zoom:[pr,[],function(u){return u.globals.zoom}],"heatmap-density":[pr,[],function(u){return u.globals.heatmapDensity||0}],"line-progress":[pr,[],function(u){return u.globals.lineProgress||0}],accumulated:[zi,[],function(u){return u.globals.accumulated===void 0?null:u.globals.accumulated}],"+":[pr,ni(pr),function(u,p){for(var _=0,R=0,j=p;R":[Ii,[Di,zi],function(u,p){var _=p[0],R=p[1],j=u.properties()[_.value],$=R.value;return typeof j==typeof $&&j>$}],"filter-id->":[Ii,[zi],function(u,p){var _=p[0],R=u.id(),j=_.value;return typeof R==typeof j&&R>j}],"filter-<=":[Ii,[Di,zi],function(u,p){var _=p[0],R=p[1],j=u.properties()[_.value],$=R.value;return typeof j==typeof $&&j<=$}],"filter-id-<=":[Ii,[zi],function(u,p){var _=p[0],R=u.id(),j=_.value;return typeof R==typeof j&&R<=j}],"filter->=":[Ii,[Di,zi],function(u,p){var _=p[0],R=p[1],j=u.properties()[_.value],$=R.value;return typeof j==typeof $&&j>=$}],"filter-id->=":[Ii,[zi],function(u,p){var _=p[0],R=u.id(),j=_.value;return typeof R==typeof j&&R>=j}],"filter-has":[Ii,[zi],function(u,p){return p[0].value in u.properties()}],"filter-has-id":[Ii,[],function(u){return u.id()!==null&&u.id()!==void 0}],"filter-type-in":[Ii,[No(Di)],function(u,p){return p[0].value.indexOf(u.geometryType())>=0}],"filter-id-in":[Ii,[No(zi)],function(u,p){return p[0].value.indexOf(u.id())>=0}],"filter-in-small":[Ii,[Di,No(zi)],function(u,p){var _=p[0];return p[1].value.indexOf(u.properties()[_.value])>=0}],"filter-in-large":[Ii,[Di,No(zi)],function(u,p){var _=p[0],R=p[1];return function(j,$,J,le){for(;J<=le;){var ve=J+le>>1;if($[ve]===j)return!0;$[ve]>j?le=ve-1:J=ve+1}return!1}(u.properties()[_.value],R.value,0,R.value.length-1)}],all:{type:Ii,overloads:[[[Ii,Ii],function(u,p){var _=p[1];return p[0].evaluate(u)&&_.evaluate(u)}],[ni(Ii),function(u,p){for(var _=0,R=p;_0&&typeof u[0]=="string"&&u[0]in Yn}function mc(u,p){var _=new tu(Yn,[],p?function(j){var $={color:Mi,string:Di,number:pr,enum:Di,boolean:Ii,formatted:Ls,resolvedImage:co};return j.type==="array"?No($[j.value]||zi,j.length):$[j.type]}(p):void 0),R=_.parse(u,void 0,void 0,void 0,p&&p.type==="string"?{typeAnnotation:"coerce"}:void 0);return R?b(new Ss(R,p)):Po(_.errors)}Ss.prototype.evaluateWithoutErrorHandling=function(u,p,_,R,j,$){return this._evaluator.globals=u,this._evaluator.feature=p,this._evaluator.featureState=_,this._evaluator.canonical=R,this._evaluator.availableImages=j||null,this._evaluator.formattedSection=$,this.expression.evaluate(this._evaluator)},Ss.prototype.evaluate=function(u,p,_,R,j,$){this._evaluator.globals=u,this._evaluator.feature=p||null,this._evaluator.featureState=_||null,this._evaluator.canonical=R,this._evaluator.availableImages=j||null,this._evaluator.formattedSection=$||null;try{var J=this.expression.evaluate(this._evaluator);if(J==null||typeof J=="number"&&J!=J)return this._defaultValue;if(this._enumValues&&!(J in this._enumValues))throw new Dl("Expected value to be one of "+Object.keys(this._enumValues).map(function(le){return JSON.stringify(le)}).join(", ")+", but found "+JSON.stringify(J)+" instead.");return J}catch(le){return this._warningHistory[le.message]||(this._warningHistory[le.message]=!0,typeof console<"u"&&console.warn(le.message)),this._defaultValue}};var Qa=function(u,p){this.kind=u,this._styleExpression=p,this.isStateDependent=u!=="constant"&&!Ol(p.expression)};Qa.prototype.evaluateWithoutErrorHandling=function(u,p,_,R,j,$){return this._styleExpression.evaluateWithoutErrorHandling(u,p,_,R,j,$)},Qa.prototype.evaluate=function(u,p,_,R,j,$){return this._styleExpression.evaluate(u,p,_,R,j,$)};var Ru=function(u,p,_,R){this.kind=u,this.zoomStops=_,this._styleExpression=p,this.isStateDependent=u!=="camera"&&!Ol(p.expression),this.interpolationType=R};function gc(u,p){if((u=mc(u,p)).result==="error")return u;var _=u.value.expression,R=sl(_);if(!R&&!_o(p))return Po([new si("","data expressions not supported")]);var j=vl(_,["zoom"]);if(!j&&!Ye(p))return Po([new si("","zoom expressions not supported")]);var $=function J(le){var ve=null;if(le instanceof be)ve=J(le.result);else if(le instanceof pe)for(var Ie=0,Le=le.args;IeR.maximum?[new Ot(p,_,_+" is greater than the maximum value "+R.maximum)]:[]}function dt(u){var p,_,R,j=u.valueSpec,$=ui(u.value.type),J={},le=$!=="categorical"&&u.value.property===void 0,ve=!le,Ie=ao(u.value.stops)==="array"&&ao(u.value.stops[0])==="array"&&ao(u.value.stops[0][0])==="object",Le=Fl({key:u.key,value:u.value,valueSpec:u.styleSpec.function,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(lt){if($==="identity")return[new Ot(lt.key,lt.value,'identity function may not have a "stops" property')];var Mt=[],Dt=lt.value;return Mt=Mt.concat(Ac({key:lt.key,value:Dt,valueSpec:lt.valueSpec,style:lt.style,styleSpec:lt.styleSpec,arrayElementValidator:ze})),ao(Dt)==="array"&&Dt.length===0&&Mt.push(new Ot(lt.key,Dt,"array must have at least one stop")),Mt},default:function(lt){return Hi({key:lt.key,value:lt.value,valueSpec:j,style:lt.style,styleSpec:lt.styleSpec})}}});return $==="identity"&&le&&Le.push(new Ot(u.key,u.value,'missing required property "property"')),$==="identity"||u.value.stops||Le.push(new Ot(u.key,u.value,'missing required property "stops"')),$==="exponential"&&u.valueSpec.expression&&!Ms(u.valueSpec)&&Le.push(new Ot(u.key,u.value,"exponential functions not supported")),u.styleSpec.$version>=8&&(ve&&!_o(u.valueSpec)?Le.push(new Ot(u.key,u.value,"property functions not supported")):le&&!Ye(u.valueSpec)&&Le.push(new Ot(u.key,u.value,"zoom functions not supported"))),$!=="categorical"&&!Ie||u.value.property!==void 0||Le.push(new Ot(u.key,u.value,'"property" property is required')),Le;function ze(lt){var Mt=[],Dt=lt.value,tr=lt.key;if(ao(Dt)!=="array")return[new Ot(tr,Dt,"array expected, "+ao(Dt)+" found")];if(Dt.length!==2)return[new Ot(tr,Dt,"array length 2 expected, length "+Dt.length+" found")];if(Ie){if(ao(Dt[0])!=="object")return[new Ot(tr,Dt,"object expected, "+ao(Dt[0])+" found")];if(Dt[0].zoom===void 0)return[new Ot(tr,Dt,"object stop key must have zoom")];if(Dt[0].value===void 0)return[new Ot(tr,Dt,"object stop key must have value")];if(R&&R>ui(Dt[0].zoom))return[new Ot(tr,Dt[0].zoom,"stop zoom values must appear in ascending order")];ui(Dt[0].zoom)!==R&&(R=ui(Dt[0].zoom),_=void 0,J={}),Mt=Mt.concat(Fl({key:tr+"[0]",value:Dt[0],valueSpec:{zoom:{}},style:lt.style,styleSpec:lt.styleSpec,objectElementValidators:{zoom:qn,value:Ke}}))}else Mt=Mt.concat(Ke({key:tr+"[0]",value:Dt[0],valueSpec:{},style:lt.style,styleSpec:lt.styleSpec},Dt));return Ah(Hr(Dt[1]))?Mt.concat([new Ot(tr+"[1]",Dt[1],"expressions are not allowed in function stops.")]):Mt.concat(Hi({key:tr+"[1]",value:Dt[1],valueSpec:j,style:lt.style,styleSpec:lt.styleSpec}))}function Ke(lt,Mt){var Dt=ao(lt.value),tr=ui(lt.value),qt=lt.value!==null?lt.value:Mt;if(p){if(Dt!==p)return[new Ot(lt.key,qt,Dt+" stop domain type must match previous stop domain type "+p)]}else p=Dt;if(Dt!=="number"&&Dt!=="string"&&Dt!=="boolean")return[new Ot(lt.key,qt,"stop domain value must be a number, string, or boolean")];if(Dt!=="number"&&$!=="categorical"){var ur="number expected, "+Dt+" found";return _o(j)&&$===void 0&&(ur+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Ot(lt.key,qt,ur)]}return $!=="categorical"||Dt!=="number"||isFinite(tr)&&Math.floor(tr)===tr?$!=="categorical"&&Dt==="number"&&_!==void 0&&tr<_?[new Ot(lt.key,qt,"stop domain values must appear in ascending order")]:(_=tr,$==="categorical"&&tr in J?[new Ot(lt.key,qt,"stop domain values must be unique")]:(J[tr]=!0,[])):[new Ot(lt.key,qt,"integer expected, found "+tr)]}}function Fn(u){var p=(u.expressionContext==="property"?gc:mc)(Hr(u.value),u.valueSpec);if(p.result==="error")return p.value.map(function(R){return new Ot(""+u.key+R.key,u.value,R.message)});var _=p.value.expression||p.value._styleExpression.expression;if(u.expressionContext==="property"&&u.propertyKey==="text-font"&&!_.outputDefined())return[new Ot(u.key,u.value,'Invalid data expression for "'+u.propertyKey+'". Output values must be contained as literals within the expression.')];if(u.expressionContext==="property"&&u.propertyType==="layout"&&!Ol(_))return[new Ot(u.key,u.value,'"feature-state" data expressions are not supported with layout properties.')];if(u.expressionContext==="filter"&&!Ol(_))return[new Ot(u.key,u.value,'"feature-state" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf("cluster")===0){if(!vl(_,["zoom","feature-state"]))return[new Ot(u.key,u.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(u.expressionContext==="cluster-initial"&&!sl(_))return[new Ot(u.key,u.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function $h(u){var p=u.key,_=u.value,R=u.valueSpec,j=[];return Array.isArray(R.values)?R.values.indexOf(ui(_))===-1&&j.push(new Ot(p,_,"expected one of ["+R.values.join(", ")+"], "+JSON.stringify(_)+" found")):Object.keys(R.values).indexOf(ui(_))===-1&&j.push(new Ot(p,_,"expected one of ["+Object.keys(R.values).join(", ")+"], "+JSON.stringify(_)+" found")),j}function _f(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case"has":return u.length>=2&&u[1]!=="$id"&&u[1]!=="$type";case"in":return u.length>=3&&(typeof u[1]!="string"||Array.isArray(u[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case"any":case"all":for(var p=0,_=u.slice(1);p<_.length;p+=1){var R=_[p];if(!_f(R)&&typeof R!="boolean")return!1}return!0;default:return!0}}_h.deserialize=function(u){return new _h(u._parameters,u._specification)},_h.serialize=function(u){return{_parameters:u._parameters,_specification:u._specification}};var Xh={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Wd(u){if(u==null)return{filter:function(){return!0},needGeometry:!1};_f(u)||(u=et(u));var p=mc(u,Xh);if(p.result==="error")throw new Error(p.value.map(function(_){return _.key+": "+_.message}).join(", "));return{filter:function(_,R,j){return p.value.evaluate(_,R,{},j)},needGeometry:function _(R){if(!Array.isArray(R))return!1;if(R[0]==="within")return!0;for(var j=1;jp?1:0}function et(u){if(!u)return!0;var p,_=u[0];return u.length<=1?_!=="any":_==="=="?yf(u[1],u[2],"=="):_==="!="?qf(yf(u[1],u[2],"==")):_==="<"||_===">"||_==="<="||_===">="?yf(u[1],u[2],_):_==="any"?(p=u.slice(1),["any"].concat(p.map(et))):_==="all"?["all"].concat(u.slice(1).map(et)):_==="none"?["all"].concat(u.slice(1).map(et).map(qf)):_==="in"?Bu(u[1],u.slice(2)):_==="!in"?qf(Bu(u[1],u.slice(2))):_==="has"?Wf(u[1]):_==="!has"?qf(Wf(u[1])):_!=="within"||u}function yf(u,p,_){switch(u){case"$type":return["filter-type-"+_,p];case"$id":return["filter-id-"+_,p];default:return["filter-"+_,u,p]}}function Bu(u,p){if(p.length===0)return!1;switch(u){case"$type":return["filter-type-in",["literal",p]];case"$id":return["filter-id-in",["literal",p]];default:return p.length>200&&!p.some(function(_){return typeof _!=typeof p[0]})?["filter-in-large",u,["literal",p.sort(Ad)]]:["filter-in-small",u,["literal",p]]}}function Wf(u){switch(u){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",u]}}function qf(u){return["!",u]}function Bt(u){return _f(Hr(u.value))?Fn(ei({},u,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function p(_){var R=_.value,j=_.key;if(ao(R)!=="array")return[new Ot(j,R,"array expected, "+ao(R)+" found")];var $,J=_.styleSpec,le=[];if(R.length<1)return[new Ot(j,R,"filter array must have at least 1 element")];switch(le=le.concat($h({key:j+"[0]",value:R[0],valueSpec:J.filter_operator,style:_.style,styleSpec:_.styleSpec})),ui(R[0])){case"<":case"<=":case">":case">=":R.length>=2&&ui(R[1])==="$type"&&le.push(new Ot(j,R,'"$type" cannot be use with operator "'+R[0]+'"'));case"==":case"!=":R.length!==3&&le.push(new Ot(j,R,'filter array for operator "'+R[0]+'" must have 3 elements'));case"in":case"!in":R.length>=2&&($=ao(R[1]))!=="string"&&le.push(new Ot(j+"[1]",R[1],"string expected, "+$+" found"));for(var ve=2;ve=Le[lt+0]&&R>=Le[lt+1])?(J[Ke]=!0,$.push(Ie[Ke])):J[Ke]=!1}}},Sl.prototype._forEachCell=function(u,p,_,R,j,$,J,le){for(var ve=this._convertToCellCoord(u),Ie=this._convertToCellCoord(p),Le=this._convertToCellCoord(_),ze=this._convertToCellCoord(R),Ke=ve;Ke<=Le;Ke++)for(var lt=Ie;lt<=ze;lt++){var Mt=this.d*lt+Ke;if((!le||le(this._convertFromCellCoord(Ke),this._convertFromCellCoord(lt),this._convertFromCellCoord(Ke+1),this._convertFromCellCoord(lt+1)))&&j.call(this,u,p,_,R,Mt,$,J,le))return}},Sl.prototype._convertFromCellCoord=function(u){return(u-this.padding)/this.scale},Sl.prototype._convertToCellCoord=function(u){return Math.max(0,Math.min(this.d-1,Math.floor(u*this.scale)+this.padding))},Sl.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var u=this.cells,p=3+this.cells.length+1+1,_=0,R=0;R=0)){var Le=u[Ie];ve[Ie]=Pa[le].shallow.indexOf(Ie)>=0?Le:ru(Le,p)}u instanceof Error&&(ve.message=u.message)}if(ve.$name)throw new Error("$name property is reserved for worker serialization logic.");return le!=="Object"&&(ve.$name=le),ve}throw new Error("can't serialize object of type "+typeof u)}function kl(u){if(u==null||typeof u=="boolean"||typeof u=="number"||typeof u=="string"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||qd(u)||yd(u)||ArrayBuffer.isView(u)||u instanceof _d)return u;if(Array.isArray(u))return u.map(kl);if(typeof u=="object"){var p=u.$name||"Object",_=Pa[p].klass;if(!_)throw new Error("can't deserialize unregistered class "+p);if(_.deserialize)return _.deserialize(u);for(var R=Object.create(_.prototype),j=0,$=Object.keys(u);j<$.length;j+=1){var J=$[j];if(J!=="$name"){var le=u[J];R[J]=Pa[p].shallow.indexOf(J)>=0?le:kl(le)}}return R}throw new Error("can't deserialize object of type "+typeof u)}var Ip=function(){this.first=!0};Ip.prototype.update=function(u,p){var _=Math.floor(u);return this.first?(this.first=!1,this.lastIntegerZoom=_,this.lastIntegerZoomTime=0,this.lastZoom=u,this.lastFloorZoom=_,!0):(this.lastFloorZoom>_?(this.lastIntegerZoom=_+1,this.lastIntegerZoomTime=p):this.lastFloorZoom<_&&(this.lastIntegerZoom=_,this.lastIntegerZoomTime=p),u!==this.lastZoom&&(this.lastZoom=u,this.lastFloorZoom=_,!0))};var Fi={"Latin-1 Supplement":function(u){return u>=128&&u<=255},Arabic:function(u){return u>=1536&&u<=1791},"Arabic Supplement":function(u){return u>=1872&&u<=1919},"Arabic Extended-A":function(u){return u>=2208&&u<=2303},"Hangul Jamo":function(u){return u>=4352&&u<=4607},"Unified Canadian Aboriginal Syllabics":function(u){return u>=5120&&u<=5759},Khmer:function(u){return u>=6016&&u<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(u){return u>=6320&&u<=6399},"General Punctuation":function(u){return u>=8192&&u<=8303},"Letterlike Symbols":function(u){return u>=8448&&u<=8527},"Number Forms":function(u){return u>=8528&&u<=8591},"Miscellaneous Technical":function(u){return u>=8960&&u<=9215},"Control Pictures":function(u){return u>=9216&&u<=9279},"Optical Character Recognition":function(u){return u>=9280&&u<=9311},"Enclosed Alphanumerics":function(u){return u>=9312&&u<=9471},"Geometric Shapes":function(u){return u>=9632&&u<=9727},"Miscellaneous Symbols":function(u){return u>=9728&&u<=9983},"Miscellaneous Symbols and Arrows":function(u){return u>=11008&&u<=11263},"CJK Radicals Supplement":function(u){return u>=11904&&u<=12031},"Kangxi Radicals":function(u){return u>=12032&&u<=12255},"Ideographic Description Characters":function(u){return u>=12272&&u<=12287},"CJK Symbols and Punctuation":function(u){return u>=12288&&u<=12351},Hiragana:function(u){return u>=12352&&u<=12447},Katakana:function(u){return u>=12448&&u<=12543},Bopomofo:function(u){return u>=12544&&u<=12591},"Hangul Compatibility Jamo":function(u){return u>=12592&&u<=12687},Kanbun:function(u){return u>=12688&&u<=12703},"Bopomofo Extended":function(u){return u>=12704&&u<=12735},"CJK Strokes":function(u){return u>=12736&&u<=12783},"Katakana Phonetic Extensions":function(u){return u>=12784&&u<=12799},"Enclosed CJK Letters and Months":function(u){return u>=12800&&u<=13055},"CJK Compatibility":function(u){return u>=13056&&u<=13311},"CJK Unified Ideographs Extension A":function(u){return u>=13312&&u<=19903},"Yijing Hexagram Symbols":function(u){return u>=19904&&u<=19967},"CJK Unified Ideographs":function(u){return u>=19968&&u<=40959},"Yi Syllables":function(u){return u>=40960&&u<=42127},"Yi Radicals":function(u){return u>=42128&&u<=42191},"Hangul Jamo Extended-A":function(u){return u>=43360&&u<=43391},"Hangul Syllables":function(u){return u>=44032&&u<=55215},"Hangul Jamo Extended-B":function(u){return u>=55216&&u<=55295},"Private Use Area":function(u){return u>=57344&&u<=63743},"CJK Compatibility Ideographs":function(u){return u>=63744&&u<=64255},"Arabic Presentation Forms-A":function(u){return u>=64336&&u<=65023},"Vertical Forms":function(u){return u>=65040&&u<=65055},"CJK Compatibility Forms":function(u){return u>=65072&&u<=65103},"Small Form Variants":function(u){return u>=65104&&u<=65135},"Arabic Presentation Forms-B":function(u){return u>=65136&&u<=65279},"Halfwidth and Fullwidth Forms":function(u){return u>=65280&&u<=65519}};function Zo(u){for(var p=0,_=u;p<_.length;p+=1)if(vd(_[p].charCodeAt(0)))return!0;return!1}function vd(u){return!(u!==746&&u!==747&&(u<4352||!(Fi["Bopomofo Extended"](u)||Fi.Bopomofo(u)||Fi["CJK Compatibility Forms"](u)&&!(u>=65097&&u<=65103)||Fi["CJK Compatibility Ideographs"](u)||Fi["CJK Compatibility"](u)||Fi["CJK Radicals Supplement"](u)||Fi["CJK Strokes"](u)||!(!Fi["CJK Symbols and Punctuation"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Fi["CJK Unified Ideographs Extension A"](u)||Fi["CJK Unified Ideographs"](u)||Fi["Enclosed CJK Letters and Months"](u)||Fi["Hangul Compatibility Jamo"](u)||Fi["Hangul Jamo Extended-A"](u)||Fi["Hangul Jamo Extended-B"](u)||Fi["Hangul Jamo"](u)||Fi["Hangul Syllables"](u)||Fi.Hiragana(u)||Fi["Ideographic Description Characters"](u)||Fi.Kanbun(u)||Fi["Kangxi Radicals"](u)||Fi["Katakana Phonetic Extensions"](u)||Fi.Katakana(u)&&u!==12540||!(!Fi["Halfwidth and Fullwidth Forms"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Fi["Small Form Variants"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Fi["Unified Canadian Aboriginal Syllabics"](u)||Fi["Unified Canadian Aboriginal Syllabics Extended"](u)||Fi["Vertical Forms"](u)||Fi["Yijing Hexagram Symbols"](u)||Fi["Yi Syllables"](u)||Fi["Yi Radicals"](u))))}function tg(u){return!(vd(u)||function(p){return!!(Fi["Latin-1 Supplement"](p)&&(p===167||p===169||p===174||p===177||p===188||p===189||p===190||p===215||p===247)||Fi["General Punctuation"](p)&&(p===8214||p===8224||p===8225||p===8240||p===8241||p===8251||p===8252||p===8258||p===8263||p===8264||p===8265||p===8273)||Fi["Letterlike Symbols"](p)||Fi["Number Forms"](p)||Fi["Miscellaneous Technical"](p)&&(p>=8960&&p<=8967||p>=8972&&p<=8991||p>=8996&&p<=9e3||p===9003||p>=9085&&p<=9114||p>=9150&&p<=9165||p===9167||p>=9169&&p<=9179||p>=9186&&p<=9215)||Fi["Control Pictures"](p)&&p!==9251||Fi["Optical Character Recognition"](p)||Fi["Enclosed Alphanumerics"](p)||Fi["Geometric Shapes"](p)||Fi["Miscellaneous Symbols"](p)&&!(p>=9754&&p<=9759)||Fi["Miscellaneous Symbols and Arrows"](p)&&(p>=11026&&p<=11055||p>=11088&&p<=11097||p>=11192&&p<=11243)||Fi["CJK Symbols and Punctuation"](p)||Fi.Katakana(p)||Fi["Private Use Area"](p)||Fi["CJK Compatibility Forms"](p)||Fi["Small Form Variants"](p)||Fi["Halfwidth and Fullwidth Forms"](p)||p===8734||p===8756||p===8757||p>=9984&&p<=10087||p>=10102&&p<=10131||p===65532||p===65533)}(u))}function Zu(u){return u>=1424&&u<=2303||Fi["Arabic Presentation Forms-A"](u)||Fi["Arabic Presentation Forms-B"](u)}function Ic(u,p){return!(!p&&Zu(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Fi.Khmer(u))}function rg(u){for(var p=0,_=u;p<_.length;p+=1)if(Zu(_[p].charCodeAt(0)))return!0;return!1}var ig=null,ha="unavailable",mu=null,Mc=function(u){u&&typeof u=="string"&&u.indexOf("NetworkError")>-1&&(ha="error"),ig&&ig(u)};function yh(){$d.fire(new Qe("pluginStateChange",{pluginStatus:ha,pluginURL:mu}))}var $d=new Jt,$f=function(){return ha},Yu=function(){if(ha!=="deferred"||!mu)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");ha="loading",yh(),mu&&Us({url:mu},function(u){u?Mc(u):(ha="loaded",yh())})},gu={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ha==="loaded"||gu.applyArabicShaping!=null},isLoading:function(){return ha==="loading"},setState:function(u){ha=u.pluginStatus,mu=u.pluginURL},isParsed:function(){return gu.applyArabicShaping!=null&&gu.processBidirectionalText!=null&&gu.processStyledBidirectionalText!=null},getPluginURL:function(){return mu}},So=function(u,p){this.zoom=u,p?(this.now=p.now,this.fadeDuration=p.fadeDuration,this.zoomHistory=p.zoomHistory,this.transition=p.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ip,this.transition={})};So.prototype.isSupportedScript=function(u){return function(p,_){for(var R=0,j=p;Rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:p+(1-p)*_}:{fromScale:.5,toScale:1,t:1-(1-_)*p}};var Lu=function(u,p){this.property=u,this.value=p,this.expression=function(_,R){if(Ps(_))return new _h(_,R);if(Ah(_)){var j=gc(_,R);if(j.result==="error")throw new Error(j.value.map(function(J){return J.key+": "+J.message}).join(", "));return j.value}var $=_;return typeof _=="string"&&R.type==="color"&&($=cs.parse(_)),{kind:"constant",evaluate:function(){return $}}}(p===void 0?u.specification.default:p,u.specification)};Lu.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},Lu.prototype.possiblyEvaluate=function(u,p,_){return this.property.possiblyEvaluate(this,u,p,_)};var Nl=function(u){this.property=u,this.value=new Lu(u,void 0)};Nl.prototype.transitioned=function(u,p){return new xf(this.property,this.value,p,ee({},u.transition,this.transition),u.now)},Nl.prototype.untransitioned=function(){return new xf(this.property,this.value,null,{},0)};var fa=function(u){this._properties=u,this._values=Object.create(u.defaultTransitionablePropertyValues)};fa.prototype.getValue=function(u){return Ce(this._values[u].value.value)},fa.prototype.setValue=function(u,p){this._values.hasOwnProperty(u)||(this._values[u]=new Nl(this._values[u].property)),this._values[u].value=new Lu(this._values[u].property,p===null?void 0:Ce(p))},fa.prototype.getTransition=function(u){return Ce(this._values[u].transition)},fa.prototype.setTransition=function(u,p){this._values.hasOwnProperty(u)||(this._values[u]=new Nl(this._values[u].property)),this._values[u].transition=Ce(p)||void 0},fa.prototype.serialize=function(){for(var u={},p=0,_=Object.keys(this._values);p<_.length;p+=1){var R=_[p],j=this.getValue(R);j!==void 0&&(u[R]=j);var $=this.getTransition(R);$!==void 0&&(u[R+"-transition"]=$)}return u},fa.prototype.transitioned=function(u,p){for(var _=new Xf(this._properties),R=0,j=Object.keys(this._values);Rthis.end)return this.prior=null,j;if(this.value.isDataDriven())return this.prior=null,j;if(R=1)return 1;var ve=le*le,Ie=ve*le;return 4*(le<.5?Ie:3*(le-ve)+Ie-.75)}(J))}return j};var Xf=function(u){this._properties=u,this._values=Object.create(u.defaultTransitioningPropertyValues)};Xf.prototype.possiblyEvaluate=function(u,p,_){for(var R=new Ku(this._properties),j=0,$=Object.keys(this._values);j<$.length;j+=1){var J=$[j];R._values[J]=this._values[J].possiblyEvaluate(u,p,_)}return R},Xf.prototype.hasTransition=function(){for(var u=0,p=Object.keys(this._values);u$.zoomHistory.lastIntegerZoom?{from:_,to:R}:{from:j,to:R}},p.prototype.interpolate=function(_){return _},p}(nn),Vc=function(u){this.specification=u};Vc.prototype.possiblyEvaluate=function(u,p,_,R){if(u.value!==void 0){if(u.expression.kind==="constant"){var j=u.expression.evaluate(p,null,{},_,R);return this._calculate(j,j,j,p)}return this._calculate(u.expression.evaluate(new So(Math.floor(p.zoom-1),p)),u.expression.evaluate(new So(Math.floor(p.zoom),p)),u.expression.evaluate(new So(Math.floor(p.zoom+1),p)),p)}},Vc.prototype._calculate=function(u,p,_,R){return R.zoom>R.zoomHistory.lastIntegerZoom?{from:u,to:p}:{from:_,to:p}},Vc.prototype.interpolate=function(u){return u};var Au=function(u){this.specification=u};Au.prototype.possiblyEvaluate=function(u,p,_,R){return!!u.expression.evaluate(p,null,{},_,R)},Au.prototype.interpolate=function(){return!1};var Cl=function(u){for(var p in this.properties=u,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],u){var _=u[p];_.specification.overridable&&this.overridableProperties.push(p);var R=this.defaultPropertyValues[p]=new Lu(_,void 0),j=this.defaultTransitionablePropertyValues[p]=new Nl(_);this.defaultTransitioningPropertyValues[p]=j.untransitioned(),this.defaultPossiblyEvaluatedValues[p]=R.possiblyEvaluate({})}};Yi("DataDrivenProperty",nn),Yi("DataConstantProperty",An),Yi("CrossFadedDataDrivenProperty",Xd),Yi("CrossFadedProperty",Vc),Yi("ColorRampProperty",Au);var Zh=function(u){function p(_,R){if(u.call(this),this.id=_.id,this.type=_.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},_.type!=="custom"&&(this.metadata=(_=_).metadata,this.minzoom=_.minzoom,this.maxzoom=_.maxzoom,_.type!=="background"&&(this.source=_.source,this.sourceLayer=_["source-layer"],this.filter=_.filter),R.layout&&(this._unevaluatedLayout=new Pc(R.layout)),R.paint)){for(var j in this._transitionablePaint=new fa(R.paint),_.paint)this.setPaintProperty(j,_.paint[j],{validate:!1});for(var $ in _.layout)this.setLayoutProperty($,_.layout[$],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ku(R.paint)}}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},p.prototype.getLayoutProperty=function(_){return _==="visibility"?this.visibility:this._unevaluatedLayout.getValue(_)},p.prototype.setLayoutProperty=function(_,R,j){j===void 0&&(j={}),R!=null&&this._validate(Tl,"layers."+this.id+".layout."+_,_,R,j)||(_!=="visibility"?this._unevaluatedLayout.setValue(_,R):this.visibility=R)},p.prototype.getPaintProperty=function(_){return ne(_,"-transition")?this._transitionablePaint.getTransition(_.slice(0,-11)):this._transitionablePaint.getValue(_)},p.prototype.setPaintProperty=function(_,R,j){if(j===void 0&&(j={}),R!=null&&this._validate(tc,"layers."+this.id+".paint."+_,_,R,j))return!1;if(ne(_,"-transition"))return this._transitionablePaint.setTransition(_.slice(0,-11),R||void 0),!1;var $=this._transitionablePaint._values[_],J=$.property.specification["property-type"]==="cross-faded-data-driven",le=$.value.isDataDriven(),ve=$.value;this._transitionablePaint.setValue(_,R),this._handleSpecialPaintPropertyUpdate(_);var Ie=this._transitionablePaint._values[_].value;return Ie.isDataDriven()||le||J||this._handleOverridablePaintPropertyUpdate(_,ve,Ie)},p.prototype._handleSpecialPaintPropertyUpdate=function(_){},p.prototype._handleOverridablePaintPropertyUpdate=function(_,R,j){return!1},p.prototype.isHidden=function(_){return!!(this.minzoom&&_=this.maxzoom)||this.visibility==="none"},p.prototype.updateTransitions=function(_){this._transitioningPaint=this._transitionablePaint.transitioned(_,this._transitioningPaint)},p.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},p.prototype.recalculate=function(_,R){_.getCrossfadeParameters&&(this._crossfadeParameters=_.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(_,void 0,R)),this.paint=this._transitioningPaint.possiblyEvaluate(_,void 0,R)},p.prototype.serialize=function(){var _={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&&(_.layout=_.layout||{},_.layout.visibility=this.visibility),Xe(_,function(R,j){return!(R===void 0||j==="layout"&&!Object.keys(R).length||j==="paint"&&!Object.keys(R).length)})},p.prototype._validate=function(_,R,j,$,J){return J===void 0&&(J={}),(!J||J.validate!==!1)&&ll(this,_.call(wl,{key:R,layerType:this.type,objectKey:j,value:$,styleSpec:ht,style:{glyphs:!0,sprite:!0}}))},p.prototype.is3D=function(){return!1},p.prototype.isTileClipped=function(){return!1},p.prototype.hasOffscreenPass=function(){return!1},p.prototype.resize=function(){},p.prototype.isStateDependent=function(){for(var _ in this.paint._values){var R=this.paint.get(_);if(R instanceof El&&_o(R.property.specification)&&(R.value.kind==="source"||R.value.kind==="composite")&&R.value.isStateDependent)return!0}return!1},p}(Jt),ng={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ha=function(u,p){this._structArray=u,this._pos1=p*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},As=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function da(u,p){p===void 0&&(p=1);var _=0,R=0;return{members:u.map(function(j){var $=ng[j.type].BYTES_PER_ELEMENT,J=_=Mp(_,Math.max(p,$)),le=j.components||1;return R=Math.max(R,$),_+=$*le,{name:j.name,type:j.type,components:le,offset:J}}),size:Mp(_,Math.max(R,p)),alignment:p}}function Mp(u,p){return Math.ceil(u/p)*p}As.serialize=function(u,p){return u._trim(),p&&(u.isTransferred=!0,p.push(u.arrayBuffer)),{length:u.length,arrayBuffer:u.arrayBuffer}},As.deserialize=function(u){var p=Object.create(this.prototype);return p.arrayBuffer=u.arrayBuffer,p.length=u.length,p.capacity=u.arrayBuffer.byteLength/p.bytesPerElement,p._refreshViews(),p},As.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},As.prototype.clear=function(){this.length=0},As.prototype.resize=function(u){this.reserve(u),this.length=u},As.prototype.reserve=function(u){if(u>this.capacity){this.capacity=Math.max(u,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var p=this.uint8;this._refreshViews(),p&&this.uint8.set(p)}},As.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Yh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R){var j=this.length;return this.resize(j+1),this.emplace(j,_,R)},p.prototype.emplace=function(_,R,j){var $=2*_;return this.int16[$+0]=R,this.int16[$+1]=j,_},p}(As);Yh.prototype.bytesPerElement=4,Yi("StructArrayLayout2i4",Yh);var Pp=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$){var J=this.length;return this.resize(J+1),this.emplace(J,_,R,j,$)},p.prototype.emplace=function(_,R,j,$,J){var le=4*_;return this.int16[le+0]=R,this.int16[le+1]=j,this.int16[le+2]=$,this.int16[le+3]=J,_},p}(As);Pp.prototype.bytesPerElement=8,Yi("StructArrayLayout4i8",Pp);var _c=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J,le){var ve=this.length;return this.resize(ve+1),this.emplace(ve,_,R,j,$,J,le)},p.prototype.emplace=function(_,R,j,$,J,le,ve){var Ie=6*_;return this.int16[Ie+0]=R,this.int16[Ie+1]=j,this.int16[Ie+2]=$,this.int16[Ie+3]=J,this.int16[Ie+4]=le,this.int16[Ie+5]=ve,_},p}(As);_c.prototype.bytesPerElement=12,Yi("StructArrayLayout2i4i12",_c);var Rc=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J,le){var ve=this.length;return this.resize(ve+1),this.emplace(ve,_,R,j,$,J,le)},p.prototype.emplace=function(_,R,j,$,J,le,ve){var Ie=4*_,Le=8*_;return this.int16[Ie+0]=R,this.int16[Ie+1]=j,this.uint8[Le+4]=$,this.uint8[Le+5]=J,this.uint8[Le+6]=le,this.uint8[Le+7]=ve,_},p}(As);Rc.prototype.bytesPerElement=8,Yi("StructArrayLayout2i4ub8",Rc);var vh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R){var j=this.length;return this.resize(j+1),this.emplace(j,_,R)},p.prototype.emplace=function(_,R,j){var $=2*_;return this.float32[$+0]=R,this.float32[$+1]=j,_},p}(As);vh.prototype.bytesPerElement=8,Yi("StructArrayLayout2f8",vh);var _u=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J,le,ve,Ie,Le,ze){var Ke=this.length;return this.resize(Ke+1),this.emplace(Ke,_,R,j,$,J,le,ve,Ie,Le,ze)},p.prototype.emplace=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke){var lt=10*_;return this.uint16[lt+0]=R,this.uint16[lt+1]=j,this.uint16[lt+2]=$,this.uint16[lt+3]=J,this.uint16[lt+4]=le,this.uint16[lt+5]=ve,this.uint16[lt+6]=Ie,this.uint16[lt+7]=Le,this.uint16[lt+8]=ze,this.uint16[lt+9]=Ke,_},p}(As);_u.prototype.bytesPerElement=20,Yi("StructArrayLayout10ui20",_u);var Zf=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt){var Mt=this.length;return this.resize(Mt+1),this.emplace(Mt,_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt)},p.prototype.emplace=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt){var Dt=12*_;return this.int16[Dt+0]=R,this.int16[Dt+1]=j,this.int16[Dt+2]=$,this.int16[Dt+3]=J,this.uint16[Dt+4]=le,this.uint16[Dt+5]=ve,this.uint16[Dt+6]=Ie,this.uint16[Dt+7]=Le,this.int16[Dt+8]=ze,this.int16[Dt+9]=Ke,this.int16[Dt+10]=lt,this.int16[Dt+11]=Mt,_},p}(As);Zf.prototype.bytesPerElement=24,Yi("StructArrayLayout4i4ui4i24",Zf);var Zd=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j){var $=this.length;return this.resize($+1),this.emplace($,_,R,j)},p.prototype.emplace=function(_,R,j,$){var J=3*_;return this.float32[J+0]=R,this.float32[J+1]=j,this.float32[J+2]=$,_},p}(As);Zd.prototype.bytesPerElement=12,Yi("StructArrayLayout3f12",Zd);var xd=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_){var R=this.length;return this.resize(R+1),this.emplace(R,_)},p.prototype.emplace=function(_,R){return this.uint32[1*_+0]=R,_},p}(As);xd.prototype.bytesPerElement=4,Yi("StructArrayLayout1ul4",xd);var mm=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.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)},p.prototype.emplaceBack=function(_,R,j,$,J,le,ve,Ie,Le){var ze=this.length;return this.resize(ze+1),this.emplace(ze,_,R,j,$,J,le,ve,Ie,Le)},p.prototype.emplace=function(_,R,j,$,J,le,ve,Ie,Le,ze){var Ke=10*_,lt=5*_;return this.int16[Ke+0]=R,this.int16[Ke+1]=j,this.int16[Ke+2]=$,this.int16[Ke+3]=J,this.int16[Ke+4]=le,this.int16[Ke+5]=ve,this.uint32[lt+3]=Ie,this.uint16[Ke+8]=Le,this.uint16[Ke+9]=ze,_},p}(As);mm.prototype.bytesPerElement=20,Yi("StructArrayLayout6i1ul2ui20",mm);var xh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J,le){var ve=this.length;return this.resize(ve+1),this.emplace(ve,_,R,j,$,J,le)},p.prototype.emplace=function(_,R,j,$,J,le,ve){var Ie=6*_;return this.int16[Ie+0]=R,this.int16[Ie+1]=j,this.int16[Ie+2]=$,this.int16[Ie+3]=J,this.int16[Ie+4]=le,this.int16[Ie+5]=ve,_},p}(As);xh.prototype.bytesPerElement=12,Yi("StructArrayLayout2i2i2i12",xh);var Qu=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$,J){var le=this.length;return this.resize(le+1),this.emplace(le,_,R,j,$,J)},p.prototype.emplace=function(_,R,j,$,J,le){var ve=4*_,Ie=8*_;return this.float32[ve+0]=R,this.float32[ve+1]=j,this.float32[ve+2]=$,this.int16[Ie+6]=J,this.int16[Ie+7]=le,_},p}(As);Qu.prototype.bytesPerElement=16,Yi("StructArrayLayout2f1f2i16",Qu);var Yd=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$){var J=this.length;return this.resize(J+1),this.emplace(J,_,R,j,$)},p.prototype.emplace=function(_,R,j,$,J){var le=12*_,ve=3*_;return this.uint8[le+0]=R,this.uint8[le+1]=j,this.float32[ve+1]=$,this.float32[ve+2]=J,_},p}(As);Yd.prototype.bytesPerElement=12,Yi("StructArrayLayout2ub2f12",Yd);var Kh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j){var $=this.length;return this.resize($+1),this.emplace($,_,R,j)},p.prototype.emplace=function(_,R,j,$){var J=3*_;return this.uint16[J+0]=R,this.uint16[J+1]=j,this.uint16[J+2]=$,_},p}(As);Kh.prototype.bytesPerElement=6,Yi("StructArrayLayout3ui6",Kh);var bh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.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)},p.prototype.emplaceBack=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur){var Tr=this.length;return this.resize(Tr+1),this.emplace(Tr,_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur)},p.prototype.emplace=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur,Tr){var Nr=24*_,Vr=12*_,ri=48*_;return this.int16[Nr+0]=R,this.int16[Nr+1]=j,this.uint16[Nr+2]=$,this.uint16[Nr+3]=J,this.uint32[Vr+2]=le,this.uint32[Vr+3]=ve,this.uint32[Vr+4]=Ie,this.uint16[Nr+10]=Le,this.uint16[Nr+11]=ze,this.uint16[Nr+12]=Ke,this.float32[Vr+7]=lt,this.float32[Vr+8]=Mt,this.uint8[ri+36]=Dt,this.uint8[ri+37]=tr,this.uint8[ri+38]=qt,this.uint32[Vr+10]=ur,this.int16[Nr+22]=Tr,_},p}(As);bh.prototype.bytesPerElement=48,Yi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",bh);var Rp=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.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)},p.prototype.emplaceBack=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur,Tr,Nr,Vr,ri,Ei,Ui,Cn,Ki,Bn,en,Wo){var Xn=this.length;return this.resize(Xn+1),this.emplace(Xn,_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur,Tr,Nr,Vr,ri,Ei,Ui,Cn,Ki,Bn,en,Wo)},p.prototype.emplace=function(_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt,tr,qt,ur,Tr,Nr,Vr,ri,Ei,Ui,Cn,Ki,Bn,en,Wo,Xn){var pn=34*_,Jo=17*_;return this.int16[pn+0]=R,this.int16[pn+1]=j,this.int16[pn+2]=$,this.int16[pn+3]=J,this.int16[pn+4]=le,this.int16[pn+5]=ve,this.int16[pn+6]=Ie,this.int16[pn+7]=Le,this.uint16[pn+8]=ze,this.uint16[pn+9]=Ke,this.uint16[pn+10]=lt,this.uint16[pn+11]=Mt,this.uint16[pn+12]=Dt,this.uint16[pn+13]=tr,this.uint16[pn+14]=qt,this.uint16[pn+15]=ur,this.uint16[pn+16]=Tr,this.uint16[pn+17]=Nr,this.uint16[pn+18]=Vr,this.uint16[pn+19]=ri,this.uint16[pn+20]=Ei,this.uint16[pn+21]=Ui,this.uint16[pn+22]=Cn,this.uint32[Jo+12]=Ki,this.float32[Jo+13]=Bn,this.float32[Jo+14]=en,this.float32[Jo+15]=Wo,this.float32[Jo+16]=Xn,_},p}(As);Rp.prototype.bytesPerElement=68,Yi("StructArrayLayout8i15ui1ul4f68",Rp);var bf=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_){var R=this.length;return this.resize(R+1),this.emplace(R,_)},p.prototype.emplace=function(_,R){return this.float32[1*_+0]=R,_},p}(As);bf.prototype.bytesPerElement=4,Yi("StructArrayLayout1f4",bf);var Du=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j){var $=this.length;return this.resize($+1),this.emplace($,_,R,j)},p.prototype.emplace=function(_,R,j,$){var J=3*_;return this.int16[J+0]=R,this.int16[J+1]=j,this.int16[J+2]=$,_},p}(As);Du.prototype.bytesPerElement=6,Yi("StructArrayLayout3i6",Du);var Bp=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j){var $=this.length;return this.resize($+1),this.emplace($,_,R,j)},p.prototype.emplace=function(_,R,j,$){var J=4*_;return this.uint32[2*_+0]=R,this.uint16[J+2]=j,this.uint16[J+3]=$,_},p}(As);Bp.prototype.bytesPerElement=8,Yi("StructArrayLayout1ul2ui8",Bp);var Kd=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R){var j=this.length;return this.resize(j+1),this.emplace(j,_,R)},p.prototype.emplace=function(_,R,j){var $=2*_;return this.uint16[$+0]=R,this.uint16[$+1]=j,_},p}(As);Kd.prototype.bytesPerElement=4,Yi("StructArrayLayout2ui4",Kd);var Yf=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_){var R=this.length;return this.resize(R+1),this.emplace(R,_)},p.prototype.emplace=function(_,R){return this.uint16[1*_+0]=R,_},p}(As);Yf.prototype.bytesPerElement=2,Yi("StructArrayLayout1ui2",Yf);var Qh=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},p.prototype.emplaceBack=function(_,R,j,$){var J=this.length;return this.resize(J+1),this.emplace(J,_,R,j,$)},p.prototype.emplace=function(_,R,j,$,J){var le=4*_;return this.float32[le+0]=R,this.float32[le+1]=j,this.float32[le+2]=$,this.float32[le+3]=J,_},p}(As);Qh.prototype.bytesPerElement=16,Yi("StructArrayLayout4f16",Qh);var w=function(u){function p(){u.apply(this,arguments)}u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p;var _={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 _.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},_.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},_.x1.get=function(){return this._structArray.int16[this._pos2+2]},_.y1.get=function(){return this._structArray.int16[this._pos2+3]},_.x2.get=function(){return this._structArray.int16[this._pos2+4]},_.y2.get=function(){return this._structArray.int16[this._pos2+5]},_.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},_.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},_.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},_.anchorPoint.get=function(){return new f(this.anchorPointX,this.anchorPointY)},Object.defineProperties(p.prototype,_),p}(Ha);w.prototype.size=20;var M=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.get=function(_){return new w(this,_)},p}(mm);Yi("CollisionBoxArray",M);var S=function(u){function p(){u.apply(this,arguments)}u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p;var _={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 _.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},_.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},_.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},_.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},_.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},_.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},_.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},_.segment.get=function(){return this._structArray.uint16[this._pos2+10]},_.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},_.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},_.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},_.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},_.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},_.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},_.placedOrientation.set=function(R){this._structArray.uint8[this._pos1+37]=R},_.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},_.hidden.set=function(R){this._structArray.uint8[this._pos1+38]=R},_.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},_.crossTileID.set=function(R){this._structArray.uint32[this._pos4+10]=R},_.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(p.prototype,_),p}(Ha);S.prototype.size=48;var L=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.get=function(_){return new S(this,_)},p}(bh);Yi("PlacedSymbolArray",L);var Y=function(u){function p(){u.apply(this,arguments)}u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p;var _={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 _.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},_.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},_.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},_.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},_.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},_.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},_.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},_.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},_.key.get=function(){return this._structArray.uint16[this._pos2+8]},_.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},_.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},_.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},_.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},_.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},_.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},_.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},_.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},_.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},_.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},_.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},_.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},_.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},_.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},_.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},_.crossTileID.set=function(R){this._structArray.uint32[this._pos4+12]=R},_.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},_.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},_.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},_.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(p.prototype,_),p}(Ha);Y.prototype.size=68;var ie=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.get=function(_){return new Y(this,_)},p}(Rp);Yi("SymbolInstanceArray",ie);var ae=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.getoffsetX=function(_){return this.float32[1*_+0]},p}(bf);Yi("GlyphOffsetArray",ae);var ge=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.getx=function(_){return this.int16[3*_+0]},p.prototype.gety=function(_){return this.int16[3*_+1]},p.prototype.gettileUnitDistanceFromAnchor=function(_){return this.int16[3*_+2]},p}(Du);Yi("SymbolLineVertexArray",ge);var Pe=function(u){function p(){u.apply(this,arguments)}u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p;var _={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return _.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},_.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},_.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(p.prototype,_),p}(Ha);Pe.prototype.size=8;var Ue=function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.get=function(_){return new Pe(this,_)},p}(Bp);Yi("FeatureIndexArray",Ue);var ct=da([{name:"a_pos",components:2,type:"Int16"}],4).members,ft=function(u){u===void 0&&(u=[]),this.segments=u};function gt(u,p){return 256*(u=U(Math.floor(u),0,255))+U(Math.floor(p),0,255)}ft.prototype.prepareSegment=function(u,p,_,R){var j=this.segments[this.segments.length-1];return u>ft.MAX_VERTEX_ARRAY_LENGTH&&Je("Max vertices per segment is "+ft.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+u),(!j||j.vertexLength+u>ft.MAX_VERTEX_ARRAY_LENGTH||j.sortKey!==R)&&(j={vertexOffset:p.length,primitiveOffset:_.length,vertexLength:0,primitiveLength:0},R!==void 0&&(j.sortKey=R),this.segments.push(j)),j},ft.prototype.get=function(){return this.segments},ft.prototype.destroy=function(){for(var u=0,p=this.segments;u>>16)*le&65535)<<16)&4294967295)<<15|Ie>>>17))*ve+(((Ie>>>16)*ve&65535)<<16)&4294967295)<<13|$>>>19))+((5*($>>>16)&65535)<<16)&4294967295))+((58964+(J>>>16)&65535)<<16);switch(Ie=0,R){case 3:Ie^=(255&p.charCodeAt(Le+2))<<16;case 2:Ie^=(255&p.charCodeAt(Le+1))<<8;case 1:$^=Ie=(65535&(Ie=(Ie=(65535&(Ie^=255&p.charCodeAt(Le)))*le+(((Ie>>>16)*le&65535)<<16)&4294967295)<<15|Ie>>>17))*ve+(((Ie>>>16)*ve&65535)<<16)&4294967295}return $^=p.length,$=2246822507*(65535&($^=$>>>16))+((2246822507*($>>>16)&65535)<<16)&4294967295,$=3266489909*(65535&($^=$>>>13))+((3266489909*($>>>16)&65535)<<16)&4294967295,($^=$>>>16)>>>0}}),Wt=o(function(u){u.exports=function(p,_){for(var R,j=p.length,$=_^j,J=0;j>=4;)R=1540483477*(65535&(R=255&p.charCodeAt(J)|(255&p.charCodeAt(++J))<<8|(255&p.charCodeAt(++J))<<16|(255&p.charCodeAt(++J))<<24))+((1540483477*(R>>>16)&65535)<<16),$=1540483477*(65535&$)+((1540483477*($>>>16)&65535)<<16)^(R=1540483477*(65535&(R^=R>>>24))+((1540483477*(R>>>16)&65535)<<16)),j-=4,++J;switch(j){case 3:$^=(255&p.charCodeAt(J+2))<<16;case 2:$^=(255&p.charCodeAt(J+1))<<8;case 1:$=1540483477*(65535&($^=255&p.charCodeAt(J)))+((1540483477*($>>>16)&65535)<<16)}return $=1540483477*(65535&($^=$>>>13))+((1540483477*($>>>16)&65535)<<16),($^=$>>>15)>>>0}}),St=Pt,Zt=Wt;St.murmur3=Pt,St.murmur2=Zt;var ir=function(){this.ids=[],this.positions=[],this.indexed=!1};ir.prototype.add=function(u,p,_,R){this.ids.push(kr(u)),this.positions.push(p,_,R)},ir.prototype.getPositions=function(u){for(var p=kr(u),_=0,R=this.ids.length-1;_>1;this.ids[j]>=p?R=j:_=j+1}for(var $=[];this.ids[_]===p;)$.push({index:this.positions[3*_],start:this.positions[3*_+1],end:this.positions[3*_+2]}),_++;return $},ir.serialize=function(u,p){var _=new Float64Array(u.ids),R=new Uint32Array(u.positions);return function j($,J,le,ve){for(;le>1],Le=le-1,ze=ve+1;;){do Le++;while($[Le]Ie);if(Le>=ze)break;Lr($,Le,ze),Lr(J,3*Le,3*ze),Lr(J,3*Le+1,3*ze+1),Lr(J,3*Le+2,3*ze+2)}ze-leJ.x+1||veJ.y+1)&&Je("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return _}function Ta(u,p){return{type:u.type,id:u.id,properties:u.properties,geometry:p?Vs(u):[]}}function tn(u,p,_,R,j){u.emplaceBack(2*p+(R+1)/2,2*_+(j+1)/2)}var _n=function(u){this.zoom=u.zoom,this.overscaling=u.overscaling,this.layers=u.layers,this.layerIds=this.layers.map(function(p){return p.id}),this.index=u.index,this.hasPattern=!1,this.layoutVertexArray=new Yh,this.indexArray=new Kh,this.segments=new ft,this.programConfigurations=new Rn(u.layers,u.zoom),this.stateDependentLayerIds=this.layers.filter(function(p){return p.isStateDependent()}).map(function(p){return p.id})};function Ju(u,p){for(var _=0;_1){if(Gc(u,p))return!0;for(var R=0;R1?_:_.sub(p)._mult(j)._add(p))}function Ou(u,p){for(var _,R,j,$=!1,J=0;Jp.y!=(j=_[ve]).y>p.y&&p.x<(j.x-R.x)*(p.y-R.y)/(j.y-R.y)+R.x&&($=!$);return $}function iu(u,p){for(var _=!1,R=0,j=u.length-1;Rp.y!=J.y>p.y&&p.x<(J.x-$.x)*(p.y-$.y)/(J.y-$.y)+$.x&&(_=!_)}return _}function Sa(u,p,_){var R=_[0],j=_[2];if(u.xj.x&&p.x>j.x||u.yj.y&&p.y>j.y)return!1;var $=Et(u,p,_[0]);return $!==Et(u,p,_[1])||$!==Et(u,p,_[2])||$!==Et(u,p,_[3])}function na(u,p,_){var R=p.paint.get(u).value;return R.kind==="constant"?R.value:_.programConfigurations.get(p.id).getMaxValue(u)}function zl(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function eh(u,p,_,R,j){if(!p[0]&&!p[1])return u;var $=f.convert(p)._mult(j);_==="viewport"&&$._rotate(-R);for(var J=[],le=0;le=8192||Le<0||Le>=8192)){var ze=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,u.sortKey),Ke=ze.vertexLength;tn(this.layoutVertexArray,Ie,Le,-1,-1),tn(this.layoutVertexArray,Ie,Le,1,-1),tn(this.layoutVertexArray,Ie,Le,1,1),tn(this.layoutVertexArray,Ie,Le,-1,1),this.indexArray.emplaceBack(Ke,Ke+1,Ke+2),this.indexArray.emplaceBack(Ke,Ke+3,Ke+2),ze.vertexLength+=4,ze.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,u,_,{},R)},Yi("CircleBucket",_n,{omit:["layers"]});var Jh=new Cl({"circle-sort-key":new nn(ht.layout_circle["circle-sort-key"])}),Ul={paint:new Cl({"circle-radius":new nn(ht.paint_circle["circle-radius"]),"circle-color":new nn(ht.paint_circle["circle-color"]),"circle-blur":new nn(ht.paint_circle["circle-blur"]),"circle-opacity":new nn(ht.paint_circle["circle-opacity"]),"circle-translate":new An(ht.paint_circle["circle-translate"]),"circle-translate-anchor":new An(ht.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new An(ht.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new An(ht.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new nn(ht.paint_circle["circle-stroke-width"]),"circle-stroke-color":new nn(ht.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new nn(ht.paint_circle["circle-stroke-opacity"])}),layout:Jh},_s=typeof Float32Array<"u"?Float32Array:Array;function yu(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u}function Ml(u,p,_){var R=p[0],j=p[1],$=p[2],J=p[3],le=p[4],ve=p[5],Ie=p[6],Le=p[7],ze=p[8],Ke=p[9],lt=p[10],Mt=p[11],Dt=p[12],tr=p[13],qt=p[14],ur=p[15],Tr=_[0],Nr=_[1],Vr=_[2],ri=_[3];return u[0]=Tr*R+Nr*le+Vr*ze+ri*Dt,u[1]=Tr*j+Nr*ve+Vr*Ke+ri*tr,u[2]=Tr*$+Nr*Ie+Vr*lt+ri*qt,u[3]=Tr*J+Nr*Le+Vr*Mt+ri*ur,u[4]=(Tr=_[4])*R+(Nr=_[5])*le+(Vr=_[6])*ze+(ri=_[7])*Dt,u[5]=Tr*j+Nr*ve+Vr*Ke+ri*tr,u[6]=Tr*$+Nr*Ie+Vr*lt+ri*qt,u[7]=Tr*J+Nr*Le+Vr*Mt+ri*ur,u[8]=(Tr=_[8])*R+(Nr=_[9])*le+(Vr=_[10])*ze+(ri=_[11])*Dt,u[9]=Tr*j+Nr*ve+Vr*Ke+ri*tr,u[10]=Tr*$+Nr*Ie+Vr*lt+ri*qt,u[11]=Tr*J+Nr*Le+Vr*Mt+ri*ur,u[12]=(Tr=_[12])*R+(Nr=_[13])*le+(Vr=_[14])*ze+(ri=_[15])*Dt,u[13]=Tr*j+Nr*ve+Vr*Ke+ri*tr,u[14]=Tr*$+Nr*Ie+Vr*lt+ri*qt,u[15]=Tr*J+Nr*Le+Vr*Mt+ri*ur,u}Math.hypot||(Math.hypot=function(){for(var u=arguments,p=0,_=arguments.length;_--;)p+=u[_]*u[_];return Math.sqrt(p)});var ef,t0=Ml;function Lp(u,p,_){var R=p[0],j=p[1],$=p[2],J=p[3];return u[0]=_[0]*R+_[4]*j+_[8]*$+_[12]*J,u[1]=_[1]*R+_[5]*j+_[9]*$+_[13]*J,u[2]=_[2]*R+_[6]*j+_[10]*$+_[14]*J,u[3]=_[3]*R+_[7]*j+_[11]*$+_[15]*J,u}ef=new _s(3),_s!=Float32Array&&(ef[0]=0,ef[1]=0,ef[2]=0),function(){var u=new _s(4);_s!=Float32Array&&(u[0]=0,u[1]=0,u[2]=0,u[3]=0)}();var th=(function(){var u=new _s(2);_s!=Float32Array&&(u[0]=0,u[1]=0)}(),function(u){function p(_){u.call(this,_,Ul)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.createBucket=function(_){return new _n(_)},p.prototype.queryRadius=function(_){var R=_;return na("circle-radius",this,R)+na("circle-stroke-width",this,R)+zl(this.paint.get("circle-translate"))},p.prototype.queryIntersectsFeature=function(_,R,j,$,J,le,ve,Ie){for(var Le=eh(_,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),le.angle,ve),ze=this.paint.get("circle-radius").evaluate(R,j)+this.paint.get("circle-stroke-width").evaluate(R,j),Ke=this.paint.get("circle-pitch-alignment")==="map",lt=Ke?Le:function(Ei,Ui){return Ei.map(function(Cn){return Kf(Cn,Ui)})}(Le,Ie),Mt=Ke?ze*ve:ze,Dt=0,tr=$;Dtu.width||j.height>u.height||_.x>u.width-j.width||_.y>u.height-j.height)throw new RangeError("out of range source coordinates for image copy");if(j.width>p.width||j.height>p.height||R.x>p.width-j.width||R.y>p.height-j.height)throw new RangeError("out of range destination coordinates for image copy");for(var J=u.data,le=p.data,ve=0;ve80*_){R=$=u[0],j=J=u[1];for(var Mt=_;Mt$&&($=le),ve>J&&(J=ve);Ie=(Ie=Math.max($-R,J-j))!==0?1/Ie:0}return P(Ke,lt,_,R,j,Ie),lt}function m(u,p,_,R,j){var $,J;if(j===Cr(u,p,_,R)>0)for($=p;$<_;$+=R)J=zt($,u[$],u[$+1],J);else for($=_-R;$>=p;$-=R)J=zt($,u[$],u[$+1],J);return J&&vt(J,J.next)&&(jt(J),J=J.next),J}function T(u,p){if(!u)return u;p||(p=u);var _,R=u;do if(_=!1,R.steiner||!vt(R,R.next)&&At(R.prev,R,R.next)!==0)R=R.next;else{if(jt(R),(R=p=R.prev)===R.next)break;_=!0}while(_||R!==p);return p}function P(u,p,_,R,j,$,J){if(u){!J&&$&&function(Le,ze,Ke,lt){var Mt=Le;do Mt.z===null&&(Mt.z=Me(Mt.x,Mt.y,ze,Ke,lt)),Mt.prevZ=Mt.prev,Mt.nextZ=Mt.next,Mt=Mt.next;while(Mt!==Le);Mt.prevZ.nextZ=null,Mt.prevZ=null,function(Dt){var tr,qt,ur,Tr,Nr,Vr,ri,Ei,Ui=1;do{for(qt=Dt,Dt=null,Nr=null,Vr=0;qt;){for(Vr++,ur=qt,ri=0,tr=0;tr0||Ei>0&&ur;)ri!==0&&(Ei===0||!ur||qt.z<=ur.z)?(Tr=qt,qt=qt.nextZ,ri--):(Tr=ur,ur=ur.nextZ,Ei--),Nr?Nr.nextZ=Tr:Dt=Tr,Tr.prevZ=Nr,Nr=Tr;qt=ur}Nr.nextZ=null,Ui*=2}while(Vr>1)}(Mt)}(u,R,j,$);for(var le,ve,Ie=u;u.prev!==u.next;)if(le=u.prev,ve=u.next,$?W(u,R,j,$):V(u))p.push(le.i/_),p.push(u.i/_),p.push(ve.i/_),jt(u),u=ve.next,Ie=ve.next;else if((u=ve)===Ie){J?J===1?P(u=te(T(u),p,_),p,_,R,j,$,2):J===2&&se(u,p,_,R,j,$):P(T(u),p,_,R,j,$,1);break}}}function V(u){var p=u.prev,_=u,R=u.next;if(At(p,_,R)>=0)return!1;for(var j=u.next.next;j!==u.prev;){if(tt(p.x,p.y,_.x,_.y,R.x,R.y,j.x,j.y)&&At(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function W(u,p,_,R){var j=u.prev,$=u,J=u.next;if(At(j,$,J)>=0)return!1;for(var le=j.x>$.x?j.x>J.x?j.x:J.x:$.x>J.x?$.x:J.x,ve=j.y>$.y?j.y>J.y?j.y:J.y:$.y>J.y?$.y:J.y,Ie=Me(j.x<$.x?j.x=Ie&&Ke&&Ke.z<=Le;){if(ze!==u.prev&&ze!==u.next&&tt(j.x,j.y,$.x,$.y,J.x,J.y,ze.x,ze.y)&&At(ze.prev,ze,ze.next)>=0||(ze=ze.prevZ,Ke!==u.prev&&Ke!==u.next&&tt(j.x,j.y,$.x,$.y,J.x,J.y,Ke.x,Ke.y)&&At(Ke.prev,Ke,Ke.next)>=0))return!1;Ke=Ke.nextZ}for(;ze&&ze.z>=Ie;){if(ze!==u.prev&&ze!==u.next&&tt(j.x,j.y,$.x,$.y,J.x,J.y,ze.x,ze.y)&&At(ze.prev,ze,ze.next)>=0)return!1;ze=ze.prevZ}for(;Ke&&Ke.z<=Le;){if(Ke!==u.prev&&Ke!==u.next&&tt(j.x,j.y,$.x,$.y,J.x,J.y,Ke.x,Ke.y)&&At(Ke.prev,Ke,Ke.next)>=0)return!1;Ke=Ke.nextZ}return!0}function te(u,p,_){var R=u;do{var j=R.prev,$=R.next.next;!vt(j,$)&&Lt(j,R,R.next,$)&&Xt(j,$)&&Xt($,j)&&(p.push(j.i/_),p.push(R.i/_),p.push($.i/_),jt(R),jt(R.next),R=u=$),R=R.next}while(R!==u);return T(R)}function se(u,p,_,R,j,$){var J=u;do{for(var le=J.next.next;le!==J.prev;){if(J.i!==le.i&&yt(J,le)){var ve=Rt(J,le);return J=T(J,J.next),ve=T(ve,ve.next),P(J,p,_,R,j,$),void P(ve,p,_,R,j,$)}le=le.next}J=J.next}while(J!==u)}function fe(u,p){return u.x-p.x}function ye(u,p){if(p=function(R,j){var $,J=j,le=R.x,ve=R.y,Ie=-1/0;do{if(ve<=J.y&&ve>=J.next.y&&J.next.y!==J.y){var Le=J.x+(ve-J.y)*(J.next.x-J.x)/(J.next.y-J.y);if(Le<=le&&Le>Ie){if(Ie=Le,Le===le){if(ve===J.y)return J;if(ve===J.next.y)return J.next}$=J.x=J.x&&J.x>=lt&&le!==J.x&&tt(ve$.x||J.x===$.x&&Re($,J)))&&($=J,Dt=ze)),J=J.next;while(J!==Ke);return $}(u,p)){var _=Rt(p,u);T(p,p.next),T(_,_.next)}}function Re(u,p){return At(u.prev,u,p.prev)<0&&At(p.next,u,u.next)<0}function Me(u,p,_,R,j){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=32767*(u-_)*j)|u<<8))|u<<4))|u<<2))|u<<1))|(p=1431655765&((p=858993459&((p=252645135&((p=16711935&((p=32767*(p-R)*j)|p<<8))|p<<4))|p<<2))|p<<1))<<1}function je(u){var p=u,_=u;do(p.x<_.x||p.x===_.x&&p.y<_.y)&&(_=p),p=p.next;while(p!==u);return _}function tt(u,p,_,R,j,$,J,le){return(j-J)*(p-le)-(u-J)*($-le)>=0&&(u-J)*(R-le)-(_-J)*(p-le)>=0&&(_-J)*($-le)-(j-J)*(R-le)>=0}function yt(u,p){return u.next.i!==p.i&&u.prev.i!==p.i&&!function(_,R){var j=_;do{if(j.i!==_.i&&j.next.i!==_.i&&j.i!==R.i&&j.next.i!==R.i&&Lt(j,j.next,_,R))return!0;j=j.next}while(j!==_);return!1}(u,p)&&(Xt(u,p)&&Xt(p,u)&&function(_,R){var j=_,$=!1,J=(_.x+R.x)/2,le=(_.y+R.y)/2;do j.y>le!=j.next.y>le&&j.next.y!==j.y&&J<(j.next.x-j.x)*(le-j.y)/(j.next.y-j.y)+j.x&&($=!$),j=j.next;while(j!==_);return $}(u,p)&&(At(u.prev,u,p.prev)||At(u,p.prev,p))||vt(u,p)&&At(u.prev,u,u.next)>0&&At(p.prev,p,p.next)>0)}function At(u,p,_){return(p.y-u.y)*(_.x-p.x)-(p.x-u.x)*(_.y-p.y)}function vt(u,p){return u.x===p.x&&u.y===p.y}function Lt(u,p,_,R){var j=It(At(u,p,_)),$=It(At(u,p,R)),J=It(At(_,R,u)),le=It(At(_,R,p));return j!==$&&J!==le||!(j!==0||!Kt(u,_,p))||!($!==0||!Kt(u,R,p))||!(J!==0||!Kt(_,u,R))||!(le!==0||!Kt(_,p,R))}function Kt(u,p,_){return p.x<=Math.max(u.x,_.x)&&p.x>=Math.min(u.x,_.x)&&p.y<=Math.max(u.y,_.y)&&p.y>=Math.min(u.y,_.y)}function It(u){return u>0?1:u<0?-1:0}function Xt(u,p){return At(u.prev,u,u.next)<0?At(u,p,u.next)>=0&&At(u,u.prev,p)>=0:At(u,p,u.prev)<0||At(u,u.next,p)<0}function Rt(u,p){var _=new br(u.i,u.x,u.y),R=new br(p.i,p.x,p.y),j=u.next,$=p.prev;return u.next=p,p.prev=u,_.next=j,j.prev=_,R.next=_,_.prev=R,$.next=R,R.prev=$,R}function zt(u,p,_,R){var j=new br(u,p,_);return R?(j.next=R.next,j.prev=R,R.next.prev=j,R.next=j):(j.prev=j,j.next=j),j}function jt(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function br(u,p,_){this.i=u,this.x=p,this.y=_,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Cr(u,p,_,R){for(var j=0,$=p,J=_-R;$<_;$+=R)j+=(u[J]-u[$])*(u[$+1]+u[J+1]),J=$;return j}function Rr(u,p,_,R,j){(function $(J,le,ve,Ie,Le){for(;Ie>ve;){if(Ie-ve>600){var ze=Ie-ve+1,Ke=le-ve+1,lt=Math.log(ze),Mt=.5*Math.exp(2*lt/3),Dt=.5*Math.sqrt(lt*Mt*(ze-Mt)/ze)*(Ke-ze/2<0?-1:1);$(J,le,Math.max(ve,Math.floor(le-Ke*Mt/ze+Dt)),Math.min(Ie,Math.floor(le+(ze-Ke)*Mt/ze+Dt)),Le)}var tr=J[le],qt=ve,ur=Ie;for(Pr(J,ve,le),Le(J[Ie],tr)>0&&Pr(J,ve,Ie);qt0;)ur--}Le(J[ve],tr)===0?Pr(J,ve,ur):Pr(J,++ur,Ie),ur<=le&&(ve=ur+1),le<=ur&&(Ie=ur-1)}})(u,p,_||0,R||u.length-1,j||Ai)}function Pr(u,p,_){var R=u[p];u[p]=u[_],u[_]=R}function Ai(u,p){return up?1:0}function _i(u,p){var _=u.length;if(_<=1)return[u];for(var R,j,$=[],J=0;J<_;J++){var le=Ze(u[J]);le!==0&&(u[J].area=Math.abs(le),j===void 0&&(j=le<0),j===le<0?(R&&$.push(R),R=[u[J]]):R.push(u[J]))}if(R&&$.push(R),p>1)for(var ve=0;ve<$.length;ve++)$[ve].length<=p||(Rr($[ve],p,1,$[ve].length-1,hi),$[ve]=$[ve].slice(0,p));return $}function hi(u,p){return p.area-u.area}function hn(u,p,_){for(var R=_.patternDependencies,j=!1,$=0,J=p;$0&&_.holes.push(R+=u[j-1].length)}return _},r0.default=z;var $r=function(u){this.zoom=u.zoom,this.overscaling=u.overscaling,this.layers=u.layers,this.layerIds=this.layers.map(function(p){return p.id}),this.index=u.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Yh,this.indexArray=new Kh,this.indexArray2=new Kd,this.programConfigurations=new Rn(u.layers,u.zoom),this.segments=new ft,this.segments2=new ft,this.stateDependentLayerIds=this.layers.filter(function(p){return p.isStateDependent()}).map(function(p){return p.id})};$r.prototype.populate=function(u,p,_){this.hasPattern=hn("fill",this.layers,p);for(var R=this.layers[0].layout.get("fill-sort-key"),j=[],$=0,J=u;$>3}if(j--,R===1||R===2)$+=u.readSVarint(),J+=u.readSVarint(),R===1&&(p&&le.push(p),p=[]),p.push(new f($,J));else{if(R!==7)throw new Error("unknown command "+R);p&&p.push(p[0].clone())}}return p&&le.push(p),le},qs.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var p=u.readVarint()+u.pos,_=1,R=0,j=0,$=0,J=1/0,le=-1/0,ve=1/0,Ie=-1/0;u.pos>3}if(R--,_===1||_===2)(j+=u.readSVarint())le&&(le=j),($+=u.readSVarint())Ie&&(Ie=$);else if(_!==7)throw new Error("unknown command "+_)}return[J,ve,le,Ie]},qs.prototype.toGeoJSON=function(u,p,_){var R,j,$=this.extent*Math.pow(2,_),J=this.extent*u,le=this.extent*p,ve=this.loadGeometry(),Ie=qs.types[this.type];function Le(lt){for(var Mt=0;Mt>3;j=J===1?R.readString():J===2?R.readFloat():J===3?R.readDouble():J===4?R.readVarint64():J===5?R.readVarint():J===6?R.readSVarint():J===7?R.readBoolean():null}return j}(_))}function E(u,p,_){if(u===3){var R=new Ea(_,_.readVarint()+_.pos);R.length&&(p[R.name]=R)}}v.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[u];var p=this._pbf.readVarint()+this._pbf.pos;return new jl(this._pbf,p,this.extent,this._keys,this._values)};var B={VectorTile:function(u,p){this.layers=u.readFields(E,{},p)},VectorTileFeature:jl,VectorTileLayer:Ea},N=B.VectorTileFeature.types,G=Math.pow(2,13);function X(u,p,_,R,j,$,J,le){u.emplaceBack(p,_,2*Math.floor(R*G)+J,j*G*2,$*G*2,Math.round(le))}var Q=function(u){this.zoom=u.zoom,this.overscaling=u.overscaling,this.layers=u.layers,this.layerIds=this.layers.map(function(p){return p.id}),this.index=u.index,this.hasPattern=!1,this.layoutVertexArray=new _c,this.indexArray=new Kh,this.programConfigurations=new Rn(u.layers,u.zoom),this.segments=new ft,this.stateDependentLayerIds=this.layers.filter(function(p){return p.isStateDependent()}).map(function(p){return p.id})};function ue(u,p){return u.x===p.x&&(u.x<0||u.x>8192)||u.y===p.y&&(u.y<0||u.y>8192)}Q.prototype.populate=function(u,p,_){this.features=[],this.hasPattern=hn("fill-extrusion",this.layers,p);for(var R=0,j=u;R8192})||Jo.every(function(xo){return xo.y<0})||Jo.every(function(xo){return xo.y>8192})))for(var Dt=0,tr=0;tr=1){var ur=Mt[tr-1];if(!ue(qt,ur)){ze.vertexLength+4>ft.MAX_VERTEX_ARRAY_LENGTH&&(ze=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var Tr=qt.sub(ur)._perp()._unit(),Nr=ur.dist(qt);Dt+Nr>32768&&(Dt=0),X(this.layoutVertexArray,qt.x,qt.y,Tr.x,Tr.y,0,0,Dt),X(this.layoutVertexArray,qt.x,qt.y,Tr.x,Tr.y,0,1,Dt),X(this.layoutVertexArray,ur.x,ur.y,Tr.x,Tr.y,0,0,Dt+=Nr),X(this.layoutVertexArray,ur.x,ur.y,Tr.x,Tr.y,0,1,Dt);var Vr=ze.vertexLength;this.indexArray.emplaceBack(Vr,Vr+2,Vr+1),this.indexArray.emplaceBack(Vr+1,Vr+2,Vr+3),ze.vertexLength+=4,ze.primitiveLength+=2}}}}if(ze.vertexLength+ve>ft.MAX_VERTEX_ARRAY_LENGTH&&(ze=this.segments.prepareSegment(ve,this.layoutVertexArray,this.indexArray)),N[u.type]==="Polygon"){for(var ri=[],Ei=[],Ui=ze.vertexLength,Cn=0,Ki=le;Cn=2&&u[ve-1].equals(u[ve-2]);)ve--;for(var Ie=0;Ie0;if(Ei&&qt>Ie){var Cn=Le.dist(lt);if(Cn>2*ze){var Ki=Le.sub(Le.sub(lt)._mult(ze/Cn)._round());this.updateDistance(lt,Ki),this.addCurrentVertex(Ki,Dt,0,0,Ke),lt=Ki}}var Bn=lt&&Mt,en=Bn?_:le?"butt":R;if(Bn&&en==="round"&&(Vr<$?en="miter":Vr<=2&&(en="fakeround")),en==="miter"&&Vr>j&&(en="bevel"),en==="bevel"&&(Vr>2&&(en="flipbevel"),Vr100)ur=tr.mult(-1);else{var Wo=Vr*Dt.add(tr).mag()/Dt.sub(tr).mag();ur._perp()._mult(Wo*(Ui?-1:1))}this.addCurrentVertex(Le,ur,0,0,Ke),this.addCurrentVertex(Le,ur.mult(-1),0,0,Ke)}else if(en==="bevel"||en==="fakeround"){var Xn=-Math.sqrt(Vr*Vr-1),pn=Ui?Xn:0,Jo=Ui?0:Xn;if(lt&&this.addCurrentVertex(Le,Dt,pn,Jo,Ke),en==="fakeround")for(var xo=Math.round(180*ri/Math.PI/20),es=1;es2*ze){var fl=Le.add(Mt.sub(Le)._mult(ze/Wl)._round());this.updateDistance(Le,fl),this.addCurrentVertex(fl,tr,0,0,Ke),Le=fl}}}}},_r.prototype.addCurrentVertex=function(u,p,_,R,j,$){$===void 0&&($=!1);var J=p.y*R-p.x,le=-p.y-p.x*R;this.addHalfVertex(u,p.x+p.y*_,p.y-p.x*_,$,!1,_,j),this.addHalfVertex(u,J,le,$,!0,-R,j),this.distance>qr/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(u,p,_,R,j,$))},_r.prototype.addHalfVertex=function(u,p,_,R,j,$,J){var le=.5*(this.lineClips?this.scaledDistance*(qr-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((u.x<<1)+(R?1:0),(u.y<<1)+(j?1:0),Math.round(63*p)+128,Math.round(63*_)+128,1+($===0?0:$<0?-1:1)|(63&le)<<2,le>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);var ve=J.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,ve),J.primitiveLength++),j?this.e2=ve:this.e1=ve},_r.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},_r.prototype.updateDistance=function(u,p){this.distance+=u.dist(p),this.updateScaledDistance()},Yi("LineBucket",_r,{omit:["layers","patternFeatures"]});var Sr=new Cl({"line-cap":new An(ht.layout_line["line-cap"]),"line-join":new nn(ht.layout_line["line-join"]),"line-miter-limit":new An(ht.layout_line["line-miter-limit"]),"line-round-limit":new An(ht.layout_line["line-round-limit"]),"line-sort-key":new nn(ht.layout_line["line-sort-key"])}),or={paint:new Cl({"line-opacity":new nn(ht.paint_line["line-opacity"]),"line-color":new nn(ht.paint_line["line-color"]),"line-translate":new An(ht.paint_line["line-translate"]),"line-translate-anchor":new An(ht.paint_line["line-translate-anchor"]),"line-width":new nn(ht.paint_line["line-width"]),"line-gap-width":new nn(ht.paint_line["line-gap-width"]),"line-offset":new nn(ht.paint_line["line-offset"]),"line-blur":new nn(ht.paint_line["line-blur"]),"line-dasharray":new Vc(ht.paint_line["line-dasharray"]),"line-pattern":new Xd(ht.paint_line["line-pattern"]),"line-gradient":new Au(ht.paint_line["line-gradient"])}),layout:Sr},Pi=new(function(u){function p(){u.apply(this,arguments)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.possiblyEvaluate=function(_,R){return R=new So(Math.floor(R.zoom),{now:R.now,fadeDuration:R.fadeDuration,zoomHistory:R.zoomHistory,transition:R.transition}),u.prototype.possiblyEvaluate.call(this,_,R)},p.prototype.evaluate=function(_,R,j,$){return R=ee({},R,{zoom:Math.floor(R.zoom)}),u.prototype.evaluate.call(this,_,R,j,$)},p}(nn))(or.paint.properties["line-width"].specification);Pi.useIntegerZoom=!0;var En=function(u){function p(_){u.call(this,_,or),this.gradientVersion=0}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype._handleSpecialPaintPropertyUpdate=function(_){_==="line-gradient"&&(this.stepInterpolant=this._transitionablePaint._values["line-gradient"].value.expression._styleExpression.expression instanceof xl,this.gradientVersion=(this.gradientVersion+1)%I)},p.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},p.prototype.recalculate=function(_,R){u.prototype.recalculate.call(this,_,R),this.paint._values["line-floorwidth"]=Pi.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,_)},p.prototype.createBucket=function(_){return new _r(_)},p.prototype.queryRadius=function(_){var R=_,j=wn(na("line-width",this,R),na("line-gap-width",this,R)),$=na("line-offset",this,R);return j/2+Math.abs($)+zl(this.paint.get("line-translate"))},p.prototype.queryIntersectsFeature=function(_,R,j,$,J,le,ve){var Ie=eh(_,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),le.angle,ve),Le=ve/2*wn(this.paint.get("line-width").evaluate(R,j),this.paint.get("line-gap-width").evaluate(R,j)),ze=this.paint.get("line-offset").evaluate(R,j);return ze&&($=function(Ke,lt){for(var Mt=[],Dt=new f(0,0),tr=0;tr=3){for(var qt=0;qt0?p+2*u:u}var vo=da([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Ro=da([{name:"a_projected_pos",components:3,type:"Float32"}],4),Yo=(da([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),da([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),ro=(da([{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"}]),da([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),kn=da([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Oi(u,p,_){return u.sections.forEach(function(R){R.text=function(j,$,J){var le=$.layout.get("text-transform").evaluate(J,{});return le==="uppercase"?j=j.toLocaleUpperCase():le==="lowercase"&&(j=j.toLocaleLowerCase()),gu.applyArabicShaping&&(j=gu.applyArabicShaping(j)),j}(R.text,p,_)}),u}da([{name:"triangle",components:3,type:"Uint16"}]),da([{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"}]),da([{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),da([{type:"Float32",name:"offsetX"}]),da([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Ko={"!":"\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"},Ca=function(u,p,_,R,j){var $,J,le=8*j-R-1,ve=(1<>1,Le=-7,ze=_?j-1:0,Ke=_?-1:1,lt=u[p+ze];for(ze+=Ke,$=lt&(1<<-Le)-1,lt>>=-Le,Le+=le;Le>0;$=256*$+u[p+ze],ze+=Ke,Le-=8);for(J=$&(1<<-Le)-1,$>>=-Le,Le+=R;Le>0;J=256*J+u[p+ze],ze+=Ke,Le-=8);if($===0)$=1-Ie;else{if($===ve)return J?NaN:1/0*(lt?-1:1);J+=Math.pow(2,R),$-=Ie}return(lt?-1:1)*J*Math.pow(2,$-R)},Qo=function(u,p,_,R,j,$){var J,le,ve,Ie=8*$-j-1,Le=(1<>1,Ke=j===23?Math.pow(2,-24)-Math.pow(2,-77):0,lt=R?0:$-1,Mt=R?1:-1,Dt=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(le=isNaN(p)?1:0,J=Le):(J=Math.floor(Math.log(p)/Math.LN2),p*(ve=Math.pow(2,-J))<1&&(J--,ve*=2),(p+=J+ze>=1?Ke/ve:Ke*Math.pow(2,1-ze))*ve>=2&&(J++,ve/=2),J+ze>=Le?(le=0,J=Le):J+ze>=1?(le=(p*ve-1)*Math.pow(2,j),J+=ze):(le=p*Math.pow(2,ze-1)*Math.pow(2,j),J=0));j>=8;u[_+lt]=255&le,lt+=Mt,le/=256,j-=8);for(J=J<0;u[_+lt]=255&J,lt+=Mt,J/=256,Ie-=8);u[_+lt-Mt]|=128*Dt},va=Bo;function Bo(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}Bo.Varint=0,Bo.Fixed64=1,Bo.Bytes=2,Bo.Fixed32=5;var ib=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Sd(u){return u.type===Bo.Bytes?u.readVarint()+u.pos:u.pos+1}function i0(u,p,_){return _?4294967296*p+(u>>>0):4294967296*(p>>>0)+(u>>>0)}function nb(u,p,_){var R=p<=16383?1:p<=2097151?2:p<=268435455?3:Math.floor(Math.log(p)/(7*Math.LN2));_.realloc(R);for(var j=_.pos-1;j>=u;j--)_.buf[j+R]=_.buf[j]}function s8(u,p){for(var _=0;_>>8,u[_+2]=p>>>16,u[_+3]=p>>>24}function GC(u,p){return(u[p]|u[p+1]<<8|u[p+2]<<16)+(u[p+3]<<24)}function VL(u,p,_){u===1&&_.readMessage(h8,p)}function h8(u,p,_){if(u===3){var R=_.readMessage(WC,{}),j=R.width,$=R.height,J=R.left,le=R.top,ve=R.advance;p.push({id:R.id,bitmap:new Fu({width:j+6,height:$+6},R.bitmap),metrics:{width:j,height:$,left:J,top:le,advance:ve}})}}function WC(u,p,_){u===1?p.id=_.readVarint():u===2?p.bitmap=_.readBytes():u===3?p.width=_.readVarint():u===4?p.height=_.readVarint():u===5?p.left=_.readSVarint():u===6?p.top=_.readSVarint():u===7&&(p.advance=_.readVarint())}function qC(u){for(var p=0,_=0,R=0,j=u;R=0;Ke--){var lt=J[Ke];if(!(ze.w>lt.w||ze.h>lt.h)){if(ze.x=lt.x,ze.y=lt.y,ve=Math.max(ve,ze.y+ze.h),le=Math.max(le,ze.x+ze.w),ze.w===lt.w&&ze.h===lt.h){var Mt=J.pop();Ke>3,$=this.pos;this.type=7&R,u(j,p,this),this.pos===$&&this.skip(R)}return p},readMessage:function(u,p){return this.readFields(u,p,this.readVarint()+this.pos)},readFixed32:function(){var u=m2(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=GC(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=m2(this.buf,this.pos)+4294967296*m2(this.buf,this.pos+4);return this.pos+=8,u},readSFixed64:function(){var u=m2(this.buf,this.pos)+4294967296*GC(this.buf,this.pos+4);return this.pos+=8,u},readFloat:function(){var u=Ca(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=Ca(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var p,_,R=this.buf;return p=127&(_=R[this.pos++]),_<128?p:(p|=(127&(_=R[this.pos++]))<<7,_<128?p:(p|=(127&(_=R[this.pos++]))<<14,_<128?p:(p|=(127&(_=R[this.pos++]))<<21,_<128?p:function(j,$,J){var le,ve,Ie=J.buf;if(le=(112&(ve=Ie[J.pos++]))>>4,ve<128||(le|=(127&(ve=Ie[J.pos++]))<<3,ve<128)||(le|=(127&(ve=Ie[J.pos++]))<<10,ve<128)||(le|=(127&(ve=Ie[J.pos++]))<<17,ve<128)||(le|=(127&(ve=Ie[J.pos++]))<<24,ve<128)||(le|=(1&(ve=Ie[J.pos++]))<<31,ve<128))return i0(j,le,$);throw new Error("Expected varint not more than 10 bytes")}(p|=(15&(_=R[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var u=this.readVarint()+this.pos,p=this.pos;return this.pos=u,u-p>=12&&ib?function(_,R,j){return ib.decode(_.subarray(R,j))}(this.buf,p,u):function(_,R,j){for(var $="",J=R;J239?4:Le>223?3:Le>191?2:1;if(J+Ke>j)break;Ke===1?Le<128&&(ze=Le):Ke===2?(192&(le=_[J+1]))==128&&(ze=(31&Le)<<6|63&le)<=127&&(ze=null):Ke===3?(ve=_[J+2],(192&(le=_[J+1]))==128&&(192&ve)==128&&((ze=(15&Le)<<12|(63&le)<<6|63&ve)<=2047||ze>=55296&&ze<=57343)&&(ze=null)):Ke===4&&(ve=_[J+2],Ie=_[J+3],(192&(le=_[J+1]))==128&&(192&ve)==128&&(192&Ie)==128&&((ze=(15&Le)<<18|(63&le)<<12|(63&ve)<<6|63&Ie)<=65535||ze>=1114112)&&(ze=null)),ze===null?(ze=65533,Ke=1):ze>65535&&(ze-=65536,$+=String.fromCharCode(ze>>>10&1023|55296),ze=56320|1023&ze),$+=String.fromCharCode(ze),J+=Ke}return $}(this.buf,p,u)},readBytes:function(){var u=this.readVarint()+this.pos,p=this.buf.subarray(this.pos,u);return this.pos=u,p},readPackedVarint:function(u,p){if(this.type!==Bo.Bytes)return u.push(this.readVarint(p));var _=Sd(this);for(u=u||[];this.pos<_;)u.push(this.readVarint(p));return u},readPackedSVarint:function(u){if(this.type!==Bo.Bytes)return u.push(this.readSVarint());var p=Sd(this);for(u=u||[];this.pos127;);else if(p===Bo.Bytes)this.pos=this.readVarint()+this.pos;else if(p===Bo.Fixed32)this.pos+=4;else{if(p!==Bo.Fixed64)throw new Error("Unimplemented type: "+p);this.pos+=8}},writeTag:function(u,p){this.writeVarint(u<<3|p)},realloc:function(u){for(var p=this.length||16;p268435455||u<0?function(p,_){var R,j;if(p>=0?(R=p%4294967296|0,j=p/4294967296|0):(j=~(-p/4294967296),4294967295^(R=~(-p%4294967296))?R=R+1|0:(R=0,j=j+1|0)),p>=18446744073709552e3||p<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");_.realloc(10),function($,J,le){le.buf[le.pos++]=127&$|128,$>>>=7,le.buf[le.pos++]=127&$|128,$>>>=7,le.buf[le.pos++]=127&$|128,$>>>=7,le.buf[le.pos++]=127&$|128,le.buf[le.pos]=127&($>>>=7)}(R,0,_),function($,J){var le=(7&$)<<4;J.buf[J.pos++]|=le|(($>>>=3)?128:0),$&&(J.buf[J.pos++]=127&$|(($>>>=7)?128:0),$&&(J.buf[J.pos++]=127&$|(($>>>=7)?128:0),$&&(J.buf[J.pos++]=127&$|(($>>>=7)?128:0),$&&(J.buf[J.pos++]=127&$|(($>>>=7)?128:0),$&&(J.buf[J.pos++]=127&$)))))}(j,_)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(Boolean(u))},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var p=this.pos;this.pos=function(R,j,$){for(var J,le,ve=0;ve55295&&J<57344){if(!le){J>56319||ve+1===j.length?(R[$++]=239,R[$++]=191,R[$++]=189):le=J;continue}if(J<56320){R[$++]=239,R[$++]=191,R[$++]=189,le=J;continue}J=le-55296<<10|J-56320|65536,le=null}else le&&(R[$++]=239,R[$++]=191,R[$++]=189,le=null);J<128?R[$++]=J:(J<2048?R[$++]=J>>6|192:(J<65536?R[$++]=J>>12|224:(R[$++]=J>>18|240,R[$++]=J>>12&63|128),R[$++]=J>>6&63|128),R[$++]=63&J|128)}return $}(this.buf,u,this.pos);var _=this.pos-p;_>=128&&nb(p,_,this),this.pos=p-1,this.writeVarint(_),this.pos+=_},writeFloat:function(u){this.realloc(4),Qo(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),Qo(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var p=u.length;this.writeVarint(p),this.realloc(p);for(var _=0;_=128&&nb(_,R,this),this.pos=_-1,this.writeVarint(R),this.pos+=R},writeMessage:function(u,p,_){this.writeTag(u,Bo.Bytes),this.writeRawMessage(p,_)},writePackedVarint:function(u,p){p.length&&this.writeMessage(u,s8,p)},writePackedSVarint:function(u,p){p.length&&this.writeMessage(u,a8,p)},writePackedBoolean:function(u,p){p.length&&this.writeMessage(u,u8,p)},writePackedFloat:function(u,p){p.length&&this.writeMessage(u,l8,p)},writePackedDouble:function(u,p){p.length&&this.writeMessage(u,c8,p)},writePackedFixed32:function(u,p){p.length&&this.writeMessage(u,NL,p)},writePackedSFixed32:function(u,p){p.length&&this.writeMessage(u,HC,p)},writePackedFixed64:function(u,p){p.length&&this.writeMessage(u,zL,p)},writePackedSFixed64:function(u,p){p.length&&this.writeMessage(u,UL,p)},writeBytesField:function(u,p){this.writeTag(u,Bo.Bytes),this.writeBytes(p)},writeFixed32Field:function(u,p){this.writeTag(u,Bo.Fixed32),this.writeFixed32(p)},writeSFixed32Field:function(u,p){this.writeTag(u,Bo.Fixed32),this.writeSFixed32(p)},writeFixed64Field:function(u,p){this.writeTag(u,Bo.Fixed64),this.writeFixed64(p)},writeSFixed64Field:function(u,p){this.writeTag(u,Bo.Fixed64),this.writeSFixed64(p)},writeVarintField:function(u,p){this.writeTag(u,Bo.Varint),this.writeVarint(p)},writeSVarintField:function(u,p){this.writeTag(u,Bo.Varint),this.writeSVarint(p)},writeStringField:function(u,p){this.writeTag(u,Bo.Bytes),this.writeString(p)},writeFloatField:function(u,p){this.writeTag(u,Bo.Fixed32),this.writeFloat(p)},writeDoubleField:function(u,p){this.writeTag(u,Bo.Fixed64),this.writeDouble(p)},writeBooleanField:function(u,p){this.writeVarintField(u,Boolean(p))}};var uv=function(u,p){var _=p.pixelRatio,R=p.version,j=p.stretchX,$=p.stretchY,J=p.content;this.paddedRect=u,this.pixelRatio=_,this.stretchX=j,this.stretchY=$,this.content=J,this.version=R},n0={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};n0.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},n0.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},n0.tlbr.get=function(){return this.tl.concat(this.br)},n0.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(uv.prototype,n0);var rh=function(u,p){var _={},R={};this.haveRenderCallbacks=[];var j=[];this.addImages(u,_,j),this.addImages(p,R,j);var $=qC(j),J=new Vl({width:$.w||1,height:$.h||1});for(var le in u){var ve=u[le],Ie=_[le].paddedRect;Vl.copy(ve.data,J,{x:0,y:0},{x:Ie.x+1,y:Ie.y+1},ve.data)}for(var Le in p){var ze=p[Le],Ke=R[Le].paddedRect,lt=Ke.x+1,Mt=Ke.y+1,Dt=ze.data.width,tr=ze.data.height;Vl.copy(ze.data,J,{x:0,y:0},{x:lt,y:Mt},ze.data),Vl.copy(ze.data,J,{x:0,y:tr-1},{x:lt,y:Mt-1},{width:Dt,height:1}),Vl.copy(ze.data,J,{x:0,y:0},{x:lt,y:Mt+tr},{width:Dt,height:1}),Vl.copy(ze.data,J,{x:Dt-1,y:0},{x:lt-1,y:Mt},{width:1,height:tr}),Vl.copy(ze.data,J,{x:0,y:0},{x:lt+Dt,y:Mt},{width:1,height:tr})}this.image=J,this.iconPositions=_,this.patternPositions=R};rh.prototype.addImages=function(u,p,_){for(var R in u){var j=u[R],$={x:0,y:0,w:j.data.width+2,h:j.data.height+2};_.push($),p[R]=new uv($,j),j.hasRenderCallback&&this.haveRenderCallbacks.push(R)}},rh.prototype.patchUpdatedImages=function(u,p){for(var _ in u.dispatchRenderCallbacks(this.haveRenderCallbacks),u.updatedImages)this.patchUpdatedImage(this.iconPositions[_],u.getImage(_),p),this.patchUpdatedImage(this.patternPositions[_],u.getImage(_),p)},rh.prototype.patchUpdatedImage=function(u,p,_){if(u&&p&&u.version!==p.version){u.version=p.version;var R=u.tl;_.update(p.data,void 0,{x:R[0],y:R[1]})}},Yi("ImagePosition",uv),Yi("ImageAtlas",rh);var Qf={horizontal:1,vertical:2,horizontalOnly:3},rA=function(){this.scale=1,this.fontStack="",this.imageName=null};rA.forText=function(u,p){var _=new rA;return _.scale=u||1,_.fontStack=p,_},rA.forImage=function(u){var p=new rA;return p.imageName=u,p};var wh=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function ob(u,p,_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt,Dt){var tr,qt=wh.fromFeature(u,j);ze===Qf.vertical&&qt.verticalizePunctuation();var ur=gu.processBidirectionalText,Tr=gu.processStyledBidirectionalText;if(ur&&qt.sections.length===1){tr=[];for(var Nr=0,Vr=ur(qt.toString(),A2(qt,Ie,$,p,R,lt,Mt));Nr0&&Jd>dl&&(dl=Jd)}else{var mb=xo[$s.fontStack],V_=mb&&mb[ed];if(V_&&V_.rect)ug=V_.rect,oc=V_.metrics;else{var _v=Jo[$s.fontStack],gb=_v&&_v[ed];if(!gb)continue;oc=gb.metrics}Qd=24*(Bs-$s.scale)}U_?(pn.verticalizable=!0,Na.push({glyph:ed,imageName:Op,x:ou,y:ih+Qd,vertical:U_,scale:$s.scale,fontStack:$s.fontStack,sectionIndex:Dp,metrics:oc,rect:ug}),ou+=gv*$s.scale+fl):(Na.push({glyph:ed,imageName:Op,x:ou,y:ih+Qd,vertical:U_,scale:$s.scale,fontStack:$s.fontStack,sectionIndex:Dp,metrics:oc,rect:ug}),ou+=oc.advance*$s.scale+fl)}Na.length!==0&&(su=Math.max(ou-fl,su),f8(Na,0,Na.length-1,ka,dl)),ou=0;var Ab=js*Bs+dl;xu.lineOffset=Math.max(dl,rf),ih+=Ab,nc=Math.max(Ab,nc),++au}else ih+=js,++au}var hg,sA=ih- -17,j_=YC(hl),Fp=j_.horizontalAlign,H_=j_.verticalAlign;(function(yv,_b,nf,fg,aA,yb,vv,xv,vb){var ym,G_=(_b-nf)*aA;ym=yb!==vv?-xv*fg- -17:(-fg*vb+.5)*vv;for(var lA=0,W_=yv;lA=0&&R>=u&&g2[this.text.charCodeAt(R)];R--)_--;this.text=this.text.substring(u,_),this.sectionIndex=this.sectionIndex.slice(u,_)},wh.prototype.substring=function(u,p){var _=new wh;return _.text=this.text.substring(u,p),_.sectionIndex=this.sectionIndex.slice(u,p),_.sections=this.sections,_},wh.prototype.toString=function(){return this.text},wh.prototype.getMaxScale=function(){var u=this;return this.sectionIndex.reduce(function(p,_){return Math.max(p,u.sections[_].scale)},0)},wh.prototype.addTextSection=function(u,p){this.text+=u.text,this.sections.push(rA.forText(u.scale,u.fontStack||p));for(var _=this.sections.length-1,R=0;R=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var g2={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Jf={};function $C(u,p,_,R,j,$){if(p.imageName){var J=R[p.imageName];return J?J.displaySize[0]*p.scale*24/$+j:0}var le=_[p.fontStack],ve=le&&le[u];return ve?ve.metrics.advance*p.scale+j:0}function jL(u,p,_,R){var j=Math.pow(u-p,2);return R?u=0,ze=0,Ke=0;Ke-_/2;){if(--J<0)return!1;le-=u[J].dist($),$=u[J]}le+=u[J].dist(u[J+1]),J++;for(var ve=[],Ie=0;le<_/2;){var Le=u[J],ze=u[J+1];if(!ze)return!1;var Ke=u[J-1].angleTo(Le)-Le.angleTo(ze);for(Ke=Math.abs((Ke+3*Math.PI)%(2*Math.PI)-Math.PI),ve.push({distance:le,angleDelta:Ke}),Ie+=Ke;le-ve[0].distance>R;)Ie-=ve.shift().angleDelta;if(Ie>j)return!1;J++,le+=Le.dist(ze)}return!0}function qL(u){for(var p=0,_=0;_Ie){var Mt=(Ie-ve)/lt,Dt=Ws(ze.x,Ke.x,Mt),tr=Ws(ze.y,Ke.y,Mt),qt=new o0(Dt,tr,Ke.angleTo(ze),Le);return qt._round(),!J||WL(u,qt,le,J,p)?qt:void 0}ve+=lt}}function p8(u,p,_,R,j,$,J,le,ve){var Ie=$L(R,$,J),Le=XL(R,j),ze=Le*J,Ke=u[0].x===0||u[0].x===ve||u[0].y===0||u[0].y===ve;return p-ze

=0&&es=0&&In=0&&Ki+Ei<=Ui){var js=new o0(es,In,Jo,en);js._round(),qt&&!WL(Mt,js,Tr,qt,ur)||Bn.push(js)}}Cn+=pn}return Vr||Bn.length||Nr||(Bn=lt(Mt,Cn/2,tr,qt,ur,Tr,Nr,!0,ri)),Bn}(u,Ke?p/2*le%p:(Le/2+2*$)*J*le%p,p,Ie,_,ze,Ke,!1,ve)}function ZL(u,p,_,R,j){for(var $=[],J=0;J=R&&ze.x>=R||(Le.x>=R?Le=new f(R,Le.y+(R-Le.x)/(ze.x-Le.x)*(ze.y-Le.y))._round():ze.x>=R&&(ze=new f(R,Le.y+(R-Le.x)/(ze.x-Le.x)*(ze.y-Le.y))._round()),Le.y>=j&&ze.y>=j||(Le.y>=j?Le=new f(Le.x+(j-Le.y)/(ze.y-Le.y)*(ze.x-Le.x),j)._round():ze.y>=j&&(ze=new f(Le.x+(j-Le.y)/(ze.y-Le.y)*(ze.x-Le.x),j)._round()),ve&&Le.equals(ve[ve.length-1])||$.push(ve=[Le]),ve.push(ze)))))}return $}function _2(u,p,_,R){var j=[],$=u.image,J=$.pixelRatio,le=$.paddedRect.w-2,ve=$.paddedRect.h-2,Ie=u.right-u.left,Le=u.bottom-u.top,ze=$.stretchX||[[0,le]],Ke=$.stretchY||[[0,ve]],lt=function(es,In){return es+In[1]-In[0]},Mt=ze.reduce(lt,0),Dt=Ke.reduce(lt,0),tr=le-Mt,qt=ve-Dt,ur=0,Tr=Mt,Nr=0,Vr=Dt,ri=0,Ei=tr,Ui=0,Cn=qt;if($.content&&R){var Ki=$.content;ur=y2(ze,0,Ki[0]),Nr=y2(Ke,0,Ki[1]),Tr=y2(ze,Ki[0],Ki[2]),Vr=y2(Ke,Ki[1],Ki[3]),ri=Ki[0]-ur,Ui=Ki[1]-Nr,Ei=Ki[2]-Ki[0]-Tr,Cn=Ki[3]-Ki[1]-Vr}var Bn=function(es,In,js,hl){var Gl=nA(es.stretch-ur,Tr,Ie,u.left),Wl=v2(es.fixed-ri,Ei,es.stretch,Mt),fl=nA(In.stretch-Nr,Vr,Le,u.top),ic=v2(In.fixed-Ui,Cn,In.stretch,Dt),nu=nA(js.stretch-ur,Tr,Ie,u.left),ou=v2(js.fixed-ri,Ei,js.stretch,Mt),ih=nA(hl.stretch-Nr,Vr,Le,u.top),su=v2(hl.fixed-Ui,Cn,hl.stretch,Dt),nc=new f(Gl,fl),ka=new f(nu,fl),au=new f(nu,ih),hs=new f(Gl,ih),Ra=new f(Wl/J,ic/J),ea=new f(ou/J,su/J),Bs=p*Math.PI/180;if(Bs){var rf=Math.sin(Bs),xu=Math.cos(Bs),Na=[xu,-rf,rf,xu];nc._matMult(Na),ka._matMult(Na),hs._matMult(Na),au._matMult(Na)}var dl=es.stretch+es.fixed,ku=In.stretch+In.fixed;return{tl:nc,tr:ka,bl:hs,br:au,tex:{x:$.paddedRect.x+1+dl,y:$.paddedRect.y+1+ku,w:js.stretch+js.fixed-dl,h:hl.stretch+hl.fixed-ku},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ra,pixelOffsetBR:ea,minFontScaleX:Ei/J/Ie,minFontScaleY:Cn/J/Le,isSDF:_}};if(R&&($.stretchX||$.stretchY))for(var en=QC(ze,tr,Mt),Wo=QC(Ke,qt,Dt),Xn=0;Xn0&&(lt=Math.max(10,lt),this.circleDiameter=lt)}else{var Mt=$.top*J-le,Dt=$.bottom*J+le,tr=$.left*J-le,qt=$.right*J+le,ur=$.collisionPadding;if(ur&&(tr-=ur[0]*J,Mt-=ur[1]*J,qt+=ur[2]*J,Dt+=ur[3]*J),Ie){var Tr=new f(tr,Mt),Nr=new f(qt,Mt),Vr=new f(tr,Dt),ri=new f(qt,Dt),Ei=Ie*Math.PI/180;Tr._rotate(Ei),Nr._rotate(Ei),Vr._rotate(Ei),ri._rotate(Ei),tr=Math.min(Tr.x,Nr.x,Vr.x,ri.x),qt=Math.max(Tr.x,Nr.x,Vr.x,ri.x),Mt=Math.min(Tr.y,Nr.y,Vr.y,ri.y),Dt=Math.max(Tr.y,Nr.y,Vr.y,ri.y)}u.emplaceBack(p.x,p.y,tr,Mt,qt,Dt,_,R,j)}this.boxEndIndex=u.length},Am=function(u,p){if(u===void 0&&(u=[]),p===void 0&&(p=YL),this.data=u,this.length=this.data.length,this.compare=p,this.length>0)for(var _=(this.length>>1)-1;_>=0;_--)this._down(_)};function YL(u,p){return up?1:0}function x2(u,p,_){p===void 0&&(p=1),_===void 0&&(_=!1);for(var R=1/0,j=1/0,$=-1/0,J=-1/0,le=u[0],ve=0;ve$)&&($=Ie.x),(!ve||Ie.y>J)&&(J=Ie.y)}var Le=Math.min($-R,J-j),ze=Le/2,Ke=new Am([],b2);if(Le===0)return new f(R,j);for(var lt=R;lt<$;lt+=Le)for(var Mt=j;MtDt.d||!Dt.d)&&(Dt=qt,_&&console.log("found best %d after %d probes",Math.round(1e4*qt.d)/1e4,tr)),qt.max-Dt.d<=p||(Ke.push(new ag(qt.p.x-(ze=qt.h/2),qt.p.y-ze,ze,u)),Ke.push(new ag(qt.p.x+ze,qt.p.y-ze,ze,u)),Ke.push(new ag(qt.p.x-ze,qt.p.y+ze,ze,u)),Ke.push(new ag(qt.p.x+ze,qt.p.y+ze,ze,u)),tr+=4)}return _&&(console.log("num probes: "+tr),console.log("best distance: "+Dt.d)),Dt.p}function b2(u,p){return p.max-u.max}function ag(u,p,_,R){this.p=new f(u,p),this.h=_,this.d=function(j,$){for(var J=!1,le=1/0,ve=0;ve<$.length;ve++)for(var Ie=$[ve],Le=0,ze=Ie.length,Ke=ze-1;Lej.y!=Mt.y>j.y&&j.x<(Mt.x-lt.x)*(j.y-lt.y)/(Mt.y-lt.y)+lt.x&&(J=!J),le=Math.min(le,Td(j,lt,Mt))}return(J?1:-1)*Math.sqrt(le)}(this.p,R),this.max=this.d+this.h*Math.SQRT2}Am.prototype.push=function(u){this.data.push(u),this.length++,this._up(this.length-1)},Am.prototype.pop=function(){if(this.length!==0){var u=this.data[0],p=this.data.pop();return this.length--,this.length>0&&(this.data[0]=p,this._down(0)),u}},Am.prototype.peek=function(){return this.data[0]},Am.prototype._up=function(u){for(var p=this.data,_=this.compare,R=p[u];u>0;){var j=u-1>>1,$=p[j];if(_(R,$)>=0)break;p[u]=$,u=j}p[u]=R},Am.prototype._down=function(u){for(var p=this.data,_=this.compare,R=this.length>>1,j=p[u];u=0)break;p[u]=J,u=$}p[u]=j};var w2=Number.POSITIVE_INFINITY;function JC(u,p){return p[1]!==w2?function(_,R,j){var $=0,J=0;switch(R=Math.abs(R),j=Math.abs(j),_){case"top-right":case"top-left":case"top":J=j-7;break;case"bottom-right":case"bottom-left":case"bottom":J=7-j}switch(_){case"top-right":case"bottom-right":case"right":$=-R;break;case"top-left":case"bottom-left":case"left":$=R}return[$,J]}(u,p[0],p[1]):function(_,R){var j=0,$=0;R<0&&(R=0);var J=R/Math.sqrt(2);switch(_){case"top-right":case"top-left":$=J-7;break;case"bottom-right":case"bottom-left":$=7-J;break;case"bottom":$=7-R;break;case"top":$=R-7}switch(_){case"top-right":case"bottom-right":j=-J;break;case"top-left":case"bottom-left":j=J;break;case"left":j=R;break;case"right":j=-R}return[j,$]}(u,p[0])}function B_(u){switch(u){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function T2(u,p,_,R,j,$,J,le,ve,Ie,Le,ze,Ke,lt,Mt){var Dt=function(Nr,Vr,ri,Ei,Ui,Cn,Ki,Bn){for(var en=Ei.layout.get("text-rotate").evaluate(Cn,{})*Math.PI/180,Wo=[],Xn=0,pn=Vr.positionedLines;Xn32640&&Je(u.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):tr.kind==="composite"&&((qt=[128*lt.compositeTextSizes[0].evaluate(J,{},Mt),128*lt.compositeTextSizes[1].evaluate(J,{},Mt)])[0]>32640||qt[1]>32640)&&Je(u.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),u.addSymbols(u.text,Dt,qt,le,$,J,Ie,p,ve.lineStartIndex,ve.lineLength,Ke,Mt);for(var ur=0,Tr=Le;ur=0;J--)if(R.dist($[J])<_)return!0}else j[p]=[];return j[p].push(R),!1}var hv=B.VectorTileFeature.types,lb=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function E2(u,p,_,R,j,$,J,le,ve,Ie,Le,ze,Ke){var lt=le?Math.min(32640,Math.round(le[0])):0,Mt=le?Math.min(32640,Math.round(le[1])):0;u.emplaceBack(p,_,Math.round(32*R),Math.round(32*j),$,J,(lt<<1)+(ve?1:0),Mt,16*Ie,16*Le,256*ze,256*Ke)}function C2(u,p,_){u.emplaceBack(p.x,p.y,_),u.emplaceBack(p.x,p.y,_),u.emplaceBack(p.x,p.y,_),u.emplaceBack(p.x,p.y,_)}function D_(u){for(var p=0,_=u.sections;p<_.length;p+=1)if(rg(_[p].text))return!0;return!1}var fv=function(u){this.layoutVertexArray=new Zf,this.indexArray=new Kh,this.programConfigurations=u,this.segments=new ft,this.dynamicLayoutVertexArray=new Zd,this.opacityVertexArray=new xd,this.placedSymbolArray=new L};fv.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},fv.prototype.upload=function(u,p,_,R){this.isEmpty()||(_&&(this.layoutVertexBuffer=u.createVertexBuffer(this.layoutVertexArray,vo.members),this.indexBuffer=u.createIndexBuffer(this.indexArray,p),this.dynamicLayoutVertexBuffer=u.createVertexBuffer(this.dynamicLayoutVertexArray,Ro.members,!0),this.opacityVertexBuffer=u.createVertexBuffer(this.opacityVertexArray,lb,!0),this.opacityVertexBuffer.itemSize=1),(_||R)&&this.programConfigurations.upload(u))},fv.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Yi("SymbolBuffers",fv);var dv=function(u,p,_){this.layoutVertexArray=new u,this.layoutAttributes=p,this.indexArray=new _,this.segments=new ft,this.collisionVertexArray=new Yd};dv.prototype.upload=function(u){this.layoutVertexBuffer=u.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=u.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=u.createVertexBuffer(this.collisionVertexArray,Yo.members,!0)},dv.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Yi("CollisionBuffers",dv);var Js=function(u){this.collisionBoxArray=u.collisionBoxArray,this.zoom=u.zoom,this.overscaling=u.overscaling,this.layers=u.layers,this.layerIds=this.layers.map(function($){return $.id}),this.index=u.index,this.pixelRatio=u.pixelRatio,this.sourceLayerIndex=u.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=yu([]),this.placementViewportMatrix=yu([]);var p=this.layers[0]._unevaluatedLayout._values;this.textSizeData=sb(this.zoom,p["text-size"]),this.iconSizeData=sb(this.zoom,p["icon-size"]);var _=this.layers[0].layout,R=_.get("symbol-sort-key"),j=_.get("symbol-z-order");this.canOverlap=_.get("text-allow-overlap")||_.get("icon-allow-overlap")||_.get("text-ignore-placement")||_.get("icon-ignore-placement"),this.sortFeaturesByKey=j!=="viewport-y"&&R.constantOr(1)!==void 0,this.sortFeaturesByY=(j==="viewport-y"||j==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,_.get("symbol-placement")==="point"&&(this.writingModes=_.get("text-writing-mode").map(function($){return Qf[$]})),this.stateDependentLayerIds=this.layers.filter(function($){return $.isStateDependent()}).map(function($){return $.id}),this.sourceID=u.sourceID};Js.prototype.createArrays=function(){this.text=new fv(new Rn(this.layers,this.zoom,function(u){return/^text/.test(u)})),this.icon=new fv(new Rn(this.layers,this.zoom,function(u){return/^icon/.test(u)})),this.glyphOffsetArray=new ae,this.lineVertexArray=new ge,this.symbolInstances=new ie},Js.prototype.calculateGlyphDependencies=function(u,p,_,R,j){for(var $=0;$0)&&($.value.kind!=="constant"||$.value.value.length>0),Ie=le.value.kind!=="constant"||!!le.value.value||Object.keys(le.parameters).length>0,Le=j.get("symbol-sort-key");if(this.features=[],ve||Ie){for(var ze=p.iconDependencies,Ke=p.glyphDependencies,lt=p.availableImages,Mt=new So(this.zoom),Dt=0,tr=u;Dt=0;for(var Jo=0,xo=Ui.sections;Jo=0;le--)$[le]={x:p[le].x,y:p[le].y,tileUnitDistanceFromAnchor:j},le>0&&(j+=p[le-1].dist(p[le]));for(var ve=0;ve0},Js.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Js.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Js.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Js.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Js.prototype.addIndicesForPlacedSymbol=function(u,p){for(var _=u.placedSymbolArray.get(p),R=_.vertexStartIndex+4*_.numGlyphs,j=_.vertexStartIndex;j1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(u),this.sortedAngle=u,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var _=0,R=this.symbolInstanceIndexes;_=0&&le.indexOf($)===J&&p.addIndicesForPlacedSymbol(p.text,$)}),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)}},Yi("SymbolBucket",Js,{omit:["layers","collisionBoxArray","features","compareText"]}),Js.MAX_GLYPHS=65535,Js.addDynamicAttributes=C2;var eI=new Cl({"symbol-placement":new An(ht.layout_symbol["symbol-placement"]),"symbol-spacing":new An(ht.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new An(ht.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new nn(ht.layout_symbol["symbol-sort-key"]),"symbol-z-order":new An(ht.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new An(ht.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new An(ht.layout_symbol["icon-ignore-placement"]),"icon-optional":new An(ht.layout_symbol["icon-optional"]),"icon-rotation-alignment":new An(ht.layout_symbol["icon-rotation-alignment"]),"icon-size":new nn(ht.layout_symbol["icon-size"]),"icon-text-fit":new An(ht.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new An(ht.layout_symbol["icon-text-fit-padding"]),"icon-image":new nn(ht.layout_symbol["icon-image"]),"icon-rotate":new nn(ht.layout_symbol["icon-rotate"]),"icon-padding":new An(ht.layout_symbol["icon-padding"]),"icon-keep-upright":new An(ht.layout_symbol["icon-keep-upright"]),"icon-offset":new nn(ht.layout_symbol["icon-offset"]),"icon-anchor":new nn(ht.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new An(ht.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new An(ht.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new An(ht.layout_symbol["text-rotation-alignment"]),"text-field":new nn(ht.layout_symbol["text-field"]),"text-font":new nn(ht.layout_symbol["text-font"]),"text-size":new nn(ht.layout_symbol["text-size"]),"text-max-width":new nn(ht.layout_symbol["text-max-width"]),"text-line-height":new An(ht.layout_symbol["text-line-height"]),"text-letter-spacing":new nn(ht.layout_symbol["text-letter-spacing"]),"text-justify":new nn(ht.layout_symbol["text-justify"]),"text-radial-offset":new nn(ht.layout_symbol["text-radial-offset"]),"text-variable-anchor":new An(ht.layout_symbol["text-variable-anchor"]),"text-anchor":new nn(ht.layout_symbol["text-anchor"]),"text-max-angle":new An(ht.layout_symbol["text-max-angle"]),"text-writing-mode":new An(ht.layout_symbol["text-writing-mode"]),"text-rotate":new nn(ht.layout_symbol["text-rotate"]),"text-padding":new An(ht.layout_symbol["text-padding"]),"text-keep-upright":new An(ht.layout_symbol["text-keep-upright"]),"text-transform":new nn(ht.layout_symbol["text-transform"]),"text-offset":new nn(ht.layout_symbol["text-offset"]),"text-allow-overlap":new An(ht.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new An(ht.layout_symbol["text-ignore-placement"]),"text-optional":new An(ht.layout_symbol["text-optional"])}),I2={paint:new Cl({"icon-opacity":new nn(ht.paint_symbol["icon-opacity"]),"icon-color":new nn(ht.paint_symbol["icon-color"]),"icon-halo-color":new nn(ht.paint_symbol["icon-halo-color"]),"icon-halo-width":new nn(ht.paint_symbol["icon-halo-width"]),"icon-halo-blur":new nn(ht.paint_symbol["icon-halo-blur"]),"icon-translate":new An(ht.paint_symbol["icon-translate"]),"icon-translate-anchor":new An(ht.paint_symbol["icon-translate-anchor"]),"text-opacity":new nn(ht.paint_symbol["text-opacity"]),"text-color":new nn(ht.paint_symbol["text-color"],{runtimeType:Mi,getOverride:function(u){return u.textColor},hasOverride:function(u){return!!u.textColor}}),"text-halo-color":new nn(ht.paint_symbol["text-halo-color"]),"text-halo-width":new nn(ht.paint_symbol["text-halo-width"]),"text-halo-blur":new nn(ht.paint_symbol["text-halo-blur"]),"text-translate":new An(ht.paint_symbol["text-translate"]),"text-translate-anchor":new An(ht.paint_symbol["text-translate-anchor"])}),layout:eI},O_=function(u){this.type=u.property.overrides?u.property.overrides.runtimeType:fi,this.defaultValue=u};O_.prototype.evaluate=function(u){if(u.formattedSection){var p=this.defaultValue.property.overrides;if(p&&p.hasOverride(u.formattedSection))return p.getOverride(u.formattedSection)}return u.feature&&u.featureState?this.defaultValue.evaluate(u.feature,u.featureState):this.defaultValue.property.specification.default},O_.prototype.eachChild=function(u){this.defaultValue.isConstant()||u(this.defaultValue.value._styleExpression.expression)},O_.prototype.outputDefined=function(){return!1},O_.prototype.serialize=function(){return null},Yi("FormatSectionOverride",O_,{omit:["defaultValue"]});var m8=function(u){function p(_){u.call(this,_,I2)}return u&&(p.__proto__=u),(p.prototype=Object.create(u&&u.prototype)).constructor=p,p.prototype.recalculate=function(_,R){if(u.prototype.recalculate.call(this,_,R),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")),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 j=this.layout.get("text-writing-mode");if(j){for(var $=[],J=0,le=j;J",targetMapId:R,sourceMapId:$.mapId})}}},lg.prototype.receive=function(u){var p=u.data,_=p.id;if(_&&(!p.targetMapId||this.mapId===p.targetMapId))if(p.type===""){delete this.tasks[_];var R=this.cancelCallbacks[_];delete this.cancelCallbacks[_],R&&R()}else xt()||p.mustQueue?(this.tasks[_]=p,this.taskQueue.push(_),this.invoker.trigger()):this.processTask(_,p)},lg.prototype.process=function(){if(this.taskQueue.length){var u=this.taskQueue.shift(),p=this.tasks[u];delete this.tasks[u],this.taskQueue.length&&this.invoker.trigger(),p&&this.processTask(u,p)}},lg.prototype.processTask=function(u,p){var _=this;if(p.type===""){var R=this.callbacks[u];delete this.callbacks[u],R&&(p.error?R(kl(p.error)):R(null,kl(p.data)))}else{var j=!1,$=hr(this.globalScope)?void 0:[],J=p.hasCallback?function(Le,ze){j=!0,delete _.cancelCallbacks[u],_.target.postMessage({id:u,type:"",sourceMapId:_.mapId,error:Le?ru(Le):null,data:ru(ze,$)},$)}:function(Le){j=!0},le=null,ve=kl(p.data);if(this.parent[p.type])le=this.parent[p.type](p.sourceMapId,ve,J);else if(this.parent.getWorkerSource){var Ie=p.type.split(".");le=this.parent.getWorkerSource(p.sourceMapId,Ie[0],ve.source)[Ie[1]](ve,J)}else J(new Error("Could not find function "+p.type));!j&&le&&le.cancel&&(this.cancelCallbacks[u]=le.cancel)}},lg.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Wc=function(u,p){u&&(p?this.setSouthWest(u).setNorthEast(p):u.length===4?this.setSouthWest([u[0],u[1]]).setNorthEast([u[2],u[3]]):this.setSouthWest(u[0]).setNorthEast(u[1]))};Wc.prototype.setNorthEast=function(u){return this._ne=u instanceof ul?new ul(u.lng,u.lat):ul.convert(u),this},Wc.prototype.setSouthWest=function(u){return this._sw=u instanceof ul?new ul(u.lng,u.lat):ul.convert(u),this},Wc.prototype.extend=function(u){var p,_,R=this._sw,j=this._ne;if(u instanceof ul)p=u,_=u;else{if(!(u instanceof Wc))return Array.isArray(u)?u.length===4||u.every(Array.isArray)?this.extend(Wc.convert(u)):this.extend(ul.convert(u)):this;if(_=u._ne,!(p=u._sw)||!_)return this}return R||j?(R.lng=Math.min(p.lng,R.lng),R.lat=Math.min(p.lat,R.lat),j.lng=Math.max(_.lng,j.lng),j.lat=Math.max(_.lat,j.lat)):(this._sw=new ul(p.lng,p.lat),this._ne=new ul(_.lng,_.lat)),this},Wc.prototype.getCenter=function(){return new ul((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Wc.prototype.getSouthWest=function(){return this._sw},Wc.prototype.getNorthEast=function(){return this._ne},Wc.prototype.getNorthWest=function(){return new ul(this.getWest(),this.getNorth())},Wc.prototype.getSouthEast=function(){return new ul(this.getEast(),this.getSouth())},Wc.prototype.getWest=function(){return this._sw.lng},Wc.prototype.getSouth=function(){return this._sw.lat},Wc.prototype.getEast=function(){return this._ne.lng},Wc.prototype.getNorth=function(){return this._ne.lat},Wc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Wc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Wc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Wc.prototype.contains=function(u){var p=ul.convert(u),_=p.lng,R=p.lat,j=this._sw.lng<=_&&_<=this._ne.lng;return this._sw.lng>this._ne.lng&&(j=this._sw.lng>=_&&_>=this._ne.lng),this._sw.lat<=R&&R<=this._ne.lat&&j},Wc.convert=function(u){return!u||u instanceof Wc?u:new Wc(u)};var ul=function(u,p){if(isNaN(u)||isNaN(p))throw new Error("Invalid LngLat object: ("+u+", "+p+")");if(this.lng=+u,this.lat=+p,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};ul.prototype.wrap=function(){return new ul(K(this.lng,-180,180),this.lat)},ul.prototype.toArray=function(){return[this.lng,this.lat]},ul.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},ul.prototype.distanceTo=function(u){var p=Math.PI/180,_=this.lat*p,R=u.lat*p,j=Math.sin(_)*Math.sin(R)+Math.cos(_)*Math.cos(R)*Math.cos((u.lng-this.lng)*p);return 63710088e-1*Math.acos(Math.min(j,1))},ul.prototype.toBounds=function(u){u===void 0&&(u=0);var p=360*u/40075017,_=p/Math.cos(Math.PI/180*this.lat);return new Wc(new ul(this.lng-_,this.lat-p),new ul(this.lng+_,this.lat+p))},ul.convert=function(u){if(u instanceof ul)return u;if(Array.isArray(u)&&(u.length===2||u.length===3))return new ul(Number(u[0]),Number(u[1]));if(!Array.isArray(u)&&typeof u=="object"&&u!==null)return new ul(Number("lng"in u?u.lng:u.lon),Number(u.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 rI=2*Math.PI*63710088e-1;function iI(u){return rI*Math.cos(u*Math.PI/180)}function eD(u){return(180+u)/360}function tD(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function pv(u,p){return u/iI(p)}function P2(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}var k_=function(u,p,_){_===void 0&&(_=0),this.x=+u,this.y=+p,this.z=+_};k_.fromLngLat=function(u,p){p===void 0&&(p=0);var _=ul.convert(u);return new k_(eD(_.lng),tD(_.lat),pv(p,_.lat))},k_.prototype.toLngLat=function(){return new ul(360*this.x-180,P2(this.y))},k_.prototype.toAltitude=function(){return this.z*iI(P2(this.y))},k_.prototype.meterInMercatorCoordinateUnits=function(){return 1/rI*(u=P2(this.y),1/Math.cos(u*Math.PI/180));var u};var N_=function(u,p,_){this.z=u,this.x=p,this.y=_,this.key=fb(0,u,u,p,_)};N_.prototype.equals=function(u){return this.z===u.z&&this.x===u.x&&this.y===u.y},N_.prototype.url=function(u,p){var _,R,j,$,J,le=(R=this.y,j=this.z,$=M2(256*(_=this.x),256*(R=Math.pow(2,j)-R-1),j),J=M2(256*(_+1),256*(R+1),j),$[0]+","+$[1]+","+J[0]+","+J[1]),ve=function(Ie,Le,ze){for(var Ke,lt="",Mt=Ie;Mt>0;Mt--)lt+=(Le&(Ke=1<this.canonical.z?new qc(u,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qc(u,this.wrap,u,this.canonical.x>>p,this.canonical.y>>p)},qc.prototype.calculateScaledKey=function(u,p){var _=this.canonical.z-u;return u>this.canonical.z?fb(this.wrap*+p,u,this.canonical.z,this.canonical.x,this.canonical.y):fb(this.wrap*+p,u,u,this.canonical.x>>_,this.canonical.y>>_)},qc.prototype.isChildOf=function(u){if(u.wrap!==this.wrap)return!1;var p=this.canonical.z-u.canonical.z;return u.overscaledZ===0||u.overscaledZ>p&&u.canonical.y===this.canonical.y>>p},qc.prototype.children=function(u){if(this.overscaledZ>=u)return[new qc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var p=this.canonical.z+1,_=2*this.canonical.x,R=2*this.canonical.y;return[new qc(p,this.wrap,p,_,R),new qc(p,this.wrap,p,_+1,R),new qc(p,this.wrap,p,_,R+1),new qc(p,this.wrap,p,_+1,R+1)]},qc.prototype.isLessThan=function(u){return this.wrapu.wrap)&&(this.overscaledZu.overscaledZ)&&(this.canonical.xu.canonical.x)&&this.canonical.y=this.dim+1||p<-1||p>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(p+1)*this.stride+(u+1)},cg.prototype._unpackMapbox=function(u,p,_){return(256*u*256+256*p+_)/10-1e4},cg.prototype._unpackTerrarium=function(u,p,_){return 256*u+p+_/256-32768},cg.prototype.getPixels=function(){return new Vl({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},cg.prototype.backfillBorder=function(u,p,_){if(this.dim!==u.dim)throw new Error("dem dimension mismatch");var R=p*this.dim,j=p*this.dim+this.dim,$=_*this.dim,J=_*this.dim+this.dim;switch(p){case-1:R=j-1;break;case 1:j=R+1}switch(_){case-1:$=J-1;break;case 1:J=$+1}for(var le=-p*this.dim,ve=-_*this.dim,Ie=$;Ie=0&&Le[3]>=0&&le.insert(J,Le[0],Le[1],Le[2],Le[3])}},s0.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new B.VectorTile(new va(this.rawTileData)).layers,this.sourceLayerCoder=new mv(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},s0.prototype.query=function(u,p,_,R){var j=this;this.loadVTLayers();for(var $=u.params||{},J=8192/u.tileSize/u.scale,le=Wd($.filter),ve=u.queryGeometry,Ie=u.queryPadding*J,Le=iD(ve),ze=this.grid.query(Le.minX-Ie,Le.minY-Ie,Le.maxX+Ie,Le.maxY+Ie),Ke=iD(u.cameraQueryGeometry),lt=this.grid3D.query(Ke.minX-Ie,Ke.minY-Ie,Ke.maxX+Ie,Ke.maxY+Ie,function(Nr,Vr,ri,Ei){return function(Ui,Cn,Ki,Bn,en){for(var Wo=0,Xn=Ui;Wo=pn.x&&en>=pn.y)return!0}var Jo=[new f(Cn,Ki),new f(Cn,en),new f(Bn,en),new f(Bn,Ki)];if(Ui.length>2){for(var xo=0,es=Jo;xo=0)return!0;return!1}($,ze)){var Ke=this.sourceLayerCoder.decode(_),lt=this.vtLayers[Ke].feature(R);if(j.needGeometry){var Mt=Ta(lt,!0);if(!j.filter(new So(this.tileID.overscaledZ),Mt,this.tileID.canonical))return}else if(!j.filter(new So(this.tileID.overscaledZ),lt))return;for(var Dt=this.getId(lt,Ke),tr=0;trR)j=!1;else if(p)if(this.expirationTimeyr&&(u.getActor().send("enforceCacheSizeLimit",Gt),ti=0)},n.clamp=U,n.clearTileCache=function(u){var p=y.caches.delete("mapbox-tiles");u&&p.catch(u).then(function(){return u()})},n.clipLine=ZL,n.clone=function(u){var p=new _s(16);return p[0]=u[0],p[1]=u[1],p[2]=u[2],p[3]=u[3],p[4]=u[4],p[5]=u[5],p[6]=u[6],p[7]=u[7],p[8]=u[8],p[9]=u[9],p[10]=u[10],p[11]=u[11],p[12]=u[12],p[13]=u[13],p[14]=u[14],p[15]=u[15],p},n.clone$1=Ce,n.clone$2=function(u){var p=new _s(3);return p[0]=u[0],p[1]=u[1],p[2]=u[2],p},n.collisionCircleLayout=kn,n.config=nt,n.create=function(){var u=new _s(16);return _s!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n.create$1=function(){var u=new _s(9);return _s!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[5]=0,u[6]=0,u[7]=0),u[0]=1,u[4]=1,u[8]=1,u},n.create$2=function(){var u=new _s(4);return _s!=Float32Array&&(u[1]=0,u[2]=0),u[0]=1,u[3]=1,u},n.createCommonjsModule=o,n.createExpression=mc,n.createLayout=da,n.createStyleLayer=function(u){return u.type==="custom"?new cb(u):new v8[u.type](u)},n.cross=function(u,p,_){var R=p[0],j=p[1],$=p[2],J=_[0],le=_[1],ve=_[2];return u[0]=j*ve-$*le,u[1]=$*J-R*ve,u[2]=R*le-j*J,u},n.deepEqual=function u(p,_){if(Array.isArray(p)){if(!Array.isArray(_)||p.length!==_.length)return!1;for(var R=0;R0&&($=1/Math.sqrt($)),u[0]=p[0]*$,u[1]=p[1]*$,u[2]=p[2]*$,u},n.number=Ws,n.offscreenCanvasSupported=Jr,n.ortho=function(u,p,_,R,j,$,J){var le=1/(p-_),ve=1/(R-j),Ie=1/($-J);return u[0]=-2*le,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=-2*ve,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=2*Ie,u[11]=0,u[12]=(p+_)*le,u[13]=(j+R)*ve,u[14]=(J+$)*Ie,u[15]=1,u},n.parseGlyphPBF=function(u){return new va(u).readFields(VL,[])},n.pbf=va,n.performSymbolLayout=function(u,p,_,R,j,$,J){u.createArrays(),u.tilePixelRatio=8192/(512*u.overscaling),u.compareText={},u.iconsNeedLinear=!1;var le=u.layers[0].layout,ve=u.layers[0]._unevaluatedLayout._values,Ie={};if(u.textSizeData.kind==="composite"){var Le=u.textSizeData,ze=Le.maxZoom;Ie.compositeTextSizes=[ve["text-size"].possiblyEvaluate(new So(Le.minZoom),J),ve["text-size"].possiblyEvaluate(new So(ze),J)]}if(u.iconSizeData.kind==="composite"){var Ke=u.iconSizeData,lt=Ke.maxZoom;Ie.compositeIconSizes=[ve["icon-size"].possiblyEvaluate(new So(Ke.minZoom),J),ve["icon-size"].possiblyEvaluate(new So(lt),J)]}Ie.layoutTextSize=ve["text-size"].possiblyEvaluate(new So(u.zoom+1),J),Ie.layoutIconSize=ve["icon-size"].possiblyEvaluate(new So(u.zoom+1),J),Ie.textMaxSize=ve["text-size"].possiblyEvaluate(new So(18));for(var Mt=24*le.get("text-line-height"),Dt=le.get("text-rotation-alignment")==="map"&&le.get("symbol-placement")!=="point",tr=le.get("text-keep-upright"),qt=le.get("text-size"),ur=function(){var Vr=Nr[Tr],ri=le.get("text-font").evaluate(Vr,{},J).join(","),Ei=qt.evaluate(Vr,{},J),Ui=Ie.layoutTextSize.evaluate(Vr,{},J),Cn=Ie.layoutIconSize.evaluate(Vr,{},J),Ki={horizontal:{},vertical:void 0},Bn=Vr.text,en=[0,0];if(Bn){var Wo=Bn.toString(),Xn=24*le.get("text-letter-spacing").evaluate(Vr,{},J),pn=function(hs){for(var Ra=0,ea=hs;Ra=8192||xm.y<0||xm.y>=8192||function(ta,el,zu,a0,td,Uu,$_,pg,xb,bm,l0,B2,L2,oI,bv,D2,sI,O2,of,kp,pl,wm,bb,Np,aD){var aI,hA,X_,fA,c0,Z_=ta.addToLineVertexArray(el,zu),lI=0,Y_=0,F2=0,cI=0,uI=-1,k2=-1,zp={},wb=St(""),wv=0,Tb=0;if(pg._unevaluatedLayout.getValue("text-radial-offset")===void 0?(wv=(aI=pg.layout.get("text-offset").evaluate(pl,{},Np).map(function(mg){return 24*mg}))[0],Tb=aI[1]):(wv=24*pg.layout.get("text-radial-offset").evaluate(pl,{},Np),Tb=w2),ta.allowVerticalPlacement&&a0.vertical){var N2=pg.layout.get("text-rotate").evaluate(pl,{},Np)+90;fA=new rc(xb,el,bm,l0,B2,a0.vertical,L2,oI,bv,N2),$_&&(c0=new rc(xb,el,bm,l0,B2,$_,sI,O2,bv,N2))}if(td){var Sb=pg.layout.get("icon-rotate").evaluate(pl,{}),hI=pg.layout.get("icon-text-fit")!=="none",fI=_2(td,Sb,bb,hI),z2=$_?_2($_,Sb,bb,hI):void 0;X_=new rc(xb,el,bm,l0,B2,td,sI,O2,!1,Sb),lI=4*fI.length;var dI=ta.iconSizeData,Tv=null;dI.kind==="source"?(Tv=[128*pg.layout.get("icon-size").evaluate(pl,{})])[0]>32640&&Je(ta.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):dI.kind==="composite"&&((Tv=[128*wm.compositeIconSizes[0].evaluate(pl,{},Np),128*wm.compositeIconSizes[1].evaluate(pl,{},Np)])[0]>32640||Tv[1]>32640)&&Je(ta.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),ta.addSymbols(ta.icon,fI,Tv,kp,of,pl,!1,el,Z_.lineStartIndex,Z_.lineLength,-1,Np),uI=ta.icon.placedSymbolArray.length-1,z2&&(Y_=4*z2.length,ta.addSymbols(ta.icon,z2,Tv,kp,of,pl,Qf.vertical,el,Z_.lineStartIndex,Z_.lineLength,-1,Np),k2=ta.icon.placedSymbolArray.length-1)}for(var lD in a0.horizontal){var Eb=a0.horizontal[lD];if(!hA){wb=St(Eb.text);var x8=pg.layout.get("text-rotate").evaluate(pl,{},Np);hA=new rc(xb,el,bm,l0,B2,Eb,L2,oI,bv,x8)}var cD=Eb.positionedLines.length===1;if(F2+=T2(ta,el,Eb,Uu,pg,bv,pl,D2,Z_,a0.vertical?Qf.horizontal:Qf.horizontalOnly,cD?Object.keys(a0.horizontal):[lD],zp,uI,wm,Np),cD)break}a0.vertical&&(cI+=T2(ta,el,a0.vertical,Uu,pg,bv,pl,D2,Z_,Qf.vertical,["vertical"],zp,k2,wm,Np));var pI=hA?hA.boxStartIndex:ta.collisionBoxArray.length,uD=hA?hA.boxEndIndex:ta.collisionBoxArray.length,b8=fA?fA.boxStartIndex:ta.collisionBoxArray.length,w8=fA?fA.boxEndIndex:ta.collisionBoxArray.length,hD=X_?X_.boxStartIndex:ta.collisionBoxArray.length,Cb=X_?X_.boxEndIndex:ta.collisionBoxArray.length,fD=c0?c0.boxStartIndex:ta.collisionBoxArray.length,T8=c0?c0.boxEndIndex:ta.collisionBoxArray.length,Up=-1,Sv=function(mg,gI){return mg&&mg.circleDiameter?Math.max(mg.circleDiameter,gI):gI};Up=Sv(hA,Up),Up=Sv(fA,Up),Up=Sv(X_,Up);var mI=(Up=Sv(c0,Up))>-1?1:0;mI&&(Up*=aD/24),ta.glyphOffsetArray.length>=Js.MAX_GLYPHS&&Je("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),pl.sortKey!==void 0&&ta.addToSortKeyRanges(ta.symbolInstances.length,pl.sortKey),ta.symbolInstances.emplaceBack(el.x,el.y,zp.right>=0?zp.right:-1,zp.center>=0?zp.center:-1,zp.left>=0?zp.left:-1,zp.vertical||-1,uI,k2,wb,pI,uD,b8,w8,hD,Cb,fD,T8,bm,F2,cI,lI,Y_,mI,0,L2,wv,Tb,Up)}(hs,xm,vm,ea,Bs,rf,Qd,hs.layers[0],hs.collisionBoxArray,Ra.index,Ra.sourceLayerIndex,hs.index,U_,mb,gb,ku,_m,V_,Ab,ug,Ra,xu,$s,Dp,Na)};if(hg==="line")for(var H_=0,yv=ZL(Ra.geometry,0,0,8192,8192);H_1){var vb=d8(xv,_v,ea.vertical||Op,Bs,24,Av);vb&&Fp(xv,vb)}}else if(Ra.type==="Polygon")for(var ym=0,G_=_i(Ra.geometry,0);ym=No.maxzoom||No.visibility!=="none"&&(y(co,this.zoom,it),(Hr[No.id]=No.createBucket({index:ht.bucketLayerIDs.length,layers:co,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Di,sourceID:this.source})).populate(Ii,si,this.tileID.canonical),ht.bucketLayerIDs.push(co.map(function(Ds){return Ds.id})))}}}var wo=n.mapObject(si.glyphDependencies,function(Ds){return Object.keys(Ds).map(Number)});Object.keys(wo).length?mt.send("getGlyphs",{uid:this.uid,stacks:wo},function(Ds,ho){Ot||(Ot=Ds,Ct=ho,Qn.call($t))}):Ct={};var Al=Object.keys(si.iconDependencies);Al.length?mt.send("getImages",{icons:Al,source:this.source,tileID:this.tileID,type:"icons"},function(Ds,ho){Ot||(Ot=Ds,ei=ho,Qn.call($t))}):ei={};var uo=Object.keys(si.patternDependencies);function Qn(){if(Ot)return Qe(Ot);if(Ct&&ei&&ui){var Ds=new f(Ct),ho=new n.ImageAtlas(ei,ui);for(var cs in Hr){var _l=Hr[cs];_l instanceof n.SymbolBucket?(y(_l.layers,this.zoom,it),n.performSymbolLayout(_l,Ct,Ds.positions,ei,ho.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):_l.hasPattern&&(_l instanceof n.LineBucket||_l instanceof n.FillBucket||_l instanceof n.FillExtrusionBucket)&&(y(_l.layers,this.zoom,it),_l.addFeatures(si,this.tileID.canonical,ho.patternPositions))}this.status="done",Qe(null,{buckets:n.values(Hr).filter(function(zc){return!zc.isEmpty()}),featureIndex:ht,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ds.image,imageAtlas:ho,glyphMap:this.returnDependencies?Ct:null,iconMap:this.returnDependencies?ei:null,glyphPositions:this.returnDependencies?Ds.positions:null})}}uo.length?mt.send("getImages",{icons:uo,source:this.source,tileID:this.tileID,type:"patterns"},function(Ds,ho){Ot||(Ot=Ds,ui=ho,Qn.call($t))}):ui={},Qn.call(this)};var F=function(Be,$e,it,mt){this.actor=Be,this.layerIndex=$e,this.availableImages=it,this.loadVectorData=mt||I,this.loading={},this.loaded={}};F.prototype.loadTile=function(Be,$e){var it=this,mt=Be.uid;this.loading||(this.loading={});var Qe=!!(Be&&Be.request&&Be.request.collectResourceTiming)&&new n.RequestPerformance(Be.request),$t=this.loading[mt]=new g(Be);$t.abort=this.loadVectorData(Be,function(Jt,ht){if(delete it.loading[mt],Jt||!ht)return $t.status="done",it.loaded[mt]=$t,$e(Jt);var Ot=ht.rawData,Ct={};ht.expires&&(Ct.expires=ht.expires),ht.cacheControl&&(Ct.cacheControl=ht.cacheControl);var ei={};if(Qe){var ui=Qe.finish();ui&&(ei.resourceTiming=JSON.parse(JSON.stringify(ui)))}$t.vectorTile=ht.vectorTile,$t.parse(ht.vectorTile,it.layerIndex,it.availableImages,it.actor,function(Hr,si){if(Hr||!si)return $e(Hr);$e(null,n.extend({rawTileData:Ot.slice(0)},si,Ct,ei))}),it.loaded=it.loaded||{},it.loaded[mt]=$t})},F.prototype.reloadTile=function(Be,$e){var it=this,mt=this.loaded,Qe=Be.uid,$t=this;if(mt&&mt[Qe]){var Jt=mt[Qe];Jt.showCollisionBoxes=Be.showCollisionBoxes;var ht=function(Ot,Ct){var ei=Jt.reloadCallback;ei&&(delete Jt.reloadCallback,Jt.parse(Jt.vectorTile,$t.layerIndex,it.availableImages,$t.actor,ei)),$e(Ot,Ct)};Jt.status==="parsing"?Jt.reloadCallback=ht:Jt.status==="done"&&(Jt.vectorTile?Jt.parse(Jt.vectorTile,this.layerIndex,this.availableImages,this.actor,ht):ht())}},F.prototype.abortTile=function(Be,$e){var it=this.loading,mt=Be.uid;it&&it[mt]&&it[mt].abort&&(it[mt].abort(),delete it[mt]),$e()},F.prototype.removeTile=function(Be,$e){var it=this.loaded,mt=Be.uid;it&&it[mt]&&delete it[mt],$e()};var k=n.window.ImageBitmap,U=function(){this.loaded={}};function K(Be,$e){if(Be.length!==0){ee(Be[0],$e);for(var it=1;it=Math.abs(ht)?it-Ot+ht:ht-Ot+it,it=Ot}it+mt>=0!=!!$e&&Be.reverse()}U.prototype.loadTile=function(Be,$e){var it=Be.uid,mt=Be.encoding,Qe=Be.rawImageData,$t=k&&Qe instanceof k?this.getImageData(Qe):Qe,Jt=new n.DEMData(it,$t,mt);this.loaded=this.loaded||{},this.loaded[it]=Jt,$e(null,Jt)},U.prototype.getImageData=function(Be){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(Be.width,Be.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=Be.width,this.offscreenCanvas.height=Be.height,this.offscreenCanvasContext.drawImage(Be,0,0,Be.width,Be.height);var $e=this.offscreenCanvasContext.getImageData(-1,-1,Be.width+2,Be.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new n.RGBAImage({width:$e.width,height:$e.height},$e.data)},U.prototype.removeTile=function(Be){var $e=this.loaded,it=Be.uid;$e&&$e[it]&&delete $e[it]};var he=n.vectorTile.VectorTileFeature.prototype.toGeoJSON,xe=function(Be){this._feature=Be,this.extent=n.EXTENT,this.type=Be.type,this.properties=Be.tags,"id"in Be&&!isNaN(Be.id)&&(this.id=parseInt(Be.id,10))};xe.prototype.loadGeometry=function(){if(this._feature.type===1){for(var Be=[],$e=0,it=this._feature.geometry;$e>31}function Mr(Be,$e){for(var it=Be.loadGeometry(),mt=Be.type,Qe=0,$t=0,Jt=it.length,ht=0;ht>1;(function Di(Ii,Mi,Ni,zi,po,Ls){for(;po>zi;){if(po-zi>600){var co=po-zi+1,No=Ni-zi+1,wo=Math.log(co),Al=.5*Math.exp(2*wo/3),uo=.5*Math.sqrt(wo*Al*(co-Al)/co)*(No-co/2<0?-1:1);Di(Ii,Mi,Ni,Math.max(zi,Math.floor(Ni-No*Al/co+uo)),Math.min(po,Math.floor(Ni+(co-No)*Al/co+uo)),Ls)}var Qn=Mi[2*Ni+Ls],Ds=zi,ho=po;for(mi(Ii,Mi,zi,Ni),Mi[2*po+Ls]>Qn&&mi(Ii,Mi,zi,po);DsQn;)ho--}Mi[2*zi+Ls]===Qn?mi(Ii,Mi,zi,ho):mi(Ii,Mi,++ho,po),ho<=Ni&&(zi=ho+1),Ni<=ho&&(po=ho-1)}})(ei,ui,pr,si,Or,fi%2),Ct(ei,ui,Hr,si,pr-1,fi+1),Ct(ei,ui,Hr,pr+1,Or,fi+1)}})(Jt,ht,mt,0,Jt.length-1,0)};xi.prototype.range=function(Be,$e,it,mt){return function(Qe,$t,Jt,ht,Ot,Ct,ei){for(var ui,Hr,si=[0,Qe.length-1,0],Or=[];si.length;){var fi=si.pop(),pr=si.pop(),Di=si.pop();if(pr-Di<=ei)for(var Ii=Di;Ii<=pr;Ii++)Hr=$t[2*Ii+1],(ui=$t[2*Ii])>=Jt&&ui<=Ot&&Hr>=ht&&Hr<=Ct&&Or.push(Qe[Ii]);else{var Mi=Math.floor((Di+pr)/2);Hr=$t[2*Mi+1],(ui=$t[2*Mi])>=Jt&&ui<=Ot&&Hr>=ht&&Hr<=Ct&&Or.push(Qe[Mi]);var Ni=(fi+1)%2;(fi===0?Jt<=ui:ht<=Hr)&&(si.push(Di),si.push(Mi-1),si.push(Ni)),(fi===0?Ot>=ui:Ct>=Hr)&&(si.push(Mi+1),si.push(pr),si.push(Ni))}}return Or}(this.ids,this.coords,Be,$e,it,mt,this.nodeSize)},xi.prototype.within=function(Be,$e,it){return function(mt,Qe,$t,Jt,ht,Ot){for(var Ct=[0,mt.length-1,0],ei=[],ui=ht*ht;Ct.length;){var Hr=Ct.pop(),si=Ct.pop(),Or=Ct.pop();if(si-Or<=Ot)for(var fi=Or;fi<=si;fi++)un(Qe[2*fi],Qe[2*fi+1],$t,Jt)<=ui&&ei.push(mt[fi]);else{var pr=Math.floor((Or+si)/2),Di=Qe[2*pr],Ii=Qe[2*pr+1];un(Di,Ii,$t,Jt)<=ui&&ei.push(mt[pr]);var Mi=(Hr+1)%2;(Hr===0?$t-ht<=Di:Jt-ht<=Ii)&&(Ct.push(Or),Ct.push(pr-1),Ct.push(Mi)),(Hr===0?$t+ht>=Di:Jt+ht>=Ii)&&(Ct.push(pr+1),Ct.push(si),Ct.push(Mi))}}return ei}(this.ids,this.coords,Be,$e,it,this.nodeSize)};var ii={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(Be){return Be}},Gn=function(Be){this.options=ln(Object.create(ii),Be),this.trees=new Array(this.options.maxZoom+1)};function Ve(Be,$e,it,mt,Qe){return{x:Be,y:$e,zoom:1/0,id:it,parentId:-1,numPoints:mt,properties:Qe}}function nt(Be,$e){var it=Be.geometry.coordinates,mt=it[1];return{x:Xr(it[0]),y:zr(mt),zoom:1/0,index:$e,parentId:-1}}function Ft(Be){return{type:"Feature",id:Be.id,properties:mr(Be),geometry:{type:"Point",coordinates:[(mt=Be.x,360*(mt-.5)),($e=Be.y,it=(180-360*$e)*Math.PI/180,360*Math.atan(Math.exp(it))/Math.PI-90)]}};var $e,it,mt}function mr(Be){var $e=Be.numPoints,it=$e>=1e4?Math.round($e/1e3)+"k":$e>=1e3?Math.round($e/100)/10+"k":$e;return ln(ln({},Be.properties),{cluster:!0,cluster_id:Be.id,point_count:$e,point_count_abbreviated:it})}function Xr(Be){return Be/360+.5}function zr(Be){var $e=Math.sin(Be*Math.PI/180),it=.5-.25*Math.log((1+$e)/(1-$e))/Math.PI;return it<0?0:it>1?1:it}function ln(Be,$e){for(var it in $e)Be[it]=$e[it];return Be}function Nn(Be){return Be.x}function Co(Be){return Be.y}function Ho(Be,$e,it,mt,Qe,$t){var Jt=Qe-it,ht=$t-mt;if(Jt!==0||ht!==0){var Ot=((Be-it)*Jt+($e-mt)*ht)/(Jt*Jt+ht*ht);Ot>1?(it=Qe,mt=$t):Ot>0&&(it+=Jt*Ot,mt+=ht*Ot)}return(Jt=Be-it)*Jt+(ht=$e-mt)*ht}function is(Be,$e,it,mt){var Qe={id:Be===void 0?null:Be,type:$e,geometry:it,tags:mt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function($t){var Jt=$t.geometry,ht=$t.type;if(ht==="Point"||ht==="MultiPoint"||ht==="LineString")mo($t,Jt);else if(ht==="Polygon"||ht==="MultiLineString")for(var Ot=0;Ot0&&(Jt+=mt?(Qe*Ct-Ot*$t)/2:Math.sqrt(Math.pow(Ot-Qe,2)+Math.pow(Ct-$t,2))),Qe=Ot,$t=Ct}var ei=$e.length-3;$e[2]=1,function ui(Hr,si,Or,fi){for(var pr,Di=fi,Ii=Or-si>>1,Mi=Or-si,Ni=Hr[si],zi=Hr[si+1],po=Hr[Or],Ls=Hr[Or+1],co=si+3;coDi)pr=co,Di=No;else if(No===Di){var wo=Math.abs(co-Ii);wofi&&(pr-si>3&&ui(Hr,si,pr,fi),Hr[pr+2]=Di,Or-pr>3&&ui(Hr,pr,Or,fi))}($e,0,ei,it),$e[ei+2]=1,$e.size=Math.abs(Jt),$e.start=0,$e.end=$e.size}function so(Be,$e,it,mt){for(var Qe=0;Qe1?1:it}function Yt(Be,$e,it,mt,Qe,$t,Jt,ht){if(mt/=$e,$t>=(it/=$e)&&Jt=mt)return null;for(var Ot=[],Ct=0;Ct=it&&Or=mt)){var fi=[];if(Hr==="Point"||Hr==="MultiPoint")Fe(ui,fi,it,mt,Qe);else if(Hr==="LineString")Ne(ui,fi,it,mt,Qe,!1,ht.lineMetrics);else if(Hr==="MultiLineString")Vt(ui,fi,it,mt,Qe,!1);else if(Hr==="Polygon")Vt(ui,fi,it,mt,Qe,!0);else if(Hr==="MultiPolygon")for(var pr=0;pr=it&&Jt<=mt&&($e.push(Be[$t]),$e.push(Be[$t+1]),$e.push(Be[$t+2]))}}function Ne(Be,$e,it,mt,Qe,$t,Jt){for(var ht,Ot,Ct=rt(Be),ei=Qe===0?yr:fr,ui=Be.start,Hr=0;Hrit&&(Ot=ei(Ct,si,Or,pr,Di,it),Jt&&(Ct.start=ui+ht*Ot)):Ii>mt?Mi=it&&(Ot=ei(Ct,si,Or,pr,Di,it),Ni=!0),Mi>mt&&Ii<=mt&&(Ot=ei(Ct,si,Or,pr,Di,mt),Ni=!0),!$t&&Ni&&(Jt&&(Ct.end=ui+ht*Ot),$e.push(Ct),Ct=rt(Be)),Jt&&(ui+=ht)}var zi=Be.length-3;si=Be[zi],Or=Be[zi+1],fi=Be[zi+2],(Ii=Qe===0?si:Or)>=it&&Ii<=mt&&Gt(Ct,si,Or,fi),zi=Ct.length-3,$t&&zi>=3&&(Ct[zi]!==Ct[0]||Ct[zi+1]!==Ct[1])&&Gt(Ct,Ct[0],Ct[1],Ct[2]),Ct.length&&$e.push(Ct)}function rt(Be){var $e=[];return $e.size=Be.size,$e.start=Be.start,$e.end=Be.end,$e}function Vt(Be,$e,it,mt,Qe,$t){for(var Jt=0;JtJt.maxX&&(Jt.maxX=ei),ui>Jt.maxY&&(Jt.maxY=ui)}return Jt}function fn(Be,$e,it,mt){var Qe=$e.geometry,$t=$e.type,Jt=[];if($t==="Point"||$t==="MultiPoint")for(var ht=0;ht0&&$e.size<(Qe?Jt:mt))it.numPoints+=$e.length/3;else{for(var ht=[],Ot=0;Ot<$e.length;Ot+=3)(mt===0||$e[Ot+2]>Jt)&&(it.numSimplified++,ht.push($e[Ot]),ht.push($e[Ot+1])),it.numPoints++;Qe&&function(Ct,ei){for(var ui=0,Hr=0,si=Ct.length,Or=si-2;Hr0===ei)for(Hr=0,si=Ct.length;Hr24)throw new Error("maxZoom should be in the 0-24 range");if($e.promoteId&&$e.generateId)throw new Error("promoteId and generateId cannot be used together.");var mt=function(Qe,$t){var Jt=[];if(Qe.type==="FeatureCollection")for(var ht=0;ht=mt;Ct--){var ei=+Date.now();ht=this._cluster(ht,Ct),this.trees[Ct]=new xi(ht,Nn,Co,$t,Float32Array),it&&console.log("z%d: %d clusters in %dms",Ct,ht.length,+Date.now()-ei)}return it&&console.timeEnd("total time"),this},Gn.prototype.getClusters=function(Be,$e){var it=((Be[0]+180)%360+360)%360-180,mt=Math.max(-90,Math.min(90,Be[1])),Qe=Be[2]===180?180:((Be[2]+180)%360+360)%360-180,$t=Math.max(-90,Math.min(90,Be[3]));if(Be[2]-Be[0]>=360)it=-180,Qe=180;else if(it>Qe){var Jt=this.getClusters([it,mt,180,$t],$e),ht=this.getClusters([-180,mt,Qe,$t],$e);return Jt.concat(ht)}for(var Ot=this.trees[this._limitZoom($e)],Ct=[],ei=0,ui=Ot.range(Xr(it),zr($t),Xr(Qe),zr(mt));ei$e&&(Hr+=fi.numPoints||1)}if(Hr>=$t){for(var pr=Ot.x*ui,Di=Ot.y*ui,Ii=Qe&&ui>1?this._map(Ot,!0):null,Mi=(ht<<5)+($e+1)+this.points.length,Ni=0,zi=ei;Ni1)for(var co=0,No=ei;co>5},Gn.prototype._getOriginZoom=function(Be){return(Be-this.points.length)%32},Gn.prototype._map=function(Be,$e){if(Be.numPoints)return $e?ln({},Be.properties):Be.properties;var it=this.points[Be.index].properties,mt=this.options.map(it);return $e&&mt===it?ln({},mt):mt},bs.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},bs.prototype.splitTile=function(Be,$e,it,mt,Qe,$t,Jt){for(var ht=[Be,$e,it,mt],Ot=this.options,Ct=Ot.debug;ht.length;){mt=ht.pop(),it=ht.pop(),$e=ht.pop(),Be=ht.pop();var ei=1<<$e,ui=go($e,it,mt),Hr=this.tiles[ui];if(!Hr&&(Ct>1&&console.time("creation"),Hr=this.tiles[ui]=Wi(Be,$e,it,mt,Ot),this.tileCoords.push({z:$e,x:it,y:mt}),Ct)){Ct>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",$e,it,mt,Hr.numFeatures,Hr.numPoints,Hr.numSimplified),console.timeEnd("creation"));var si="z"+$e;this.stats[si]=(this.stats[si]||0)+1,this.total++}if(Hr.source=Be,Qe){if($e===Ot.maxZoom||$e===Qe)continue;var Or=1<1&&console.time("clipping");var fi,pr,Di,Ii,Mi,Ni,zi=.5*Ot.buffer/Ot.extent,po=.5-zi,Ls=.5+zi,co=1+zi;fi=pr=Di=Ii=null,Mi=Yt(Be,ei,it-zi,it+Ls,0,Hr.minX,Hr.maxX,Ot),Ni=Yt(Be,ei,it+po,it+co,0,Hr.minX,Hr.maxX,Ot),Be=null,Mi&&(fi=Yt(Mi,ei,mt-zi,mt+Ls,1,Hr.minY,Hr.maxY,Ot),pr=Yt(Mi,ei,mt+po,mt+co,1,Hr.minY,Hr.maxY,Ot),Mi=null),Ni&&(Di=Yt(Ni,ei,mt-zi,mt+Ls,1,Hr.minY,Hr.maxY,Ot),Ii=Yt(Ni,ei,mt+po,mt+co,1,Hr.minY,Hr.maxY,Ot),Ni=null),Ct>1&&console.timeEnd("clipping"),ht.push(fi||[],$e+1,2*it,2*mt),ht.push(pr||[],$e+1,2*it,2*mt+1),ht.push(Di||[],$e+1,2*it+1,2*mt),ht.push(Ii||[],$e+1,2*it+1,2*mt+1)}}},bs.prototype.getTile=function(Be,$e,it){var mt=this.options,Qe=mt.extent,$t=mt.debug;if(Be<0||Be>24)return null;var Jt=1<1&&console.log("drilling down to z%d-%d-%d",Be,$e,it);for(var Ot,Ct=Be,ei=$e,ui=it;!Ot&&Ct>0;)Ct--,ei=Math.floor(ei/2),ui=Math.floor(ui/2),Ot=this.tiles[go(Ct,ei,ui)];return Ot&&Ot.source?($t>1&&console.log("found parent tile z%d-%d-%d",Ct,ei,ui),$t>1&&console.time("drilling down"),this.splitTile(Ot.source,Ct,ei,ui,Be,$e,it),$t>1&&console.timeEnd("drilling down"),this.tiles[ht]?ti(this.tiles[ht],Qe):null):null};var Us=function(Be){function $e(it,mt,Qe,$t){Be.call(this,it,mt,Qe,wr),$t&&(this.loadGeoJSON=$t)}return Be&&($e.__proto__=Be),($e.prototype=Object.create(Be&&Be.prototype)).constructor=$e,$e.prototype.loadData=function(it,mt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=mt,this._pendingLoadDataParams=it,this._state&&this._state!=="Idle"?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},$e.prototype._loadData=function(){var it=this;if(this._pendingCallback&&this._pendingLoadDataParams){var mt=this._pendingCallback,Qe=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var $t=!!(Qe&&Qe.request&&Qe.request.collectResourceTiming)&&new n.RequestPerformance(Qe.request);this.loadGeoJSON(Qe,function(Jt,ht){if(Jt||!ht)return mt(Jt);if(typeof ht!="object")return mt(new Error("Input data given to '"+Qe.source+"' is not a valid GeoJSON object."));(function Hr(si,Or){var fi,pr=si&&si.type;if(pr==="FeatureCollection")for(fi=0;fi"u"||typeof document>"u"?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var ae,ge,Pe=new Blob([""],{type:"text/javascript"}),Ue=URL.createObjectURL(Pe);try{ge=new Worker(Ue),ae=!0}catch{ae=!1}return ge&&ge.terminate(),URL.revokeObjectURL(Ue),ae}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var ae=document.createElement("canvas");ae.width=ae.height=1;var ge=ae.getContext("2d");if(!ge)return!1;var Pe=ge.getImageData(0,0,1,1);return Pe&&Pe.width===ae.width}()?(L[ie=Y&&Y.failIfMajorPerformanceCaveat]===void 0&&(L[ie]=function(ae){var ge=function(Ue){var ct=document.createElement("canvas"),ft=Object.create(M.webGLContextAttributes);return ft.failIfMajorPerformanceCaveat=Ue,ct.probablySupportsContext?ct.probablySupportsContext("webgl",ft)||ct.probablySupportsContext("experimental-webgl",ft):ct.supportsContext?ct.supportsContext("webgl",ft)||ct.supportsContext("experimental-webgl",ft):ct.getContext("webgl",ft)||ct.getContext("experimental-webgl",ft)}(ae);if(!ge)return!1;var Pe=ge.createShader(ge.VERTEX_SHADER);return!(!Pe||ge.isContextLost())&&(ge.shaderSource(Pe,"void main() {}"),ge.compileShader(Pe),ge.getShaderParameter(Pe,ge.COMPILE_STATUS)===!0)}(ie)),L[ie]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var ie}w.exports?w.exports=M:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=M,window.mapboxgl.notSupportedReason=S);var L={};M.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),s={create:function(w,M,S){var L=n.window.document.createElement(w);return M!==void 0&&(L.className=M),S&&S.appendChild(L),L},createNS:function(w,M){return n.window.document.createElementNS(w,M)}},c=n.window.document&&n.window.document.documentElement.style;function f(w){if(!c)return w[0];for(var M=0;M=0?0:w.button},s.remove=function(w){w.parentNode&&w.parentNode.removeChild(w)};var ee=function(w){function M(){w.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.RGBAImage({width:1,height:1}),this.dirty=!0}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.isLoaded=function(){return this.loaded},M.prototype.setLoaded=function(S){if(this.loaded!==S&&(this.loaded=S,S)){for(var L=0,Y=this.requestors;L=0?1.2:1))}function Oe(w,M,S,L,Y,ie,ae){for(var ge=0;ge65535)Pe(new Error("glyphs > 65535 not supported"));else if(ft.ranges[ut])Pe(null,{stack:Ue,id:ct,glyph:gt});else{var Pt=ft.requests[ut];Pt||(Pt=ft.requests[ut]=[],Ge.loadGlyphRange(Ue,ut,S.url,S.requestManager,function(Wt,St){if(St){for(var Zt in St)S._doesCharSupportLocalGlyph(+Zt)||(ft.glyphs[+Zt]=St[+Zt]);ft.ranges[ut]=!0}for(var ir=0,dr=Pt;ir1&&(ge=w[++ae]);var Ue=Math.abs(Pe-ge.left),ct=Math.abs(Pe-ge.right),ft=Math.min(Ue,ct),gt=void 0,ut=Y/S*(L+1);if(ge.isDash){var Pt=L-Math.abs(ut);gt=Math.sqrt(ft*ft+Pt*Pt)}else gt=L-Math.sqrt(ft*ft+ut*ut);this.data[ie+Pe]=Math.max(0,Math.min(255,gt+128))}},Je.prototype.addRegularDash=function(w){for(var M=w.length-1;M>=0;--M){var S=w[M],L=w[M+1];S.zeroLength?w.splice(M,1):L&&L.isDash===S.isDash&&(L.left=S.left,w.splice(M,1))}var Y=w[0],ie=w[w.length-1];Y.isDash===ie.isDash&&(Y.left=ie.left-this.width,ie.right=Y.right+this.width);for(var ae=this.width*this.nextRow,ge=0,Pe=w[ge],Ue=0;Ue1&&(Pe=w[++ge]);var ct=Math.abs(Ue-Pe.left),ft=Math.abs(Ue-Pe.right),gt=Math.min(ct,ft);this.data[ae+Ue]=Math.max(0,Math.min(255,(Pe.isDash?gt:-gt)+128))}},Je.prototype.addDash=function(w,M){var S=M?7:0,L=2*S+1;if(this.nextRow+L>this.height)return n.warnOnce("LineAtlas out of space"),null;for(var Y=0,ie=0;ie=S&&w.x=L&&w.y0&&(Ue[new n.OverscaledTileID(S.overscaledZ,ae,L.z,ie,L.y-1).key]={backfilled:!1},Ue[new n.OverscaledTileID(S.overscaledZ,S.wrap,L.z,L.x,L.y-1).key]={backfilled:!1},Ue[new n.OverscaledTileID(S.overscaledZ,Pe,L.z,ge,L.y-1).key]={backfilled:!1}),L.y+10&&(Y.resourceTiming=S._resourceTiming,S._resourceTiming=[]),S.fire(new n.Event("data",Y))}})},M.prototype.onAdd=function(S){this.map=S,this.load()},M.prototype.setData=function(S){var L=this;return this._data=S,this.fire(new n.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(Y){if(Y)L.fire(new n.ErrorEvent(Y));else{var ie={dataType:"source",sourceDataType:"content"};L._collectResourceTiming&&L._resourceTiming&&L._resourceTiming.length>0&&(ie.resourceTiming=L._resourceTiming,L._resourceTiming=[]),L.fire(new n.Event("data",ie))}}),this},M.prototype.getClusterExpansionZoom=function(S,L){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:S,source:this.id},L),this},M.prototype.getClusterChildren=function(S,L){return this.actor.send("geojson.getClusterChildren",{clusterId:S,source:this.id},L),this},M.prototype.getClusterLeaves=function(S,L,Y,ie){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:S,limit:L,offset:Y},ie),this},M.prototype._updateWorkerData=function(S){var L=this;this._loaded=!1;var Y=n.extend({},this.workerOptions),ie=this._data;typeof ie=="string"?(Y.request=this.map._requestManager.transformRequest(n.browser.resolveURL(ie),n.ResourceType.Source),Y.request.collectResourceTiming=this._collectResourceTiming):Y.data=JSON.stringify(ie),this.actor.send(this.type+".loadData",Y,function(ae,ge){L._removed||ge&&ge.abandoned||(L._loaded=!0,ge&&ge.resourceTiming&&ge.resourceTiming[L.id]&&(L._resourceTiming=ge.resourceTiming[L.id].slice(0)),L.actor.send(L.type+".coalesce",{source:Y.source},null),S(ae))})},M.prototype.loaded=function(){return this._loaded},M.prototype.loadTile=function(S,L){var Y=this,ie=S.actor?"reloadTile":"loadTile";S.actor=this.actor,S.request=this.actor.send(ie,{type:this.type,uid:S.uid,tileID:S.tileID,zoom:S.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:n.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},function(ae,ge){return delete S.request,S.unloadVectorData(),S.aborted?L(null):ae?L(ae):(S.loadVectorData(ge,Y.map.painter,ie==="reloadTile"),L(null))})},M.prototype.abortTile=function(S){S.request&&(S.request.cancel(),delete S.request),S.aborted=!0},M.prototype.unloadTile=function(S){S.unloadVectorData(),this.actor.send("removeTile",{uid:S.uid,type:this.type,source:this.id})},M.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},M.prototype.serialize=function(){return n.extend({},this._options,{type:this.type,data:this._data})},M.prototype.hasTransition=function(){return!1},M}(n.Evented),bi=n.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),un=function(w){function M(S,L,Y,ie){w.call(this),this.id=S,this.dispatcher=Y,this.coordinates=L.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ie),this.options=L}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.load=function(S,L){var Y=this;this._loaded=!1,this.fire(new n.Event("dataloading",{dataType:"source"})),this.url=this.options.url,n.getImage(this.map._requestManager.transformRequest(this.url,n.ResourceType.Image),function(ie,ae){Y._loaded=!0,ie?Y.fire(new n.ErrorEvent(ie)):ae&&(Y.image=ae,S&&(Y.coordinates=S),L&&L(),Y._finishLoading())})},M.prototype.loaded=function(){return this._loaded},M.prototype.updateImage=function(S){var L=this;return this.image&&S.url?(this.options.url=S.url,this.load(S.coordinates,function(){L.texture=null}),this):this},M.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})))},M.prototype.onAdd=function(S){this.map=S,this.load()},M.prototype.setCoordinates=function(S){var L=this;this.coordinates=S;var Y=S.map(n.MercatorCoordinate.fromLngLat);this.tileID=function(ae){for(var ge=1/0,Pe=1/0,Ue=-1/0,ct=-1/0,ft=0,gt=ae;ftL.end(0)?this.fire(new n.ErrorEvent(new n.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+L.start(0)+" and "+L.end(0)+"-second mark."))):this.video.currentTime=S}},M.prototype.getVideo=function(){return this.video},M.prototype.onAdd=function(S){this.map||(this.map=S,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},M.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var S=this.map.painter.context,L=S.gl;for(var Y in this.boundsBuffer||(this.boundsBuffer=S.createVertexBuffer(this._boundsArray,bi.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(L.LINEAR,L.CLAMP_TO_EDGE),L.texSubImage2D(L.TEXTURE_2D,0,0,0,L.RGBA,L.UNSIGNED_BYTE,this.video)):(this.texture=new n.Texture(S,this.video,L.RGBA),this.texture.bind(L.LINEAR,L.CLAMP_TO_EDGE)),this.tiles){var ie=this.tiles[Y];ie.state!=="loaded"&&(ie.state="loaded",ie.texture=this.texture)}}},M.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},M.prototype.hasTransition=function(){return this.video&&!this.video.paused},M}(un),Xi=function(w){function M(S,L,Y,ie){w.call(this,S,L,Y,ie),L.coordinates?Array.isArray(L.coordinates)&&L.coordinates.length===4&&!L.coordinates.some(function(ae){return!Array.isArray(ae)||ae.length!==2||ae.some(function(ge){return typeof ge!="number"})})||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+S,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.ErrorEvent(new n.ValidationError("sources."+S,null,'missing required property "coordinates"'))),L.animate&&typeof L.animate!="boolean"&&this.fire(new n.ErrorEvent(new n.ValidationError("sources."+S,null,'optional "animate" property must be a boolean value'))),L.canvas?typeof L.canvas=="string"||L.canvas instanceof n.window.HTMLCanvasElement||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+S,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 n.ErrorEvent(new n.ValidationError("sources."+S,null,'missing required property "canvas"'))),this.options=L,this.animate=L.animate===void 0||L.animate}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof n.window.HTMLCanvasElement?this.options.canvas:n.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.ErrorEvent(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())},M.prototype.getCanvas=function(){return this.canvas},M.prototype.onAdd=function(S){this.map=S,this.load(),this.canvas&&this.animate&&this.play()},M.prototype.onRemove=function(){this.pause()},M.prototype.prepare=function(){var S=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,S=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,S=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var L=this.map.painter.context,Y=L.gl;for(var ie in this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,bi.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(S||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new n.Texture(L,this.canvas,Y.RGBA,{premultiply:!0}),this.tiles){var ae=this.tiles[ie];ae.state!=="loaded"&&(ae.state="loaded",ae.texture=this.texture)}}},M.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},M.prototype.hasTransition=function(){return this._playing},M.prototype._hasInvalidDimensions=function(){for(var S=0,L=[this.canvas.width,this.canvas.height];Sthis.max){var ae=this._getAndRemoveByKey(this.order[0]);ae&&this.onRemove(ae)}return this},nt.prototype.has=function(w){return w.wrapped().key in this.data},nt.prototype.getAndRemove=function(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null},nt.prototype._getAndRemoveByKey=function(w){var M=this.data[w].shift();return M.timeout&&clearTimeout(M.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),M.value},nt.prototype.getByKey=function(w){var M=this.data[w];return M?M[0].value:null},nt.prototype.get=function(w){return this.has(w)?this.data[w.wrapped().key][0].value:null},nt.prototype.remove=function(w,M){if(!this.has(w))return this;var S=w.wrapped().key,L=M===void 0?0:this.data[S].indexOf(M),Y=this.data[S][L];return this.data[S].splice(L,1),Y.timeout&&clearTimeout(Y.timeout),this.data[S].length===0&&delete this.data[S],this.onRemove(Y.value),this.order.splice(this.order.indexOf(S),1),this},nt.prototype.setMaxSize=function(w){for(this.max=w;this.order.length>this.max;){var M=this._getAndRemoveByKey(this.order[0]);M&&this.onRemove(M)}return this},nt.prototype.filter=function(w){var M=[];for(var S in this.data)for(var L=0,Y=this.data[S];L1||(Math.abs(ct)>1&&(Math.abs(ct+gt)===1?ct+=gt:Math.abs(ct-gt)===1&&(ct-=gt)),Ue.dem&&Pe.dem&&(Pe.dem.backfillBorder(Ue.dem,ct,ft),Pe.neighboringTiles&&Pe.neighboringTiles[ut]&&(Pe.neighboringTiles[ut].backfilled=!0)))}},M.prototype.getTile=function(S){return this.getTileByID(S.key)},M.prototype.getTileByID=function(S){return this._tiles[S]},M.prototype._retainLoadedChildren=function(S,L,Y,ie){for(var ae in this._tiles){var ge=this._tiles[ae];if(!(ie[ae]||!ge.hasData()||ge.tileID.overscaledZ<=L||ge.tileID.overscaledZ>Y)){for(var Pe=ge.tileID;ge&&ge.tileID.overscaledZ>L+1;){var Ue=ge.tileID.scaledTo(ge.tileID.overscaledZ-1);(ge=this._tiles[Ue.key])&&ge.hasData()&&(Pe=Ue)}for(var ct=Pe;ct.overscaledZ>L;)if(S[(ct=ct.scaledTo(ct.overscaledZ-1)).key]){ie[Pe.key]=Pe;break}}}},M.prototype.findLoadedParent=function(S,L){if(S.key in this._loadedParentTiles){var Y=this._loadedParentTiles[S.key];return Y&&Y.tileID.overscaledZ>=L?Y:null}for(var ie=S.overscaledZ-1;ie>=L;ie--){var ae=S.scaledTo(ie),ge=this._getLoadedTile(ae);if(ge)return ge}},M.prototype._getLoadedTile=function(S){var L=this._tiles[S.key];return L&&L.hasData()?L:this._cache.getByKey(S.wrapped().key)},M.prototype.updateCacheSize=function(S){var L=Math.ceil(S.width/this._source.tileSize)+1,Y=Math.ceil(S.height/this._source.tileSize)+1,ie=Math.floor(L*Y*5),ae=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,ie):ie;this._cache.setMaxSize(ae)},M.prototype.handleWrapJump=function(S){var L=Math.round((S-(this._prevLng===void 0?S:this._prevLng))/360);if(this._prevLng=S,L){var Y={};for(var ie in this._tiles){var ae=this._tiles[ie];ae.tileID=ae.tileID.unwrapTo(ae.tileID.wrap+L),Y[ae.tileID.key]=ae}for(var ge in this._tiles=Y,this._timers)clearTimeout(this._timers[ge]),delete this._timers[ge];for(var Pe in this._tiles)this._setTileReloadTimer(Pe,this._tiles[Pe])}},M.prototype.update=function(S){var L=this;if(this.transform=S,this._sourceLoaded&&!this._paused){var Y;this.updateCacheSize(S),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?Y=S.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(ai){return new n.OverscaledTileID(ai.canonical.z,ai.wrap,ai.canonical.z,ai.canonical.x,ai.canonical.y)}):(Y=S.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(Y=Y.filter(function(ai){return L._source.hasTile(ai)}))):Y=[];var ie=S.coveringZoomLevel(this._source),ae=Math.max(ie-M.maxOverzooming,this._source.minzoom),ge=Math.max(ie+M.maxUnderzooming,this._source.minzoom),Pe=this._updateRetainedTiles(Y,ie);if(ei(this._source.type)){for(var Ue={},ct={},ft=0,gt=Object.keys(Pe);ftthis._source.maxzoom){var Zt=Wt.children(this._source.maxzoom)[0],ir=this.getTile(Zt);if(ir&&ir.hasData()){Y[Zt.key]=Zt;continue}}else{var dr=Wt.children(this._source.maxzoom);if(Y[dr[0].key]&&Y[dr[1].key]&&Y[dr[2].key]&&Y[dr[3].key])continue}for(var kr=St.wasRequested(),Lr=Wt.overscaledZ-1;Lr>=ae;--Lr){var Wr=Wt.scaledTo(Lr);if(ie[Wr.key]||(ie[Wr.key]=!0,!(St=this.getTile(Wr))&&kr&&(St=this._addTile(Wr)),St&&(Y[Wr.key]=Wr,kr=St.wasRequested(),St.hasData())))break}}}return Y},M.prototype._updateLoadedParentTileCache=function(){for(var S in this._loadedParentTiles={},this._tiles){for(var L=[],Y=void 0,ie=this._tiles[S].tileID;ie.overscaledZ>0;){if(ie.key in this._loadedParentTiles){Y=this._loadedParentTiles[ie.key];break}L.push(ie.key);var ae=ie.scaledTo(ie.overscaledZ-1);if(Y=this._getLoadedTile(ae))break;ie=ae}for(var ge=0,Pe=L;ge0||(L.hasData()&&L.state!=="reloading"?this._cache.add(L.tileID,L,L.getExpiryTimeout()):(L.aborted=!0,this._abortTile(L),this._unloadTile(L))))},M.prototype.clearTiles=function(){for(var S in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(S);this._cache.reset()},M.prototype.tilesIn=function(S,L,Y){var ie=this,ae=[],ge=this.transform;if(!ge)return ae;for(var Pe=Y?ge.getCameraQueryGeometry(S):S,Ue=S.map(function(Lr){return ge.pointCoordinate(Lr)}),ct=Pe.map(function(Lr){return ge.pointCoordinate(Lr)}),ft=this.getIds(),gt=1/0,ut=1/0,Pt=-1/0,Wt=-1/0,St=0,Zt=ct;St=0&&$i[1].y+Si>=0){var bn=Ue.map(function(xn){return ai.getTilePoint(xn)}),Tn=ct.map(function(xn){return ai.getTilePoint(xn)});ae.push({tile:Wr,tileID:ai,queryGeometry:bn,cameraQueryGeometry:Tn,scale:Ci})}}},kr=0;kr=n.browser.now())return!0}return!1},M.prototype.setFeatureState=function(S,L,Y){this._state.updateState(S=S||"_geojsonTileLayer",L,Y)},M.prototype.removeFeatureState=function(S,L,Y){this._state.removeFeatureState(S=S||"_geojsonTileLayer",L,Y)},M.prototype.getFeatureState=function(S,L){return this._state.getState(S=S||"_geojsonTileLayer",L)},M.prototype.setDependencies=function(S,L,Y){var ie=this._tiles[S];ie&&ie.setDependencies(L,Y)},M.prototype.reloadTilesForDependencies=function(S,L){for(var Y in this._tiles)this._tiles[Y].hasDependency(S,L)&&this._reloadTile(Y,"reloading");this._cache.filter(function(ie){return!ie.hasDependency(S,L)})},M}(n.Evented);function Ct(w,M){var S=Math.abs(2*w.wrap)-+(w.wrap<0),L=Math.abs(2*M.wrap)-+(M.wrap<0);return w.overscaledZ-M.overscaledZ||L-S||M.canonical.y-w.canonical.y||M.canonical.x-w.canonical.x}function ei(w){return w==="raster"||w==="image"||w==="video"}function ui(){return new n.window.Worker(Qh.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Hr="mapboxgl_preloaded_worker_pool",si=function(){this.active={}};si.prototype.acquire=function(w){if(!this.workers)for(this.workers=[];this.workers.length0?(L-ie)/ae:0;return this.points[Y].mult(1-ge).add(this.points[M].mult(ge))};var uo=function(w,M,S){var L=this.boxCells=[],Y=this.circleCells=[];this.xCellCount=Math.ceil(w/S),this.yCellCount=Math.ceil(M/S);for(var ie=0;ie=-M[0]&&S<=M[0]&&L>=-M[1]&&L<=M[1]}function zc(w,M,S,L,Y,ie,ae,ge){var Pe=L?w.textSizeData:w.iconSizeData,Ue=n.evaluateSizeForZoom(Pe,S.transform.zoom),ct=[256/S.width*2+1,256/S.height*2+1],ft=L?w.text.dynamicLayoutVertexArray:w.icon.dynamicLayoutVertexArray;ft.clear();for(var gt=w.lineVertexArray,ut=L?w.text.placedSymbolArray:w.icon.placedSymbolArray,Pt=S.transform.width/S.transform.height,Wt=!1,St=0;StMath.abs(S.x-M.x)*L?{useVertical:!0}:(w===n.WritingMode.vertical?M.yS.x)?{needsFlipping:!0}:null}function md(w,M,S,L,Y,ie,ae,ge,Pe,Ue,ct,ft,gt,ut){var Pt,Wt=M/24,St=w.lineOffsetX*Wt,Zt=w.lineOffsetY*Wt;if(w.numGlyphs>1){var ir=w.glyphStartIndex+w.numGlyphs,dr=w.lineStartIndex,kr=w.lineStartIndex+w.lineLength,Lr=yl(Wt,ge,St,Zt,S,ct,ft,w,Pe,ie,gt);if(!Lr)return{notEnoughRoom:!0};var Wr=ho(Lr.first.point,ae).point,ai=ho(Lr.last.point,ae).point;if(L&&!S){var Ci=Ya(w.writingMode,Wr,ai,ut);if(Ci)return Ci}Pt=[Lr.first];for(var Si=w.glyphStartIndex+1;Si0?xn.point:os(ft,Tn,$i,1,Y),qi=Ya(w.writingMode,$i,zo,ut);if(qi)return qi}var Sn=ca(Wt*ge.getoffsetX(w.glyphStartIndex),St,Zt,S,ct,ft,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,Pe,ie,gt);if(!Sn)return{notEnoughRoom:!0};Pt=[Sn]}for(var $n=0,Gi=Pt;$n0?1:-1,Pt=0;L&&(ut*=-1,Pt=Math.PI),ut<0&&(Pt+=Math.PI);for(var Wt=ut>0?ge+ae:ge+ae+1,St=Y,Zt=Y,ir=0,dr=0,kr=Math.abs(gt),Lr=[];ir+dr<=kr;){if((Wt+=ut)=Pe)return null;if(Zt=St,Lr.push(St),(St=ft[Wt])===void 0){var Wr=new n.Point(Ue.getx(Wt),Ue.gety(Wt)),ai=ho(Wr,ct);if(ai.signedDistanceFromCamera>0)St=ft[Wt]=ai.point;else{var Ci=Wt-ut;St=os(ir===0?ie:new n.Point(Ue.getx(Ci),Ue.gety(Ci)),Wr,Zt,kr-ir+1,ct)}}ir+=dr,dr=Zt.dist(St)}var Si=(kr-ir)/dr,$i=St.sub(Zt),bn=$i.mult(Si)._add(Zt);bn._add($i._unit()._perp()._mult(S*ut));var Tn=Pt+Math.atan2(St.y-Zt.y,St.x-Zt.x);return Lr.push(bn),{point:bn,angle:Tn,path:Lr}}uo.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},uo.prototype.insert=function(w,M,S,L,Y){this._forEachCell(M,S,L,Y,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(M),this.bboxes.push(S),this.bboxes.push(L),this.bboxes.push(Y)},uo.prototype.insertCircle=function(w,M,S,L){this._forEachCell(M-L,S-L,M+L,S+L,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(M),this.circles.push(S),this.circles.push(L)},uo.prototype._insertBoxCell=function(w,M,S,L,Y,ie){this.boxCells[Y].push(ie)},uo.prototype._insertCircleCell=function(w,M,S,L,Y,ie){this.circleCells[Y].push(ie)},uo.prototype._query=function(w,M,S,L,Y,ie){if(S<0||w>this.width||L<0||M>this.height)return!Y&&[];var ae=[];if(w<=0&&M<=0&&this.width<=S&&this.height<=L){if(Y)return!0;for(var ge=0;ge0:ae},uo.prototype._queryCircle=function(w,M,S,L,Y){var ie=w-S,ae=w+S,ge=M-S,Pe=M+S;if(ae<0||ie>this.width||Pe<0||ge>this.height)return!L&&[];var Ue=[];return this._forEachCell(ie,ge,ae,Pe,this._queryCellCircle,Ue,{hitTest:L,circle:{x:w,y:M,radius:S},seenUids:{box:{},circle:{}}},Y),L?Ue.length>0:Ue},uo.prototype.query=function(w,M,S,L,Y){return this._query(w,M,S,L,!1,Y)},uo.prototype.hitTest=function(w,M,S,L,Y){return this._query(w,M,S,L,!0,Y)},uo.prototype.hitTestCircle=function(w,M,S,L){return this._queryCircle(w,M,S,!0,L)},uo.prototype._queryCell=function(w,M,S,L,Y,ie,ae,ge){var Pe=ae.seenUids,Ue=this.boxCells[Y];if(Ue!==null)for(var ct=this.bboxes,ft=0,gt=Ue;ft=ct[Pt+0]&&L>=ct[Pt+1]&&(!ge||ge(this.boxKeys[ut]))){if(ae.hitTest)return ie.push(!0),!0;ie.push({key:this.boxKeys[ut],x1:ct[Pt],y1:ct[Pt+1],x2:ct[Pt+2],y2:ct[Pt+3]})}}}var Wt=this.circleCells[Y];if(Wt!==null)for(var St=this.circles,Zt=0,ir=Wt;Ztae*ae+ge*ge},uo.prototype._circleAndRectCollide=function(w,M,S,L,Y,ie,ae){var ge=(ie-L)/2,Pe=Math.abs(w-(L+ge));if(Pe>ge+S)return!1;var Ue=(ae-Y)/2,ct=Math.abs(M-(Y+Ue));if(ct>Ue+S)return!1;if(Pe<=ge||ct<=Ue)return!0;var ft=Pe-ge,gt=ct-Ue;return ft*ft+gt*gt<=S*S};var mf=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Ll(w,M){for(var S=0;S=1;zo--)xn.push(bn.path[zo]);for(var qi=1;qi0){for(var Hn=xn[0].clone(),eo=xn[0].clone(),Dn=1;Dn=Ci.x&&eo.x<=Si.x&&Hn.y>=Ci.y&&eo.y<=Si.y?[xn]:eo.xSi.x||eo.ySi.y?[]:n.clipLine([xn],Ci.x,Ci.y,Si.x,Si.y)}for(var Rn=0,Il=Gi;Rn=this.screenRightBoundary||L<100||M>this.screenBottomBoundary},eu.prototype.isInsideGrid=function(w,M,S,L){return S>=0&&w=0&&M0?(this.prevPlacement&&this.prevPlacement.variableOffsets[ft.crossTileID]&&this.prevPlacement.placements[ft.crossTileID]&&this.prevPlacement.placements[ft.crossTileID].text&&(Wt=this.prevPlacement.variableOffsets[ft.crossTileID].anchor),this.variableOffsets[ft.crossTileID]={textOffset:St,width:S,height:L,anchor:w,textBoxScale:Y,prevAnchor:Wt},this.markUsedJustification(gt,w,ft,ut),gt.allowVerticalPlacement&&(this.markUsedOrientation(gt,ut,ft),this.placedOrientations[ft.crossTileID]=ut),{shift:Zt,placedGlyphBoxes:ir}):void 0},Sc.prototype.placeLayerBucketPart=function(w,M,S){var L=this,Y=w.parameters,ie=Y.bucket,ae=Y.layout,ge=Y.posMatrix,Pe=Y.textLabelPlaneMatrix,Ue=Y.labelToScreenMatrix,ct=Y.textPixelRatio,ft=Y.holdingForFade,gt=Y.collisionBoxArray,ut=Y.partiallyEvaluatedTextSize,Pt=Y.collisionGroup,Wt=ae.get("text-optional"),St=ae.get("icon-optional"),Zt=ae.get("text-allow-overlap"),ir=ae.get("icon-allow-overlap"),dr=ae.get("text-rotation-alignment")==="map",kr=ae.get("text-pitch-alignment")==="map",Lr=ae.get("icon-text-fit")!=="none",Wr=ae.get("symbol-z-order")==="viewport-y",ai=Zt&&(ir||!ie.hasIconData()||St),Ci=ir&&(Zt||!ie.hasTextData()||Wt);!ie.collisionArrays&>&&ie.deserializeCollisionBoxes(gt);var Si=function(qi,Sn){if(!M[qi.crossTileID])if(ft)L.placements[qi.crossTileID]=new pm(!1,!1,!1);else{var $n,Gi=!1,Hn=!1,eo=!0,Dn=null,Rn={box:null,offscreen:null},Il={box:null,offscreen:null},Ga=null,yc=null,cl=0,Vs=0,Ta=0;Sn.textFeatureIndex?cl=Sn.textFeatureIndex:qi.useRuntimeCollisionCircles&&(cl=qi.featureIndex),Sn.verticalTextFeatureIndex&&(Vs=Sn.verticalTextFeatureIndex);var tn=Sn.textBox;if(tn){var _n=function(_s){var yu=n.WritingMode.horizontal;if(ie.allowVerticalPlacement&&!_s&&L.prevPlacement){var Ml=L.prevPlacement.placedOrientations[qi.crossTileID];Ml&&(L.placedOrientations[qi.crossTileID]=Ml,L.markUsedOrientation(ie,yu=Ml,qi))}return yu},Ju=function(_s,yu){if(ie.allowVerticalPlacement&&qi.numVerticalGlyphVertices>0&&Sn.verticalTextBox)for(var Ml=0,ef=ie.writingModes;Ml0&&(jc=jc.filter(function(_s){return _s!==Hc.anchor})).unshift(Hc.anchor)}var Fa=function(_s,yu,Ml){for(var ef=_s.x2-_s.x1,t0=_s.y2-_s.y1,Lp=qi.textBoxScale,th=Lr&&!ir?yu:null,Kf={box:[],offscreen:!1},wf=Zt?2*jc.length:jc.length,tf=0;tf=jc.length,qi,ie,Ml,th);if(Tf&&(Kf=Tf.placedGlyphBoxes)&&Kf.box&&Kf.box.length){Gi=!0,Dn=Tf.shift;break}}return Kf};Ju(function(){return Fa(tn,Sn.iconBox,n.WritingMode.horizontal)},function(){var _s=Sn.verticalTextBox;return ie.allowVerticalPlacement&&!(Rn&&Rn.box&&Rn.box.length)&&qi.numVerticalGlyphVertices>0&&_s?Fa(_s,Sn.verticalIconBox,n.WritingMode.vertical):{box:null,offscreen:null}}),Rn&&(Gi=Rn.box,eo=Rn.offscreen);var Gc=_n(Rn&&Rn.box);if(!Gi&&L.prevPlacement){var bd=L.prevPlacement.variableOffsets[qi.crossTileID];bd&&(L.variableOffsets[qi.crossTileID]=bd,L.markUsedJustification(ie,bd.anchor,qi,Gc))}}else{var wd=function(_s,yu){var Ml=L.collisionIndex.placeCollisionBox(_s,Zt,ct,ge,Pt.predicate);return Ml&&Ml.box&&Ml.box.length&&(L.markUsedOrientation(ie,yu,qi),L.placedOrientations[qi.crossTileID]=yu),Ml};Ju(function(){return wd(tn,n.WritingMode.horizontal)},function(){var _s=Sn.verticalTextBox;return ie.allowVerticalPlacement&&qi.numVerticalGlyphVertices>0&&_s?wd(_s,n.WritingMode.vertical):{box:null,offscreen:null}}),_n(Rn&&Rn.box&&Rn.box.length)}}if(Gi=($n=Rn)&&$n.box&&$n.box.length>0,eo=$n&&$n.offscreen,qi.useRuntimeCollisionCircles){var Td=ie.text.placedSymbolArray.get(qi.centerJustifiedTextSymbolIndex),Ou=n.evaluateSizeForFeature(ie.textSizeData,ut,Td),iu=ae.get("text-padding");Ga=L.collisionIndex.placeCollisionCircles(Zt,Td,ie.lineVertexArray,ie.glyphOffsetArray,Ou,ge,Pe,Ue,S,kr,Pt.predicate,qi.collisionCircleDiameter,iu),Gi=Zt||Ga.circles.length>0&&!Ga.collisionDetected,eo=eo&&Ga.offscreen}if(Sn.iconFeatureIndex&&(Ta=Sn.iconFeatureIndex),Sn.iconBox){var Sa=function(_s){var yu=Lr&&Dn?Mu(_s,Dn.x,Dn.y,dr,kr,L.transform.angle):_s;return L.collisionIndex.placeCollisionBox(yu,ir,ct,ge,Pt.predicate)};Hn=Il&&Il.box&&Il.box.length&&Sn.verticalIconBox?(yc=Sa(Sn.verticalIconBox)).box.length>0:(yc=Sa(Sn.iconBox)).box.length>0,eo=eo&&yc.offscreen}var na=Wt||qi.numHorizontalGlyphVertices===0&&qi.numVerticalGlyphVertices===0,zl=St||qi.numIconVertices===0;if(na||zl?zl?na||(Hn=Hn&&Gi):Gi=Hn&&Gi:Hn=Gi=Hn&&Gi,Gi&&$n&&$n.box&&L.collisionIndex.insertCollisionBox($n.box,ae.get("text-ignore-placement"),ie.bucketInstanceId,Il&&Il.box&&Vs?Vs:cl,Pt.ID),Hn&&yc&&L.collisionIndex.insertCollisionBox(yc.box,ae.get("icon-ignore-placement"),ie.bucketInstanceId,Ta,Pt.ID),Ga&&(Gi&&L.collisionIndex.insertCollisionCircles(Ga.circles,ae.get("text-ignore-placement"),ie.bucketInstanceId,cl,Pt.ID),S)){var eh=ie.bucketInstanceId,Jh=L.collisionCircleArrays[eh];Jh===void 0&&(Jh=L.collisionCircleArrays[eh]=new pu);for(var Ul=0;Ul=0;--bn){var Tn=$i[bn];Si(ie.symbolInstances.get(Tn),ie.collisionArrays[Tn])}else for(var xn=w.symbolInstanceStart;xn=0&&(w.text.placedSymbolArray.get(ge).crossTileID=Y>=0&&ge!==Y?0:S.crossTileID)}},Sc.prototype.markUsedOrientation=function(w,M,S){for(var L=M===n.WritingMode.horizontal||M===n.WritingMode.horizontalOnly?M:0,Y=M===n.WritingMode.vertical?M:0,ie=0,ae=[S.leftJustifiedTextSymbolIndex,S.centerJustifiedTextSymbolIndex,S.rightJustifiedTextSymbolIndex];ie0,Ci=L.placedOrientations[ir.crossTileID],Si=Ci===n.WritingMode.vertical,$i=Ci===n.WritingMode.horizontal||Ci===n.WritingMode.horizontalOnly;if(dr>0||kr>0){var bn=Ep(Wr.text);ut(w.text,dr,Si?Ql:bn),ut(w.text,kr,$i?Ql:bn);var Tn=Wr.text.isHidden();[ir.rightJustifiedTextSymbolIndex,ir.centerJustifiedTextSymbolIndex,ir.leftJustifiedTextSymbolIndex].forEach(function(Rn){Rn>=0&&(w.text.placedSymbolArray.get(Rn).hidden=Tn||Si?1:0)}),ir.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(ir.verticalPlacedTextSymbolIndex).hidden=Tn||$i?1:0);var xn=L.variableOffsets[ir.crossTileID];xn&&L.markUsedJustification(w,xn.anchor,ir,Ci);var zo=L.placedOrientations[ir.crossTileID];zo&&(L.markUsedJustification(w,"left",ir,zo),L.markUsedOrientation(w,zo,ir))}if(ai){var qi=Ep(Wr.icon),Sn=!(ft&&ir.verticalPlacedIconSymbolIndex&&Si);ir.placedIconSymbolIndex>=0&&(ut(w.icon,ir.numIconVertices,Sn?qi:Ql),w.icon.placedSymbolArray.get(ir.placedIconSymbolIndex).hidden=Wr.icon.isHidden()),ir.verticalPlacedIconSymbolIndex>=0&&(ut(w.icon,ir.numVerticalIconVertices,Sn?Ql:qi),w.icon.placedSymbolArray.get(ir.verticalPlacedIconSymbolIndex).hidden=Wr.icon.isHidden())}if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){var $n=w.collisionArrays[Zt];if($n){var Gi=new n.Point(0,0);if($n.textBox||$n.verticalTextBox){var Hn=!0;if(Pe){var eo=L.variableOffsets[Lr];eo?(Gi=Ma(eo.anchor,eo.width,eo.height,eo.textOffset,eo.textBoxScale),Ue&&Gi._rotate(ct?L.transform.angle:-L.transform.angle)):Hn=!1}$n.textBox&&pc(w.textCollisionBox.collisionVertexArray,Wr.text.placed,!Hn||Si,Gi.x,Gi.y),$n.verticalTextBox&&pc(w.textCollisionBox.collisionVertexArray,Wr.text.placed,!Hn||$i,Gi.x,Gi.y)}var Dn=Boolean(!$i&&$n.verticalIconBox);$n.iconBox&&pc(w.iconCollisionBox.collisionVertexArray,Wr.icon.placed,Dn,ft?Gi.x:0,ft?Gi.y:0),$n.verticalIconBox&&pc(w.iconCollisionBox.collisionVertexArray,Wr.icon.placed,!Dn,ft?Gi.x:0,ft?Gi.y:0)}}},Wt=0;Wtw},Sc.prototype.setStale=function(){this.stale=!0};var gf=Math.pow(2,25),gd=Math.pow(2,24),jh=Math.pow(2,17),Hh=Math.pow(2,16),Io=Math.pow(2,9),Sp=Math.pow(2,8),eg=Math.pow(2,1);function Ep(w){if(w.opacity===0&&!w.placed)return 0;if(w.opacity===1&&w.placed)return 4294967295;var M=w.placed?1:0,S=Math.floor(127*w.opacity);return S*gf+M*gd+S*jh+M*Hh+S*Io+M*Sp+S*eg+M}var Ql=0,Jl=function(w){this._sortAcrossTiles=w.layout.get("symbol-z-order")!=="viewport-y"&&w.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Jl.prototype.continuePlacement=function(w,M,S,L,Y){for(var ie=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var ae=M[w[this._currentPlacementIndex]],ge=this.placement.collisionIndex.transform.zoom;if(ae.type==="symbol"&&(!ae.minzoom||ae.minzoom<=ge)&&(!ae.maxzoom||ae.maxzoom>ge)){if(this._inProgressLayer||(this._inProgressLayer=new Jl(ae)),this._inProgressLayer.continuePlacement(S[ae.source],this.placement,this._showCollisionBoxes,ae,ie))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},_a.prototype.commit=function(w){return this.placement.commit(w),this.placement};var Zn=512/n.EXTENT/2,Gs=function(w,M,S){this.tileID=w,this.indexedSymbolInstances={},this.bucketInstanceId=S;for(var L=0;Lw.overscaledZ)for(var ge in ae){var Pe=ae[ge];Pe.tileID.isChildOf(w)&&Pe.findMatches(M.symbolInstances,w,Y)}else{var Ue=ae[w.scaledTo(Number(ie)).key];Ue&&Ue.findMatches(M.symbolInstances,w,Y)}}for(var ct=0;ct1?"@2x":"",ft=n.getJSON(ie.transformRequest(ie.normalizeSpriteURL(Y,ct,".json"),n.ResourceType.SpriteJSON),function(Pt,Wt){ft=null,Ue||(Ue=Pt,ge=Wt,ut())}),gt=n.getImage(ie.transformRequest(ie.normalizeSpriteURL(Y,ct,".png"),n.ResourceType.SpriteImage),function(Pt,Wt){gt=null,Ue||(Ue=Pt,Pe=Wt,ut())});function ut(){if(Ue)ae(Ue);else if(ge&&Pe){var Pt=n.browser.getImageData(Pe),Wt={};for(var St in ge){var Zt=ge[St],ir=Zt.width,dr=Zt.height,kr=Zt.x,Lr=Zt.y,Wr=Zt.sdf,ai=Zt.pixelRatio,Ci=Zt.stretchX,Si=Zt.stretchY,$i=Zt.content,bn=new n.RGBAImage({width:ir,height:dr});n.RGBAImage.copy(Pt,bn,{x:kr,y:Lr},{x:0,y:0},{width:ir,height:dr}),Wt[St]={data:bn,pixelRatio:ai,sdf:Wr,stretchX:Ci,stretchY:Si,content:$i}}ae(null,Wt)}}return{cancel:function(){ft&&(ft.cancel(),ft=null),gt&&(gt.cancel(),gt=null)}}}(S,this.map._requestManager,function(Y,ie){if(L._spriteRequest=null,Y)L.fire(new n.ErrorEvent(Y));else if(ie)for(var ae in ie)L.imageManager.addImage(ae,ie[ae]);L.imageManager.setLoaded(!0),L._availableImages=L.imageManager.listImages(),L.dispatcher.broadcast("setImages",L._availableImages),L.fire(new n.Event("data",{dataType:"style"}))})},M.prototype._validateLayer=function(S){var L=this.sourceCaches[S.source];if(L){var Y=S.sourceLayer;if(Y){var ie=L.getSource();(ie.type==="geojson"||ie.vectorLayerIds&&ie.vectorLayerIds.indexOf(Y)===-1)&&this.fire(new n.ErrorEvent(new Error('Source layer "'+Y+'" does not exist on source "'+ie.id+'" as specified by style layer "'+S.id+'"')))}}},M.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var S in this.sourceCaches)if(!this.sourceCaches[S].loaded())return!1;return!!this.imageManager.isLoaded()},M.prototype._serializeLayers=function(S){for(var L=[],Y=0,ie=S;Y0)throw new Error("Unimplemented: "+ie.map(function(ae){return ae.command}).join(", ")+".");return Y.forEach(function(ae){ae.command!=="setTransition"&&L[ae.command].apply(L,ae.args)}),this.stylesheet=S,!0},M.prototype.addImage=function(S,L){if(this.getImage(S))return this.fire(new n.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(S,L),this._afterImageUpdated(S)},M.prototype.updateImage=function(S,L){this.imageManager.updateImage(S,L)},M.prototype.getImage=function(S){return this.imageManager.getImage(S)},M.prototype.removeImage=function(S){if(!this.getImage(S))return this.fire(new n.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(S),this._afterImageUpdated(S)},M.prototype._afterImageUpdated=function(S){this._availableImages=this.imageManager.listImages(),this._changedImages[S]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new n.Event("data",{dataType:"style"}))},M.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},M.prototype.addSource=function(S,L,Y){var ie=this;if(Y===void 0&&(Y={}),this._checkLoaded(),this.sourceCaches[S]!==void 0)throw new Error("There is already a source with this ID");if(!L.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(L).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(L.type)>=0&&this._validate(n.validateStyle.source,"sources."+S,L,null,Y))){this.map&&this.map._collectResourceTiming&&(L.collectResourceTiming=!0);var ae=this.sourceCaches[S]=new Ot(S,L,this.dispatcher);ae.style=this,ae.setEventedParent(this,function(){return{isSourceLoaded:ie.loaded(),source:ae.serialize(),sourceId:S}}),ae.onAdd(this.map),this._changed=!0}},M.prototype.removeSource=function(S){if(this._checkLoaded(),this.sourceCaches[S]===void 0)throw new Error("There is no source with this ID");for(var L in this._layers)if(this._layers[L].source===S)return this.fire(new n.ErrorEvent(new Error('Source "'+S+'" cannot be removed while layer "'+L+'" is using it.')));var Y=this.sourceCaches[S];delete this.sourceCaches[S],delete this._updatedSources[S],Y.fire(new n.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:S})),Y.setEventedParent(null),Y.clearTiles(),Y.onRemove&&Y.onRemove(this.map),this._changed=!0},M.prototype.setGeoJSONSourceData=function(S,L){this._checkLoaded(),this.sourceCaches[S].getSource().setData(L),this._changed=!0},M.prototype.getSource=function(S){return this.sourceCaches[S]&&this.sourceCaches[S].getSource()},M.prototype.addLayer=function(S,L,Y){Y===void 0&&(Y={}),this._checkLoaded();var ie=S.id;if(this.getLayer(ie))this.fire(new n.ErrorEvent(new Error('Layer with id "'+ie+'" already exists on this map')));else{var ae;if(S.type==="custom"){if(vl(this,n.validateCustomStyleLayer(S)))return;ae=n.createStyleLayer(S)}else{if(typeof S.source=="object"&&(this.addSource(ie,S.source),S=n.clone$1(S),S=n.extend(S,{source:ie})),this._validate(n.validateStyle.layer,"layers."+ie,S,{arrayIndex:-1},Y))return;ae=n.createStyleLayer(S),this._validateLayer(ae),ae.setEventedParent(this,{layer:{id:ie}}),this._serializedLayers[ae.id]=ae.serialize()}var ge=L?this._order.indexOf(L):this._order.length;if(L&&ge===-1)this.fire(new n.ErrorEvent(new Error('Layer with id "'+L+'" does not exist on this map.')));else{if(this._order.splice(ge,0,ie),this._layerOrderChanged=!0,this._layers[ie]=ae,this._removedLayers[ie]&&ae.source&&ae.type!=="custom"){var Pe=this._removedLayers[ie];delete this._removedLayers[ie],Pe.type!==ae.type?this._updatedSources[ae.source]="clear":(this._updatedSources[ae.source]="reload",this.sourceCaches[ae.source].pause())}this._updateLayer(ae),ae.onAdd&&ae.onAdd(this.map)}}},M.prototype.moveLayer=function(S,L){if(this._checkLoaded(),this._changed=!0,this._layers[S]){if(S!==L){var Y=this._order.indexOf(S);this._order.splice(Y,1);var ie=L?this._order.indexOf(L):this._order.length;L&&ie===-1?this.fire(new n.ErrorEvent(new Error('Layer with id "'+L+'" does not exist on this map.'))):(this._order.splice(ie,0,S),this._layerOrderChanged=!0)}}else this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot be moved.")))},M.prototype.removeLayer=function(S){this._checkLoaded();var L=this._layers[S];if(L){L.setEventedParent(null);var Y=this._order.indexOf(S);this._order.splice(Y,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[S]=L,delete this._layers[S],delete this._serializedLayers[S],delete this._updatedLayers[S],delete this._updatedPaintProps[S],L.onRemove&&L.onRemove(this.map)}else this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot be removed.")))},M.prototype.getLayer=function(S){return this._layers[S]},M.prototype.hasLayer=function(S){return S in this._layers},M.prototype.setLayerZoomRange=function(S,L,Y){this._checkLoaded();var ie=this.getLayer(S);ie?ie.minzoom===L&&ie.maxzoom===Y||(L!=null&&(ie.minzoom=L),Y!=null&&(ie.maxzoom=Y),this._updateLayer(ie)):this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot have zoom extent.")))},M.prototype.setFilter=function(S,L,Y){Y===void 0&&(Y={}),this._checkLoaded();var ie=this.getLayer(S);if(ie){if(!n.deepEqual(ie.filter,L))return L==null?(ie.filter=void 0,void this._updateLayer(ie)):void(this._validate(n.validateStyle.filter,"layers."+ie.id+".filter",L,null,Y)||(ie.filter=n.clone$1(L),this._updateLayer(ie)))}else this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot be filtered.")))},M.prototype.getFilter=function(S){return n.clone$1(this.getLayer(S).filter)},M.prototype.setLayoutProperty=function(S,L,Y,ie){ie===void 0&&(ie={}),this._checkLoaded();var ae=this.getLayer(S);ae?n.deepEqual(ae.getLayoutProperty(L),Y)||(ae.setLayoutProperty(L,Y,ie),this._updateLayer(ae)):this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot be styled.")))},M.prototype.getLayoutProperty=function(S,L){var Y=this.getLayer(S);if(Y)return Y.getLayoutProperty(L);this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style.")))},M.prototype.setPaintProperty=function(S,L,Y,ie){ie===void 0&&(ie={}),this._checkLoaded();var ae=this.getLayer(S);ae?n.deepEqual(ae.getPaintProperty(L),Y)||(ae.setPaintProperty(L,Y,ie)&&this._updateLayer(ae),this._changed=!0,this._updatedPaintProps[S]=!0):this.fire(new n.ErrorEvent(new Error("The layer '"+S+"' does not exist in the map's style and cannot be styled.")))},M.prototype.getPaintProperty=function(S,L){return this.getLayer(S).getPaintProperty(L)},M.prototype.setFeatureState=function(S,L){this._checkLoaded();var Y=S.source,ie=S.sourceLayer,ae=this.sourceCaches[Y];if(ae!==void 0){var ge=ae.getSource().type;ge==="geojson"&&ie?this.fire(new n.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):ge!=="vector"||ie?(S.id===void 0&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),ae.setFeatureState(ie,S.id,L)):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new n.ErrorEvent(new Error("The source '"+Y+"' does not exist in the map's style.")))},M.prototype.removeFeatureState=function(S,L){this._checkLoaded();var Y=S.source,ie=this.sourceCaches[Y];if(ie!==void 0){var ae=ie.getSource().type,ge=ae==="vector"?S.sourceLayer:void 0;ae!=="vector"||ge?L&&typeof S.id!="string"&&typeof S.id!="number"?this.fire(new n.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):ie.removeFeatureState(ge,S.id,L):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new n.ErrorEvent(new Error("The source '"+Y+"' does not exist in the map's style.")))},M.prototype.getFeatureState=function(S){this._checkLoaded();var L=S.source,Y=S.sourceLayer,ie=this.sourceCaches[L];if(ie!==void 0){if(ie.getSource().type!=="vector"||Y)return S.id===void 0&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),ie.getFeatureState(Y,S.id);this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new n.ErrorEvent(new Error("The source '"+L+"' does not exist in the map's style.")))},M.prototype.getTransition=function(){return n.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},M.prototype.serialize=function(){return n.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:n.mapObject(this.sourceCaches,function(S){return S.serialize()}),layers:this._serializeLayers(this._order)},function(S){return S!==void 0})},M.prototype._updateLayer=function(S){this._updatedLayers[S.id]=!0,S.source&&!this._updatedSources[S.source]&&this.sourceCaches[S.source].getSource().type!=="raster"&&(this._updatedSources[S.source]="reload",this.sourceCaches[S.source].pause()),this._changed=!0},M.prototype._flattenAndSortRenderedFeatures=function(S){for(var L=this,Y=function(Ci){return L._layers[Ci].type==="fill-extrusion"},ie={},ae=[],ge=this._order.length-1;ge>=0;ge--){var Pe=this._order[ge];if(Y(Pe)){ie[Pe]=ge;for(var Ue=0,ct=S;Ue=0;Wt--){var St=this._order[Wt];if(Y(St))for(var Zt=ae.length-1;Zt>=0;Zt--){var ir=ae[Zt].feature;if(ie[ir.layer.id] 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_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),mh=vr("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);}"),ms=vr("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,0,1);}"),Ao=vr(`#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);}`),qh=vr(`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;}`),us=vr(`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;}`),Gd=vr(`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);}`),q=vr(`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;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;base=max(0.0,base);height=max(0.0,height);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;}`),oe=vr(`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;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;}`),pe=vr(`#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;}"),be=vr(`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;}"),He=vr(`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;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);}`),We=vr(`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;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);}`),ot=vr(`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;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;}`),rr=vr(`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;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);}`),Ut=vr(`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;}"),cr=vr(`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 -}`,`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));}`),Fr=vr(`#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 -}`,`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);}`),li=vr(`#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 -}`,`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);}`);function vr(w,M){var S=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,L=M.match(/attribute ([\w]+) ([\w]+)/g),Y=w.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),ie=M.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),ae=ie?ie.concat(Y):Y,ge={};return{fragmentSource:w=w.replace(S,function(Pe,Ue,ct,ft,gt){return ge[gt]=!0,Ue==="define"?` -#ifndef HAS_UNIFORM_u_`+gt+` -varying `+ct+" "+ft+" "+gt+`; -#else -uniform `+ct+" "+ft+" u_"+gt+`; -#endif -`:` -#ifdef HAS_UNIFORM_u_`+gt+` - `+ct+" "+ft+" "+gt+" = u_"+gt+`; -#endif -`}),vertexSource:M=M.replace(S,function(Pe,Ue,ct,ft,gt){var ut=ft==="float"?"vec2":"vec4",Pt=gt.match(/color/)?"color":ut;return ge[gt]?Ue==="define"?` -#ifndef HAS_UNIFORM_u_`+gt+` -uniform lowp float u_`+gt+`_t; -attribute `+ct+" "+ut+" a_"+gt+`; -varying `+ct+" "+ft+" "+gt+`; -#else -uniform `+ct+" "+ft+" u_"+gt+`; -#endif -`:Pt==="vec4"?` -#ifndef HAS_UNIFORM_u_`+gt+` - `+gt+" = a_"+gt+`; -#else - `+ct+" "+ft+" "+gt+" = u_"+gt+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+gt+` - `+gt+" = unpack_mix_"+Pt+"(a_"+gt+", u_"+gt+`_t); -#else - `+ct+" "+ft+" "+gt+" = u_"+gt+`; -#endif -`:Ue==="define"?` -#ifndef HAS_UNIFORM_u_`+gt+` -uniform lowp float u_`+gt+`_t; -attribute `+ct+" "+ut+" a_"+gt+`; -#else -uniform `+ct+" "+ft+" u_"+gt+`; -#endif -`:Pt==="vec4"?` -#ifndef HAS_UNIFORM_u_`+gt+` - `+ct+" "+ft+" "+gt+" = a_"+gt+`; -#else - `+ct+" "+ft+" "+gt+" = u_"+gt+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+gt+` - `+ct+" "+ft+" "+gt+" = unpack_mix_"+Pt+"(a_"+gt+", u_"+gt+`_t); -#else - `+ct+" "+ft+" "+gt+" = u_"+gt+`; -#endif -`}),staticAttributes:L,staticUniforms:ae}}var Bi=Object.freeze({__proto__:null,prelude:Gh,background:Ec,backgroundPattern:Gf,circle:Wh,clippingMask:Hd,heatmap:Cp,heatmapTexture:Af,collisionBox:ia,collisionCircle:mh,debug:ms,fill:Ao,fillOutline:qh,fillOutlinePattern:us,fillPattern:Gd,fillExtrusion:q,fillExtrusionPattern:oe,hillshadePrepare:pe,hillshade:be,line:He,lineGradient:We,linePattern:ot,lineSDF:rr,raster:Ut,symbolIcon:cr,symbolSDF:Fr,symbolTextAndIcon:li}),gn=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function gs(w){for(var M=[],S=0;S>16,ge>>16],u_pixel_coord_lower:[65535&ae,65535&ge]}}Mo.prototype.draw=function(w,M,S,L,Y,ie,ae,ge,Pe,Ue,ct,ft,gt,ut,Pt,Wt){var St,Zt=w.gl;if(!this.failedToCreate){for(var ir in w.program.set(this.program),w.setDepthMode(S),w.setStencilMode(L),w.setColorMode(Y),w.setCullFace(ie),this.fixedUniforms)this.fixedUniforms[ir].set(ae[ir]);ut&&ut.setUniforms(w,this.binderUniforms,ft,{zoom:gt});for(var dr=(St={},St[Zt.LINES]=2,St[Zt.TRIANGLES]=3,St[Zt.LINE_STRIP]=1,St)[M],kr=0,Lr=ct.get();kr0?1-1/(1.001-ae):-ae),u_contrast_factor:(ie=Y.paint.get("raster-contrast"),ie>0?1/(1-ie):1+ie),u_spin_weights:Os(Y.paint.get("raster-hue-rotate"))};var ie,ae};function Os(w){w*=Math.PI/180;var M=Math.sin(w),S=Math.cos(w);return[(2*S+1)/3,(-Math.sqrt(3)*M-S+1)/3,(Math.sqrt(3)*M-S+1)/3]}var gh,Ss=function(w,M,S,L,Y,ie,ae,ge,Pe,Ue){var ct=Y.transform;return{u_is_size_zoom_constant:+(w==="constant"||w==="source"),u_is_size_feature_constant:+(w==="constant"||w==="camera"),u_size_t:M?M.uSizeT:0,u_size:M?M.uSize:0,u_camera_to_center_distance:ct.cameraToCenterDistance,u_pitch:ct.pitch/360*2*Math.PI,u_rotate_symbol:+S,u_aspect_ratio:ct.width/ct.height,u_fade_change:Y.options.fadeDuration?Y.symbolFadeChange:1,u_matrix:ie,u_label_plane_matrix:ae,u_coord_matrix:ge,u_is_text:+Pe,u_pitch_with_map:+L,u_texsize:Ue,u_texture:0}},Ah=function(w,M,S,L,Y,ie,ae,ge,Pe,Ue,ct){var ft=Y.transform;return n.extend(Ss(w,M,S,L,Y,ie,ae,ge,Pe,Ue),{u_gamma_scale:L?Math.cos(ft._pitch)*ft.cameraToCenterDistance:1,u_device_pixel_ratio:n.browser.devicePixelRatio,u_is_halo:+ct})},mc=function(w,M,S,L,Y,ie,ae,ge,Pe,Ue){return n.extend(Ah(w,M,S,L,Y,ie,ae,ge,!0,Pe,!0),{u_texsize_icon:Ue,u_texture_icon:1})},Qa=function(w,M,S){return{u_matrix:w,u_opacity:M,u_color:S}},Ru=function(w,M,S,L,Y,ie){return n.extend(function(ae,ge,Pe,Ue){var ct=Pe.imageManager.getPattern(ae.from.toString()),ft=Pe.imageManager.getPattern(ae.to.toString()),gt=Pe.imageManager.getPixelSize(),ut=gt.width,Pt=gt.height,Wt=Math.pow(2,Ue.tileID.overscaledZ),St=Ue.tileSize*Math.pow(2,Pe.transform.tileZoom)/Wt,Zt=St*(Ue.tileID.canonical.x+Ue.tileID.wrap*Wt),ir=St*Ue.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:ct.tl,u_pattern_br_a:ct.br,u_pattern_tl_b:ft.tl,u_pattern_br_b:ft.br,u_texsize:[ut,Pt],u_mix:ge.t,u_pattern_size_a:ct.displaySize,u_pattern_size_b:ft.displaySize,u_scale_a:ge.fromScale,u_scale_b:ge.toScale,u_tile_units_to_pixels:1/ua(Ue,1,Pe.transform.tileZoom),u_pixel_coord_upper:[Zt>>16,ir>>16],u_pixel_coord_lower:[65535&Zt,65535&ir]}}(L,ie,S,Y),{u_matrix:w,u_opacity:M})},gc={fillExtrusion:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_lightpos:new n.Uniform3f(w,M.u_lightpos),u_lightintensity:new n.Uniform1f(w,M.u_lightintensity),u_lightcolor:new n.Uniform3f(w,M.u_lightcolor),u_vertical_gradient:new n.Uniform1f(w,M.u_vertical_gradient),u_opacity:new n.Uniform1f(w,M.u_opacity)}},fillExtrusionPattern:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_lightpos:new n.Uniform3f(w,M.u_lightpos),u_lightintensity:new n.Uniform1f(w,M.u_lightintensity),u_lightcolor:new n.Uniform3f(w,M.u_lightcolor),u_vertical_gradient:new n.Uniform1f(w,M.u_vertical_gradient),u_height_factor:new n.Uniform1f(w,M.u_height_factor),u_image:new n.Uniform1i(w,M.u_image),u_texsize:new n.Uniform2f(w,M.u_texsize),u_pixel_coord_upper:new n.Uniform2f(w,M.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(w,M.u_pixel_coord_lower),u_scale:new n.Uniform3f(w,M.u_scale),u_fade:new n.Uniform1f(w,M.u_fade),u_opacity:new n.Uniform1f(w,M.u_opacity)}},fill:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix)}},fillPattern:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_image:new n.Uniform1i(w,M.u_image),u_texsize:new n.Uniform2f(w,M.u_texsize),u_pixel_coord_upper:new n.Uniform2f(w,M.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(w,M.u_pixel_coord_lower),u_scale:new n.Uniform3f(w,M.u_scale),u_fade:new n.Uniform1f(w,M.u_fade)}},fillOutline:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_world:new n.Uniform2f(w,M.u_world)}},fillOutlinePattern:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_world:new n.Uniform2f(w,M.u_world),u_image:new n.Uniform1i(w,M.u_image),u_texsize:new n.Uniform2f(w,M.u_texsize),u_pixel_coord_upper:new n.Uniform2f(w,M.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(w,M.u_pixel_coord_lower),u_scale:new n.Uniform3f(w,M.u_scale),u_fade:new n.Uniform1f(w,M.u_fade)}},circle:function(w,M){return{u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_scale_with_map:new n.Uniform1i(w,M.u_scale_with_map),u_pitch_with_map:new n.Uniform1i(w,M.u_pitch_with_map),u_extrude_scale:new n.Uniform2f(w,M.u_extrude_scale),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_matrix:new n.UniformMatrix4f(w,M.u_matrix)}},collisionBox:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_pixels_to_tile_units:new n.Uniform1f(w,M.u_pixels_to_tile_units),u_extrude_scale:new n.Uniform2f(w,M.u_extrude_scale),u_overscale_factor:new n.Uniform1f(w,M.u_overscale_factor)}},collisionCircle:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_inv_matrix:new n.UniformMatrix4f(w,M.u_inv_matrix),u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_viewport_size:new n.Uniform2f(w,M.u_viewport_size)}},debug:function(w,M){return{u_color:new n.UniformColor(w,M.u_color),u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_overlay:new n.Uniform1i(w,M.u_overlay),u_overlay_scale:new n.Uniform1f(w,M.u_overlay_scale)}},clippingMask:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix)}},heatmap:function(w,M){return{u_extrude_scale:new n.Uniform1f(w,M.u_extrude_scale),u_intensity:new n.Uniform1f(w,M.u_intensity),u_matrix:new n.UniformMatrix4f(w,M.u_matrix)}},heatmapTexture:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_world:new n.Uniform2f(w,M.u_world),u_image:new n.Uniform1i(w,M.u_image),u_color_ramp:new n.Uniform1i(w,M.u_color_ramp),u_opacity:new n.Uniform1f(w,M.u_opacity)}},hillshade:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_image:new n.Uniform1i(w,M.u_image),u_latrange:new n.Uniform2f(w,M.u_latrange),u_light:new n.Uniform2f(w,M.u_light),u_shadow:new n.UniformColor(w,M.u_shadow),u_highlight:new n.UniformColor(w,M.u_highlight),u_accent:new n.UniformColor(w,M.u_accent)}},hillshadePrepare:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_image:new n.Uniform1i(w,M.u_image),u_dimension:new n.Uniform2f(w,M.u_dimension),u_zoom:new n.Uniform1f(w,M.u_zoom),u_unpack:new n.Uniform4f(w,M.u_unpack)}},line:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_ratio:new n.Uniform1f(w,M.u_ratio),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(w,M.u_units_to_pixels)}},lineGradient:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_ratio:new n.Uniform1f(w,M.u_ratio),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(w,M.u_units_to_pixels),u_image:new n.Uniform1i(w,M.u_image),u_image_height:new n.Uniform1f(w,M.u_image_height)}},linePattern:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_texsize:new n.Uniform2f(w,M.u_texsize),u_ratio:new n.Uniform1f(w,M.u_ratio),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_image:new n.Uniform1i(w,M.u_image),u_units_to_pixels:new n.Uniform2f(w,M.u_units_to_pixels),u_scale:new n.Uniform3f(w,M.u_scale),u_fade:new n.Uniform1f(w,M.u_fade)}},lineSDF:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_ratio:new n.Uniform1f(w,M.u_ratio),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(w,M.u_units_to_pixels),u_patternscale_a:new n.Uniform2f(w,M.u_patternscale_a),u_patternscale_b:new n.Uniform2f(w,M.u_patternscale_b),u_sdfgamma:new n.Uniform1f(w,M.u_sdfgamma),u_image:new n.Uniform1i(w,M.u_image),u_tex_y_a:new n.Uniform1f(w,M.u_tex_y_a),u_tex_y_b:new n.Uniform1f(w,M.u_tex_y_b),u_mix:new n.Uniform1f(w,M.u_mix)}},raster:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_tl_parent:new n.Uniform2f(w,M.u_tl_parent),u_scale_parent:new n.Uniform1f(w,M.u_scale_parent),u_buffer_scale:new n.Uniform1f(w,M.u_buffer_scale),u_fade_t:new n.Uniform1f(w,M.u_fade_t),u_opacity:new n.Uniform1f(w,M.u_opacity),u_image0:new n.Uniform1i(w,M.u_image0),u_image1:new n.Uniform1i(w,M.u_image1),u_brightness_low:new n.Uniform1f(w,M.u_brightness_low),u_brightness_high:new n.Uniform1f(w,M.u_brightness_high),u_saturation_factor:new n.Uniform1f(w,M.u_saturation_factor),u_contrast_factor:new n.Uniform1f(w,M.u_contrast_factor),u_spin_weights:new n.Uniform3f(w,M.u_spin_weights)}},symbolIcon:function(w,M){return{u_is_size_zoom_constant:new n.Uniform1i(w,M.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(w,M.u_is_size_feature_constant),u_size_t:new n.Uniform1f(w,M.u_size_t),u_size:new n.Uniform1f(w,M.u_size),u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_pitch:new n.Uniform1f(w,M.u_pitch),u_rotate_symbol:new n.Uniform1i(w,M.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(w,M.u_aspect_ratio),u_fade_change:new n.Uniform1f(w,M.u_fade_change),u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(w,M.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(w,M.u_coord_matrix),u_is_text:new n.Uniform1i(w,M.u_is_text),u_pitch_with_map:new n.Uniform1i(w,M.u_pitch_with_map),u_texsize:new n.Uniform2f(w,M.u_texsize),u_texture:new n.Uniform1i(w,M.u_texture)}},symbolSDF:function(w,M){return{u_is_size_zoom_constant:new n.Uniform1i(w,M.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(w,M.u_is_size_feature_constant),u_size_t:new n.Uniform1f(w,M.u_size_t),u_size:new n.Uniform1f(w,M.u_size),u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_pitch:new n.Uniform1f(w,M.u_pitch),u_rotate_symbol:new n.Uniform1i(w,M.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(w,M.u_aspect_ratio),u_fade_change:new n.Uniform1f(w,M.u_fade_change),u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(w,M.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(w,M.u_coord_matrix),u_is_text:new n.Uniform1i(w,M.u_is_text),u_pitch_with_map:new n.Uniform1i(w,M.u_pitch_with_map),u_texsize:new n.Uniform2f(w,M.u_texsize),u_texture:new n.Uniform1i(w,M.u_texture),u_gamma_scale:new n.Uniform1f(w,M.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(w,M.u_is_halo)}},symbolTextAndIcon:function(w,M){return{u_is_size_zoom_constant:new n.Uniform1i(w,M.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(w,M.u_is_size_feature_constant),u_size_t:new n.Uniform1f(w,M.u_size_t),u_size:new n.Uniform1f(w,M.u_size),u_camera_to_center_distance:new n.Uniform1f(w,M.u_camera_to_center_distance),u_pitch:new n.Uniform1f(w,M.u_pitch),u_rotate_symbol:new n.Uniform1i(w,M.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(w,M.u_aspect_ratio),u_fade_change:new n.Uniform1f(w,M.u_fade_change),u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(w,M.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(w,M.u_coord_matrix),u_is_text:new n.Uniform1i(w,M.u_is_text),u_pitch_with_map:new n.Uniform1i(w,M.u_pitch_with_map),u_texsize:new n.Uniform2f(w,M.u_texsize),u_texsize_icon:new n.Uniform2f(w,M.u_texsize_icon),u_texture:new n.Uniform1i(w,M.u_texture),u_texture_icon:new n.Uniform1i(w,M.u_texture_icon),u_gamma_scale:new n.Uniform1f(w,M.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(w,M.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(w,M.u_is_halo)}},background:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_opacity:new n.Uniform1f(w,M.u_opacity),u_color:new n.UniformColor(w,M.u_color)}},backgroundPattern:function(w,M){return{u_matrix:new n.UniformMatrix4f(w,M.u_matrix),u_opacity:new n.Uniform1f(w,M.u_opacity),u_image:new n.Uniform1i(w,M.u_image),u_pattern_tl_a:new n.Uniform2f(w,M.u_pattern_tl_a),u_pattern_br_a:new n.Uniform2f(w,M.u_pattern_br_a),u_pattern_tl_b:new n.Uniform2f(w,M.u_pattern_tl_b),u_pattern_br_b:new n.Uniform2f(w,M.u_pattern_br_b),u_texsize:new n.Uniform2f(w,M.u_texsize),u_mix:new n.Uniform1f(w,M.u_mix),u_pattern_size_a:new n.Uniform2f(w,M.u_pattern_size_a),u_pattern_size_b:new n.Uniform2f(w,M.u_pattern_size_b),u_scale_a:new n.Uniform1f(w,M.u_scale_a),u_scale_b:new n.Uniform1f(w,M.u_scale_b),u_pixel_coord_upper:new n.Uniform2f(w,M.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(w,M.u_pixel_coord_lower),u_tile_units_to_pixels:new n.Uniform1f(w,M.u_tile_units_to_pixels)}}};function _h(w,M,S,L,Y,ie,ae){for(var ge=w.context,Pe=ge.gl,Ue=w.useProgram("collisionBox"),ct=[],ft=0,gt=0,ut=0;ut0){var kr=n.create(),Lr=Zt;n.mul(kr,St.placementInvProjMatrix,w.transform.glCoordMatrix),n.mul(kr,kr,St.placementViewportMatrix),ct.push({circleArray:dr,circleOffset:gt,transform:Lr,invTransform:kr}),gt=ft+=dr.length/4}ir&&Ue.draw(ge,Pe.LINES,mt.disabled,Qe.disabled,w.colorModeForRenderPass(),Jt.disabled,ni(Zt,w.transform,Wt),S.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,null,w.transform.zoom,null,null,ir.collisionVertexBuffer)}}if(ae&&ct.length){var Wr=w.useProgram("collisionCircle"),ai=new n.StructArrayLayout2f1f2i16;ai.resize(4*ft),ai._trim();for(var Ci=0,Si=0,$i=ct;Si<$i.length;Si+=1)for(var bn=$i[Si],Tn=0;Tn=0&&(Pt[St.associatedIconIndex]={shiftedAnchor:ai,angle:Ci})}else Ll(St.numGlyphs,gt)}if(ct){ut.clear();for(var $i=w.icon.placedSymbolArray,bn=0;bn<$i.length;bn++){var Tn=$i.get(bn);if(Tn.hidden)Ll(Tn.numGlyphs,ut);else{var xn=Pt[bn];if(xn)for(var zo=0;zo0){var ae=n.browser.now(),ge=(ae-w.timeAdded)/ie,Pe=M?(ae-M.timeAdded)/ie:-1,Ue=S.getSource(),ct=Y.coveringZoomLevel({tileSize:Ue.tileSize,roundZoom:Ue.roundZoom}),ft=!M||Math.abs(M.tileID.overscaledZ-ct)>Math.abs(w.tileID.overscaledZ-ct),gt=ft&&w.refreshedUponExpiration?1:n.clamp(ft?ge:1-Pe,0,1);return w.refreshedUponExpiration&&ge>=1&&(w.refreshedUponExpiration=!1),M?{opacity:1,mix:1-gt}:{opacity:gt,mix:0}}return{opacity:1,mix:0}}var yf=new n.Color(1,0,0,1),Bu=new n.Color(0,1,0,1),Wf=new n.Color(0,0,1,1),qf=new n.Color(1,0,1,1),Bt=new n.Color(0,1,1,1);function ar(w,M,S,L){Ur(w,0,M+S/2,w.transform.width,S,L)}function Br(w,M,S,L){Ur(w,M-S/2,0,S,w.transform.height,L)}function Ur(w,M,S,L,Y,ie){var ae=w.context,ge=ae.gl;ge.enable(ge.SCISSOR_TEST),ge.scissor(M*n.browser.devicePixelRatio,S*n.browser.devicePixelRatio,L*n.browser.devicePixelRatio,Y*n.browser.devicePixelRatio),ae.clear({color:ie}),ge.disable(ge.SCISSOR_TEST)}function ci(w,M,S){var L=w.context,Y=L.gl,ie=S.posMatrix,ae=w.useProgram("debug"),ge=mt.disabled,Pe=Qe.disabled,Ue=w.colorModeForRenderPass();L.activeTexture.set(Y.TEXTURE0),w.emptyTexture.bind(Y.LINEAR,Y.CLAMP_TO_EDGE),ae.draw(L,Y.LINE_STRIP,ge,Pe,Ue,Jt.disabled,Po(ie,n.Color.red),"$debug",w.debugBuffer,w.tileBorderIndexBuffer,w.debugSegments);var ct=M.getTileByID(S.key).latestRawTileData,ft=Math.floor((ct&&ct.byteLength||0)/1024),gt=M.getTile(S).tileSize,ut=512/Math.min(gt,512)*(S.overscaledZ/w.transform.zoom)*.5,Pt=S.canonical.toString();S.overscaledZ!==S.canonical.z&&(Pt+=" => "+S.overscaledZ),function(Wt,St){Wt.initDebugOverlayCanvas();var Zt=Wt.debugOverlayCanvas,ir=Wt.context.gl,dr=Wt.debugOverlayCanvas.getContext("2d");dr.clearRect(0,0,Zt.width,Zt.height),dr.shadowColor="white",dr.shadowBlur=2,dr.lineWidth=1.5,dr.strokeStyle="white",dr.textBaseline="top",dr.font="bold 36px Open Sans, sans-serif",dr.fillText(St,5,5),dr.strokeText(St,5,5),Wt.debugOverlayTexture.update(Zt),Wt.debugOverlayTexture.bind(ir.LINEAR,ir.CLAMP_TO_EDGE)}(w,Pt+" "+ft+"kb"),ae.draw(L,Y.TRIANGLES,ge,Pe,$t.alphaBlended,Jt.disabled,Po(ie,n.Color.transparent,ut),"$debug",w.debugBuffer,w.quadTriangleIndexBuffer,w.debugSegments)}var Li={symbol:function(w,M,S,L,Y){if(w.renderPass==="translucent"){var ie=Qe.disabled,ae=w.colorModeForRenderPass();S.layout.get("text-variable-anchor")&&function(ge,Pe,Ue,ct,ft,gt,ut){for(var Pt=Pe.transform,Wt=ft==="map",St=gt==="map",Zt=0,ir=ge;Zt256&&this.clearStencil(),S.setColorMode($t.disabled),S.setDepthMode(mt.disabled);var Y=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var ie=0,ae=M;ie256&&this.clearStencil();var w=this.nextStencilID++,M=this.context.gl;return new Qe({func:M.NOTEQUAL,mask:255},w,255,M.KEEP,M.KEEP,M.REPLACE)},yi.prototype.stencilModeForClipping=function(w){var M=this.context.gl;return new Qe({func:M.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,M.KEEP,M.KEEP,M.REPLACE)},yi.prototype.stencilConfigForOverlap=function(w){var M,S=this.context.gl,L=w.sort(function(Pe,Ue){return Ue.overscaledZ-Pe.overscaledZ}),Y=L[L.length-1].overscaledZ,ie=L[0].overscaledZ-Y+1;if(ie>1){this.currentStencilSource=void 0,this.nextStencilID+ie>256&&this.clearStencil();for(var ae={},ge=0;ge=0;this.currentLayer--){var dr=this.style._layers[L[this.currentLayer]],kr=Y[dr.source],Lr=Ue[dr.source];this._renderTileClippingMasks(dr,Lr),this.renderLayer(this,kr,dr,Lr)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?M.pop():null},yi.prototype.isPatternMissing=function(w){if(!w)return!1;if(!w.from||!w.to)return!0;var M=this.imageManager.getPattern(w.from.toString()),S=this.imageManager.getPattern(w.to.toString());return!M||!S},yi.prototype.useProgram=function(w,M){this.cache=this.cache||{};var S=""+w+(M?M.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[S]||(this.cache[S]=new Mo(this.context,w,Bi[w],M,gc[w],this._showOverdrawInspector)),this.cache[S]},yi.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()},yi.prototype.setBaseState=function(){var 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)},yi.prototype.initDebugOverlayCanvas=function(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=n.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new n.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))},yi.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Pn=function(w,M){this.points=w,this.planes=M};Pn.fromInvProjectionMatrix=function(w,M,S){var L=Math.pow(2,S),Y=[[-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(function(ae){return n.transformMat4([],ae,w)}).map(function(ae){return n.scale$1([],ae,1/ae[3]/M*L)}),ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(function(ae){var ge=n.sub([],Y[ae[0]],Y[ae[1]]),Pe=n.sub([],Y[ae[2]],Y[ae[1]]),Ue=n.normalize([],n.cross([],ge,Pe)),ct=-n.dot(Ue,Y[ae[1]]);return Ue.concat(ct)});return new Pn(Y,ie)};var sn=function(w,M){this.min=w,this.max=M,this.center=n.scale$2([],n.add([],this.min,this.max),.5)};sn.prototype.quadrant=function(w){for(var M=[w%2==0,w<2],S=n.clone$2(this.min),L=n.clone$2(this.max),Y=0;Y=0;if(ie===0)return 0;ie!==M.length&&(S=!1)}if(S)return 2;for(var ge=0;ge<3;ge++){for(var Pe=Number.MAX_VALUE,Ue=-Number.MAX_VALUE,ct=0;ctthis.max[ge]-this.min[ge])return 0}return 1};var To=function(w,M,S,L){if(w===void 0&&(w=0),M===void 0&&(M=0),S===void 0&&(S=0),L===void 0&&(L=0),isNaN(w)||w<0||isNaN(M)||M<0||isNaN(S)||S<0||isNaN(L)||L<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=w,this.bottom=M,this.left=S,this.right=L};To.prototype.interpolate=function(w,M,S){return M.top!=null&&w.top!=null&&(this.top=n.number(w.top,M.top,S)),M.bottom!=null&&w.bottom!=null&&(this.bottom=n.number(w.bottom,M.bottom,S)),M.left!=null&&w.left!=null&&(this.left=n.number(w.left,M.left,S)),M.right!=null&&w.right!=null&&(this.right=n.number(w.right,M.right,S)),this},To.prototype.getCenter=function(w,M){var S=n.clamp((this.left+w-this.right)/2,0,w),L=n.clamp((this.top+M-this.bottom)/2,0,M);return new n.Point(S,L)},To.prototype.equals=function(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right},To.prototype.clone=function(){return new To(this.top,this.bottom,this.left,this.right)},To.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Hi=function(w,M,S,L,Y){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=Y===void 0||Y,this._minZoom=w||0,this._maxZoom=M||22,this._minPitch=S??0,this._maxPitch=L??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new To,this._posMatrixCache={},this._alignedPosMatrixCache={}},Ti={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}};Hi.prototype.clone=function(){var w=new Hi(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.tileSize=this.tileSize,w.latRange=this.latRange,w.width=this.width,w.height=this.height,w._center=this._center,w.zoom=this.zoom,w.angle=this.angle,w._fov=this._fov,w._pitch=this._pitch,w._unmodified=this._unmodified,w._edgeInsets=this._edgeInsets.clone(),w._calcMatrices(),w},Ti.minZoom.get=function(){return this._minZoom},Ti.minZoom.set=function(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))},Ti.maxZoom.get=function(){return this._maxZoom},Ti.maxZoom.set=function(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))},Ti.minPitch.get=function(){return this._minPitch},Ti.minPitch.set=function(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))},Ti.maxPitch.get=function(){return this._maxPitch},Ti.maxPitch.set=function(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))},Ti.renderWorldCopies.get=function(){return this._renderWorldCopies},Ti.renderWorldCopies.set=function(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w},Ti.worldSize.get=function(){return this.tileSize*this.scale},Ti.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Ti.size.get=function(){return new n.Point(this.width,this.height)},Ti.bearing.get=function(){return-this.angle/Math.PI*180},Ti.bearing.set=function(w){var M=-n.wrap(w,-180,180)*Math.PI/180;this.angle!==M&&(this._unmodified=!1,this.angle=M,this._calcMatrices(),this.rotationMatrix=n.create$2(),n.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Ti.pitch.get=function(){return this._pitch/Math.PI*180},Ti.pitch.set=function(w){var M=n.clamp(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==M&&(this._unmodified=!1,this._pitch=M,this._calcMatrices())},Ti.fov.get=function(){return this._fov/Math.PI*180},Ti.fov.set=function(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())},Ti.zoom.get=function(){return this._zoom},Ti.zoom.set=function(w){var M=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==M&&(this._unmodified=!1,this._zoom=M,this.scale=this.zoomScale(M),this.tileZoom=Math.floor(M),this.zoomFraction=M-this.tileZoom,this._constrain(),this._calcMatrices())},Ti.center.get=function(){return this._center},Ti.center.set=function(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())},Ti.padding.get=function(){return this._edgeInsets.toJSON()},Ti.padding.set=function(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())},Ti.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Hi.prototype.isPaddingEqual=function(w){return this._edgeInsets.equals(w)},Hi.prototype.interpolatePadding=function(w,M,S){this._unmodified=!1,this._edgeInsets.interpolate(w,M,S),this._constrain(),this._calcMatrices()},Hi.prototype.coveringZoomLevel=function(w){var M=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,M)},Hi.prototype.getVisibleUnwrappedCoordinates=function(w){var M=[new n.UnwrappedTileID(0,w)];if(this._renderWorldCopies)for(var S=this.pointCoordinate(new n.Point(0,0)),L=this.pointCoordinate(new n.Point(this.width,0)),Y=this.pointCoordinate(new n.Point(this.width,this.height)),ie=this.pointCoordinate(new n.Point(0,this.height)),ae=Math.floor(Math.min(S.x,L.x,Y.x,ie.x)),ge=Math.floor(Math.max(S.x,L.x,Y.x,ie.x)),Pe=ae-1;Pe<=ge+1;Pe++)Pe!==0&&M.push(new n.UnwrappedTileID(Pe,w));return M},Hi.prototype.coveringTiles=function(w){var M=this.coveringZoomLevel(w),S=M;if(w.minzoom!==void 0&&Mw.maxzoom&&(M=w.maxzoom);var L=n.MercatorCoordinate.fromLngLat(this.center),Y=Math.pow(2,M),ie=[Y*L.x,Y*L.y,0],ae=Pn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,M),ge=w.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(ge=M);var Pe=function(Si){return{aabb:new sn([Si*Y,0,0],[(Si+1)*Y,Y,0]),zoom:0,x:0,y:0,wrap:Si,fullyVisible:!1}},Ue=[],ct=[],ft=M,gt=w.reparseOverscaled?S:M;if(this._renderWorldCopies)for(var ut=1;ut<=3;ut++)Ue.push(Pe(-ut)),Ue.push(Pe(ut));for(Ue.push(Pe(0));Ue.length>0;){var Pt=Ue.pop(),Wt=Pt.x,St=Pt.y,Zt=Pt.fullyVisible;if(!Zt){var ir=Pt.aabb.intersects(ae);if(ir===0)continue;Zt=ir===2}var dr=Pt.aabb.distanceX(ie),kr=Pt.aabb.distanceY(ie),Lr=Math.max(Math.abs(dr),Math.abs(kr));if(Pt.zoom===ft||Lr>3+(1<=ge)ct.push({tileID:new n.OverscaledTileID(Pt.zoom===ft?gt:Pt.zoom,Pt.wrap,Pt.zoom,Wt,St),distanceSq:n.sqrLen([ie[0]-.5-Wt,ie[1]-.5-St])});else for(var Wr=0;Wr<4;Wr++){var ai=(Wt<<1)+Wr%2,Ci=(St<<1)+(Wr>>1);Ue.push({aabb:Pt.aabb.quadrant(Wr),zoom:Pt.zoom+1,x:ai,y:Ci,wrap:Pt.wrap,fullyVisible:Zt})}}return ct.sort(function(Si,$i){return Si.distanceSq-$i.distanceSq}).map(function(Si){return Si.tileID})},Hi.prototype.resize=function(w,M){this.width=w,this.height=M,this.pixelsToGLUnits=[2/w,-2/M],this._constrain(),this._calcMatrices()},Ti.unmodified.get=function(){return this._unmodified},Hi.prototype.zoomScale=function(w){return Math.pow(2,w)},Hi.prototype.scaleZoom=function(w){return Math.log(w)/Math.LN2},Hi.prototype.project=function(w){var M=n.clamp(w.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.Point(n.mercatorXfromLng(w.lng)*this.worldSize,n.mercatorYfromLat(M)*this.worldSize)},Hi.prototype.unproject=function(w){return new n.MercatorCoordinate(w.x/this.worldSize,w.y/this.worldSize).toLngLat()},Ti.point.get=function(){return this.project(this.center)},Hi.prototype.setLocationAtPoint=function(w,M){var S=this.pointCoordinate(M),L=this.pointCoordinate(this.centerPoint),Y=this.locationCoordinate(w),ie=new n.MercatorCoordinate(Y.x-(S.x-L.x),Y.y-(S.y-L.y));this.center=this.coordinateLocation(ie),this._renderWorldCopies&&(this.center=this.center.wrap())},Hi.prototype.locationPoint=function(w){return this.coordinatePoint(this.locationCoordinate(w))},Hi.prototype.pointLocation=function(w){return this.coordinateLocation(this.pointCoordinate(w))},Hi.prototype.locationCoordinate=function(w){return n.MercatorCoordinate.fromLngLat(w)},Hi.prototype.coordinateLocation=function(w){return w.toLngLat()},Hi.prototype.pointCoordinate=function(w){var M=[w.x,w.y,0,1],S=[w.x,w.y,1,1];n.transformMat4(M,M,this.pixelMatrixInverse),n.transformMat4(S,S,this.pixelMatrixInverse);var L=M[3],Y=S[3],ie=M[1]/L,ae=S[1]/Y,ge=M[2]/L,Pe=S[2]/Y,Ue=ge===Pe?0:(0-ge)/(Pe-ge);return new n.MercatorCoordinate(n.number(M[0]/L,S[0]/Y,Ue)/this.worldSize,n.number(ie,ae,Ue)/this.worldSize)},Hi.prototype.coordinatePoint=function(w){var M=[w.x*this.worldSize,w.y*this.worldSize,0,1];return n.transformMat4(M,M,this.pixelMatrix),new n.Point(M[0]/M[3],M[1]/M[3])},Hi.prototype.getBounds=function(){return new n.LngLatBounds().extend(this.pointLocation(new n.Point(0,0))).extend(this.pointLocation(new n.Point(this.width,0))).extend(this.pointLocation(new n.Point(this.width,this.height))).extend(this.pointLocation(new n.Point(0,this.height)))},Hi.prototype.getMaxBounds=function(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new n.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Hi.prototype.setMaxBounds=function(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Hi.prototype.calculatePosMatrix=function(w,M){M===void 0&&(M=!1);var S=w.key,L=M?this._alignedPosMatrixCache:this._posMatrixCache;if(L[S])return L[S];var Y=w.canonical,ie=this.worldSize/this.zoomScale(Y.z),ae=Y.x+Math.pow(2,Y.z)*w.wrap,ge=n.identity(new Float64Array(16));return n.translate(ge,ge,[ae*ie,Y.y*ie,0]),n.scale(ge,ge,[ie/n.EXTENT,ie/n.EXTENT,1]),n.multiply(ge,M?this.alignedProjMatrix:this.projMatrix,ge),L[S]=new Float32Array(ge),L[S]},Hi.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Hi.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var w,M,S,L,Y=-90,ie=90,ae=-180,ge=180,Pe=this.size,Ue=this._unmodified;if(this.latRange){var ct=this.latRange;Y=n.mercatorYfromLat(ct[1])*this.worldSize,w=(ie=n.mercatorYfromLat(ct[0])*this.worldSize)-Yie&&(L=ie-Wt)}if(this.lngRange){var St=gt.x,Zt=Pe.x/2;St-Ztge&&(S=ge-Zt)}S===void 0&&L===void 0||(this.center=this.unproject(new n.Point(S!==void 0?S:gt.x,L!==void 0?L:gt.y))),this._unmodified=Ue,this._constraining=!1}},Hi.prototype._calcMatrices=function(){if(this.height){var w=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var M=Math.PI/2+this._pitch,S=this._fov*(.5+w.y/this.height),L=Math.sin(S)*this.cameraToCenterDistance/Math.sin(n.clamp(Math.PI-M-S,.01,Math.PI-.01)),Y=this.point,ie=Y.x,ae=Y.y,ge=1.01*(Math.cos(Math.PI/2-this._pitch)*L+this.cameraToCenterDistance),Pe=this.height/50,Ue=new Float64Array(16);n.perspective(Ue,this._fov,this.width/this.height,Pe,ge),Ue[8]=2*-w.x/this.width,Ue[9]=2*w.y/this.height,n.scale(Ue,Ue,[1,-1,1]),n.translate(Ue,Ue,[0,0,-this.cameraToCenterDistance]),n.rotateX(Ue,Ue,this._pitch),n.rotateZ(Ue,Ue,this.angle),n.translate(Ue,Ue,[-ie,-ae,0]),this.mercatorMatrix=n.scale([],Ue,[this.worldSize,this.worldSize,this.worldSize]),n.scale(Ue,Ue,[1,1,n.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Ue,this.invProjMatrix=n.invert([],this.projMatrix);var ct=this.width%2/2,ft=this.height%2/2,gt=Math.cos(this.angle),ut=Math.sin(this.angle),Pt=ie-Math.round(ie)+gt*ct+ut*ft,Wt=ae-Math.round(ae)+gt*ft+ut*ct,St=new Float64Array(Ue);if(n.translate(St,St,[Pt>.5?Pt-1:Pt,Wt>.5?Wt-1:Wt,0]),this.alignedProjMatrix=St,Ue=n.create(),n.scale(Ue,Ue,[this.width/2,-this.height/2,1]),n.translate(Ue,Ue,[1,-1,0]),this.labelPlaneMatrix=Ue,Ue=n.create(),n.scale(Ue,Ue,[1,-1,1]),n.translate(Ue,Ue,[-1,-1,0]),n.scale(Ue,Ue,[2/this.width,2/this.height,1]),this.glCoordMatrix=Ue,this.pixelMatrix=n.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(Ue=n.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=Ue,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Hi.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var w=this.pointCoordinate(new n.Point(0,0)),M=[w.x*this.worldSize,w.y*this.worldSize,0,1];return n.transformMat4(M,M,this.pixelMatrix)[3]/this.cameraToCenterDistance},Hi.prototype.getCameraPoint=function(){var w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.Point(0,w))},Hi.prototype.getCameraQueryGeometry=function(w){var M=this.getCameraPoint();if(w.length===1)return[w[0],M];for(var S=M.x,L=M.y,Y=M.x,ie=M.y,ae=0,ge=w;ae=3&&!w.some(function(S){return isNaN(S)})){var M=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(w[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+w[2],+w[1]],zoom:+w[0],bearing:M,pitch:+(w[4]||0)}),!0}return!1},Kn.prototype._updateHashUnthrottled=function(){var w=n.window.location.href.replace(/(#.+)?$/,this.getHashString());try{n.window.history.replaceState(n.window.history.state,null,w)}catch{}};var zn={linearity:.3,easing:n.bezier(0,0,.3,1)},Fs=n.extend({deceleration:2500,maxSpeed:1400},zn),wl=n.extend({deceleration:20,maxSpeed:1400},zn),yo=n.extend({deceleration:1e3,maxSpeed:360},zn),tc=n.extend({deceleration:1e3,maxSpeed:90},zn),Tl=function(w){this._map=w,this.clear()};function ll(w,M){(!w.duration||w.duration0&&M-w[0].time>160;)w.shift()},Tl.prototype._onMoveEnd=function(w){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var M={zoom:0,bearing:0,pitch:0,pan:new n.Point(0,0),pinchAround:void 0,around:void 0},S=0,L=this._inertiaBuffer;S=this._clickTolerance||this._map.fire(new Sl(w.type,this._map,w))},Pa.prototype.dblclick=function(w){return this._firePreventable(new Sl(w.type,this._map,w))},Pa.prototype.mouseover=function(w){this._map.fire(new Sl(w.type,this._map,w))},Pa.prototype.mouseout=function(w){this._map.fire(new Sl(w.type,this._map,w))},Pa.prototype.touchstart=function(w){return this._firePreventable(new _d(w.type,this._map,w))},Pa.prototype.touchmove=function(w){this._map.fire(new _d(w.type,this._map,w))},Pa.prototype.touchend=function(w){this._map.fire(new _d(w.type,this._map,w))},Pa.prototype.touchcancel=function(w){this._map.fire(new _d(w.type,this._map,w))},Pa.prototype._firePreventable=function(w){if(this._map.fire(w),w.defaultPrevented)return{}},Pa.prototype.isEnabled=function(){return!0},Pa.prototype.isActive=function(){return!1},Pa.prototype.enable=function(){},Pa.prototype.disable=function(){};var Yi=function(w){this._map=w};Yi.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Yi.prototype.mousemove=function(w){this._map.fire(new Sl(w.type,this._map,w))},Yi.prototype.mousedown=function(){this._delayContextMenu=!0},Yi.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Sl("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Yi.prototype.contextmenu=function(w){this._delayContextMenu?this._contextMenuEvent=w:this._map.fire(new Sl(w.type,this._map,w)),this._map.listens("contextmenu")&&w.preventDefault()},Yi.prototype.isEnabled=function(){return!0},Yi.prototype.isActive=function(){return!1},Yi.prototype.enable=function(){},Yi.prototype.disable=function(){};var Cc=function(w,M){this._map=w,this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=M.clickTolerance||1};function qd(w,M){for(var S={},L=0;Lthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),S.length===this.numTouches&&(this.centroid=function(L){for(var Y=new n.Point(0,0),ie=0,ae=L;ie30)&&(this.aborted=!0)}}},yd.prototype.touchend=function(w,M,S){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),S.length===0){var L=!this.aborted&&this.centroid;if(this.reset(),L)return L}};var ru=function(w){this.singleTap=new yd(w),this.numTaps=w.numTaps,this.reset()};ru.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},ru.prototype.touchstart=function(w,M,S){this.singleTap.touchstart(w,M,S)},ru.prototype.touchmove=function(w,M,S){this.singleTap.touchmove(w,M,S)},ru.prototype.touchend=function(w,M,S){var L=this.singleTap.touchend(w,M,S);if(L){var Y=w.timeStamp-this.lastTime<500,ie=!this.lastTap||this.lastTap.dist(L)<30;if(Y&&ie||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=L,this.count===this.numTaps)return this.reset(),L}};var kl=function(){this._zoomIn=new ru({numTouches:1,numTaps:2}),this._zoomOut=new ru({numTouches:2,numTaps:1}),this.reset()};kl.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},kl.prototype.touchstart=function(w,M,S){this._zoomIn.touchstart(w,M,S),this._zoomOut.touchstart(w,M,S)},kl.prototype.touchmove=function(w,M,S){this._zoomIn.touchmove(w,M,S),this._zoomOut.touchmove(w,M,S)},kl.prototype.touchend=function(w,M,S){var L=this,Y=this._zoomIn.touchend(w,M,S),ie=this._zoomOut.touchend(w,M,S);return Y?(this._active=!0,w.preventDefault(),setTimeout(function(){return L.reset()},0),{cameraAnimation:function(ae){return ae.easeTo({duration:300,zoom:ae.getZoom()+1,around:ae.unproject(Y)},{originalEvent:w})}}):ie?(this._active=!0,w.preventDefault(),setTimeout(function(){return L.reset()},0),{cameraAnimation:function(ae){return ae.easeTo({duration:300,zoom:ae.getZoom()-1,around:ae.unproject(ie)},{originalEvent:w})}}):void 0},kl.prototype.touchcancel=function(){this.reset()},kl.prototype.enable=function(){this._enabled=!0},kl.prototype.disable=function(){this._enabled=!1,this.reset()},kl.prototype.isEnabled=function(){return this._enabled},kl.prototype.isActive=function(){return this._active};var Ip={0:1,2:2},Fi=function(w){this.reset(),this._clickTolerance=w.clickTolerance||1};Fi.prototype.blur=function(){this.reset()},Fi.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Fi.prototype._correctButton=function(w,M){return!1},Fi.prototype._move=function(w,M){return{}},Fi.prototype.mousedown=function(w,M){if(!this._lastPoint){var S=s.mouseButton(w);this._correctButton(w,S)&&(this._lastPoint=M,this._eventButton=S)}},Fi.prototype.mousemoveWindow=function(w,M){var S=this._lastPoint;if(S){if(w.preventDefault(),function(L,Y){var ie=Ip[Y];return L.buttons===void 0||(L.buttons&ie)!==ie}(w,this._eventButton))this.reset();else if(this._moved||!(M.dist(S)0&&(this._active=!0);var L=qd(S,M),Y=new n.Point(0,0),ie=new n.Point(0,0),ae=0;for(var ge in L){var Pe=L[ge],Ue=this._touches[ge];Ue&&(Y._add(Pe),ie._add(Pe.sub(Ue)),ae++,L[ge]=Pe)}if(this._touches=L,!(aeMath.abs(w.x)}var $d=function(w){function M(){w.apply(this,arguments)}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.reset=function(){w.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},M.prototype._start=function(S){this._lastPoints=S,yh(S[0].sub(S[1]))&&(this._valid=!1)},M.prototype._move=function(S,L,Y){var ie=S[0].sub(this._lastPoints[0]),ae=S[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(ie,ae,Y.timeStamp),this._valid)return this._lastPoints=S,this._active=!0,{pitchDelta:(ie.y+ae.y)/2*-.5}},M.prototype.gestureBeginsVertically=function(S,L,Y){if(this._valid!==void 0)return this._valid;var ie=S.mag()>=2,ae=L.mag()>=2;if(ie||ae){if(!ie||!ae)return this._firstMove===void 0&&(this._firstMove=Y),Y-this._firstMove<100&&void 0;var ge=S.y>0==L.y>0;return yh(S)&&yh(L)&&ge}},M}(Ic),$f={panStep:100,bearingStep:15,pitchStep:10},Yu=function(){var w=$f;this._panStep=w.panStep,this._bearingStep=w.bearingStep,this._pitchStep=w.pitchStep,this._rotationDisabled=!1};function gu(w){return w*(2-w)}Yu.prototype.blur=function(){this.reset()},Yu.prototype.reset=function(){this._active=!1},Yu.prototype.keydown=function(w){var M=this;if(!(w.altKey||w.ctrlKey||w.metaKey)){var S=0,L=0,Y=0,ie=0,ae=0;switch(w.keyCode){case 61:case 107:case 171:case 187:S=1;break;case 189:case 109:case 173:S=-1;break;case 37:w.shiftKey?L=-1:(w.preventDefault(),ie=-1);break;case 39:w.shiftKey?L=1:(w.preventDefault(),ie=1);break;case 38:w.shiftKey?Y=1:(w.preventDefault(),ae=-1);break;case 40:w.shiftKey?Y=-1:(w.preventDefault(),ae=1);break;default:return}return this._rotationDisabled&&(L=0,Y=0),{cameraAnimation:function(ge){var Pe=ge.getZoom();ge.easeTo({duration:300,easeId:"keyboardHandler",easing:gu,zoom:S?Math.round(Pe)+S*(w.shiftKey?2:1):Pe,bearing:ge.getBearing()+L*M._bearingStep,pitch:ge.getPitch()+Y*M._pitchStep,offset:[-ie*M._panStep,-ae*M._panStep],center:ge.getCenter()},{originalEvent:w})}}}},Yu.prototype.enable=function(){this._enabled=!0},Yu.prototype.disable=function(){this._enabled=!1,this.reset()},Yu.prototype.isEnabled=function(){return this._enabled},Yu.prototype.isActive=function(){return this._active},Yu.prototype.disableRotation=function(){this._rotationDisabled=!0},Yu.prototype.enableRotation=function(){this._rotationDisabled=!1};var So=function(w,M){this._map=w,this._el=w.getCanvasContainer(),this._handler=M,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,n.bindAll(["_onTimeout"],this)};So.prototype.setZoomRate=function(w){this._defaultZoomRate=w},So.prototype.setWheelZoomRate=function(w){this._wheelZoomRate=w},So.prototype.isEnabled=function(){return!!this._enabled},So.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},So.prototype.isZooming=function(){return!!this._zooming},So.prototype.enable=function(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=w&&w.around==="center")},So.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},So.prototype.wheel=function(w){if(this.isEnabled()){var M=w.deltaMode===n.window.WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,S=n.browser.now(),L=S-(this._lastWheelEventTime||0);this._lastWheelEventTime=S,M!==0&&M%4.000244140625==0?this._type="wheel":M!==0&&Math.abs(M)<4?this._type="trackpad":L>400?(this._type=null,this._lastValue=M,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(L*M)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,M+=this._lastValue)),w.shiftKey&&M&&(M/=4),this._type&&(this._lastWheelEvent=w,this._delta-=M,this._active||this._start(w)),w.preventDefault()}},So.prototype._onTimeout=function(w){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(w)},So.prototype._start=function(w){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 M=s.mousePos(this._el,w);this._around=n.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(M)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},So.prototype.renderFrame=function(){var w=this;if(this._frameId&&(this._frameId=null,this.isActive())){var M=this._map.transform;if(this._delta!==0){var S=this._type==="wheel"&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,L=2/(1+Math.exp(-Math.abs(this._delta*S)));this._delta<0&&L!==0&&(L=1/L);var Y=typeof this._targetZoom=="number"?M.zoomScale(this._targetZoom):M.scale;this._targetZoom=Math.min(M.maxZoom,Math.max(M.minZoom,M.scaleZoom(Y*L))),this._type==="wheel"&&(this._startZoom=M.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var ie,ae=typeof this._targetZoom=="number"?this._targetZoom:M.zoom,ge=this._startZoom,Pe=this._easing,Ue=!1;if(this._type==="wheel"&&ge&&Pe){var ct=Math.min((n.browser.now()-this._lastWheelEventTime)/200,1),ft=Pe(ct);ie=n.number(ge,ae,ft),ct<1?this._frameId||(this._frameId=!0):Ue=!0}else ie=ae,Ue=!0;return this._active=!0,Ue&&(this._active=!1,this._finishTimeout=setTimeout(function(){w._zooming=!1,w._handler._triggerRenderFrame(),delete w._targetZoom,delete w._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Ue,zoomDelta:ie-M.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},So.prototype._smoothOutEasing=function(w){var M=n.ease;if(this._prevEase){var S=this._prevEase,L=(n.browser.now()-S.start)/S.duration,Y=S.easing(L+.01)-S.easing(L),ie=.27/Math.sqrt(Y*Y+1e-4)*.01,ae=Math.sqrt(.0729-ie*ie);M=n.bezier(ie,ae,.25,1)}return this._prevEase={start:n.browser.now(),duration:w,easing:M},M},So.prototype.blur=function(){this.reset()},So.prototype.reset=function(){this._active=!1};var Lu=function(w,M){this._clickZoom=w,this._tapZoom=M};Lu.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Lu.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Lu.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Lu.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Nl=function(){this.reset()};Nl.prototype.reset=function(){this._active=!1},Nl.prototype.blur=function(){this.reset()},Nl.prototype.dblclick=function(w,M){return w.preventDefault(),{cameraAnimation:function(S){S.easeTo({duration:300,zoom:S.getZoom()+(w.shiftKey?-1:1),around:S.unproject(M)},{originalEvent:w})}}},Nl.prototype.enable=function(){this._enabled=!0},Nl.prototype.disable=function(){this._enabled=!1,this.reset()},Nl.prototype.isEnabled=function(){return this._enabled},Nl.prototype.isActive=function(){return this._active};var fa=function(){this._tap=new ru({numTouches:1,numTaps:1}),this.reset()};fa.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},fa.prototype.touchstart=function(w,M,S){this._swipePoint||(this._tapTime&&w.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?S.length>0&&(this._swipePoint=M[0],this._swipeTouch=S[0].identifier):this._tap.touchstart(w,M,S))},fa.prototype.touchmove=function(w,M,S){if(this._tapTime){if(this._swipePoint){if(S[0].identifier!==this._swipeTouch)return;var L=M[0],Y=L.y-this._swipePoint.y;return this._swipePoint=L,w.preventDefault(),this._active=!0,{zoomDelta:Y/128}}}else this._tap.touchmove(w,M,S)},fa.prototype.touchend=function(w,M,S){this._tapTime?this._swipePoint&&S.length===0&&this.reset():this._tap.touchend(w,M,S)&&(this._tapTime=w.timeStamp)},fa.prototype.touchcancel=function(){this.reset()},fa.prototype.enable=function(){this._enabled=!0},fa.prototype.disable=function(){this._enabled=!1,this.reset()},fa.prototype.isEnabled=function(){return this._enabled},fa.prototype.isActive=function(){return this._active};var xf=function(w,M,S){this._el=w,this._mousePan=M,this._touchPan=S};xf.prototype.enable=function(w){this._inertiaOptions=w||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},xf.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},xf.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},xf.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Xf=function(w,M,S){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=M,this._mousePitch=S};Xf.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Xf.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Xf.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Xf.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Pc=function(w,M,S,L){this._el=w,this._touchZoom=M,this._touchRotate=S,this._tapDragZoom=L,this._rotationDisabled=!1,this._enabled=!0};Pc.prototype.enable=function(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},Pc.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Pc.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Pc.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Pc.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Pc.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var El=function(w){return w.zoom||w.drag||w.pitch||w.rotate},Ku=function(w){function M(){w.apply(this,arguments)}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M}(n.Event);function An(w){return w.panDelta&&w.panDelta.mag()||w.zoomDelta||w.bearingDelta||w.pitchDelta}var nn=function(w,M){this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Tl(w),this._bearingSnap=M.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(M),n.bindAll(["handleEvent","handleWindowEvent"],this);var S=this._el;this._listeners=[[S,"touchstart",{passive:!0}],[S,"touchmove",{passive:!1}],[S,"touchend",void 0],[S,"touchcancel",void 0],[S,"mousedown",void 0],[S,"mousemove",void 0],[S,"mouseup",void 0],[n.window.document,"mousemove",{capture:!0}],[n.window.document,"mouseup",void 0],[S,"mouseover",void 0],[S,"mouseout",void 0],[S,"dblclick",void 0],[S,"click",void 0],[S,"keydown",{capture:!1}],[S,"keyup",void 0],[S,"wheel",{passive:!1}],[S,"contextmenu",void 0],[n.window,"blur",void 0]];for(var L=0,Y=this._listeners;Lae?Math.min(2,Wr):Math.max(.5,Wr),bn=Math.pow($i,1-Ci),Tn=ie.unproject(kr.add(Lr.mult(Ci*bn)).mult(Si));ie.setLocationAtPoint(ie.renderWorldCopies?Tn.wrap():Tn,Wt)}Y._fireMoveEvents(L)},function(Ci){Y._afterEase(L,Ci)},S),this},M.prototype._prepareEase=function(S,L,Y){Y===void 0&&(Y={}),this._moving=!0,L||Y.moving||this.fire(new n.Event("movestart",S)),this._zooming&&!Y.zooming&&this.fire(new n.Event("zoomstart",S)),this._rotating&&!Y.rotating&&this.fire(new n.Event("rotatestart",S)),this._pitching&&!Y.pitching&&this.fire(new n.Event("pitchstart",S))},M.prototype._fireMoveEvents=function(S){this.fire(new n.Event("move",S)),this._zooming&&this.fire(new n.Event("zoom",S)),this._rotating&&this.fire(new n.Event("rotate",S)),this._pitching&&this.fire(new n.Event("pitch",S))},M.prototype._afterEase=function(S,L){if(!this._easeId||!L||this._easeId!==L){delete this._easeId;var Y=this._zooming,ie=this._rotating,ae=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Y&&this.fire(new n.Event("zoomend",S)),ie&&this.fire(new n.Event("rotateend",S)),ae&&this.fire(new n.Event("pitchend",S)),this.fire(new n.Event("moveend",S))}},M.prototype.flyTo=function(S,L){var Y=this;if(!S.essential&&n.browser.prefersReducedMotion){var ie=n.pick(S,["center","zoom","bearing","pitch","around"]);return this.jumpTo(ie,L)}this.stop(),S=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},S);var ae=this.transform,ge=this.getZoom(),Pe=this.getBearing(),Ue=this.getPitch(),ct=this.getPadding(),ft="zoom"in S?n.clamp(+S.zoom,ae.minZoom,ae.maxZoom):ge,gt="bearing"in S?this._normalizeBearing(S.bearing,Pe):Pe,ut="pitch"in S?+S.pitch:Ue,Pt="padding"in S?S.padding:ae.padding,Wt=ae.zoomScale(ft-ge),St=n.Point.convert(S.offset),Zt=ae.centerPoint.add(St),ir=ae.pointLocation(Zt),dr=n.LngLat.convert(S.center||ir);this._normalizeCenter(dr);var kr=ae.project(ir),Lr=ae.project(dr).sub(kr),Wr=S.curve,ai=Math.max(ae.width,ae.height),Ci=ai/Wt,Si=Lr.mag();if("minZoom"in S){var $i=n.clamp(Math.min(S.minZoom,ge,ft),ae.minZoom,ae.maxZoom),bn=ai/ae.zoomScale($i-ge);Wr=Math.sqrt(bn/Si*2)}var Tn=Wr*Wr;function xn(Dn){var Rn=(Ci*Ci-ai*ai+(Dn?-1:1)*Tn*Tn*Si*Si)/(2*(Dn?Ci:ai)*Tn*Si);return Math.log(Math.sqrt(Rn*Rn+1)-Rn)}function zo(Dn){return(Math.exp(Dn)-Math.exp(-Dn))/2}function qi(Dn){return(Math.exp(Dn)+Math.exp(-Dn))/2}var Sn=xn(0),$n=function(Dn){return qi(Sn)/qi(Sn+Wr*Dn)},Gi=function(Dn){return ai*((qi(Sn)*(zo(Rn=Sn+Wr*Dn)/qi(Rn))-zo(Sn))/Tn)/Si;var Rn},Hn=(xn(1)-Sn)/Wr;if(Math.abs(Si)<1e-6||!isFinite(Hn)){if(Math.abs(ai-Ci)<1e-6)return this.easeTo(S,L);var eo=CiS.maxDuration&&(S.duration=0),this._zooming=!0,this._rotating=Pe!==gt,this._pitching=ut!==Ue,this._padding=!ae.isPaddingEqual(Pt),this._prepareEase(L,!1),this._ease(function(Dn){var Rn=Dn*Hn,Il=1/$n(Rn);ae.zoom=Dn===1?ft:ge+ae.scaleZoom(Il),Y._rotating&&(ae.bearing=n.number(Pe,gt,Dn)),Y._pitching&&(ae.pitch=n.number(Ue,ut,Dn)),Y._padding&&(ae.interpolatePadding(ct,Pt,Dn),Zt=ae.centerPoint.add(St));var Ga=Dn===1?dr:ae.unproject(kr.add(Lr.mult(Gi(Rn))).mult(Il));ae.setLocationAtPoint(ae.renderWorldCopies?Ga.wrap():Ga,Zt),Y._fireMoveEvents(L)},function(){return Y._afterEase(L)},S),this},M.prototype.isEasing=function(){return!!this._easeFrameId},M.prototype.stop=function(){return this._stop()},M.prototype._stop=function(S,L){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var Y=this._onEaseEnd;delete this._onEaseEnd,Y.call(this,L)}if(!S){var ie=this.handlers;ie&&ie.stop(!1)}return this},M.prototype._ease=function(S,L,Y){Y.animate===!1||Y.duration===0?(S(1),L()):(this._easeStart=n.browser.now(),this._easeOptions=Y,this._onEaseFrame=S,this._onEaseEnd=L,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},M.prototype._renderFrameCallback=function(){var S=Math.min((n.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(S)),S<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},M.prototype._normalizeBearing=function(S,L){S=n.wrap(S,-180,180);var Y=Math.abs(S-L);return Math.abs(S-360-L)180?-360:Y<-180?360:0}},M}(n.Evented),Vc=function(w){w===void 0&&(w={}),this.options=w,n.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Vc.prototype.getDefaultPosition=function(){return"bottom-right"},Vc.prototype.onAdd=function(w){var M=this.options&&this.options.compact;return this._map=w,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=s.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=s.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),M&&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),M===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Vc.prototype.onRemove=function(){s.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},Vc.prototype._setElementTitle=function(w,M){var S=this._map._getUIString("AttributionControl."+M);w.title=S,w.setAttribute("aria-label",S)},Vc.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"))},Vc.prototype._updateEditLink=function(){var w=this._editLink;w||(w=this._editLink=this._container.querySelector(".mapbox-improve-map"));var M=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||n.config.ACCESS_TOKEN}];if(w){var S=M.reduce(function(L,Y,ie){return Y.value&&(L+=Y.key+"="+Y.value+(ie=0)return!1;return!0})).join(" | ");ae!==this._attribHTML&&(this._attribHTML=ae,w.length?(this._innerContainer.innerHTML=ae,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Vc.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Au=function(){n.bindAll(["_updateLogo"],this),n.bindAll(["_updateCompact"],this)};Au.prototype.onAdd=function(w){this._map=w,this._container=s.create("div","mapboxgl-ctrl");var M=s.create("a","mapboxgl-ctrl-logo");return M.target="_blank",M.rel="noopener nofollow",M.href="https://www.mapbox.com/",M.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),M.setAttribute("rel","noopener nofollow"),this._container.appendChild(M),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Au.prototype.onRemove=function(){s.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Au.prototype.getDefaultPosition=function(){return"bottom-left"},Au.prototype._updateLogo=function(w){w&&w.sourceDataType!=="metadata"||(this._container.style.display=this._logoRequired()?"block":"none")},Au.prototype._logoRequired=function(){if(this._map.style){var w=this._map.style.sourceCaches;for(var M in w)if(w[M].getSource().mapbox_logo)return!0;return!1}},Au.prototype._updateCompact=function(){var w=this._container.children;if(w.length){var M=w[0];this._map.getCanvasContainer().offsetWidth<250?M.classList.add("mapboxgl-compact"):M.classList.remove("mapboxgl-compact")}};var Cl=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Cl.prototype.add=function(w){var M=++this._id;return this._queue.push({callback:w,id:M,cancelled:!1}),M},Cl.prototype.remove=function(w){for(var M=this._currentlyRunning,S=0,L=M?this._queue.concat(M):this._queue;SL.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(L.minPitch!=null&&L.maxPitch!=null&&L.minPitch>L.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(L.minPitch!=null&&L.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(L.maxPitch!=null&&L.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var ie=new Hi(L.minZoom,L.maxZoom,L.minPitch,L.maxPitch,L.renderWorldCopies);if(w.call(this,ie,L),this._interactive=L.interactive,this._maxTileCacheSize=L.maxTileCacheSize,this._failIfMajorPerformanceCaveat=L.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=L.preserveDrawingBuffer,this._antialias=L.antialias,this._trackResize=L.trackResize,this._bearingSnap=L.bearingSnap,this._refreshExpiredTiles=L.refreshExpiredTiles,this._fadeDuration=L.fadeDuration,this._crossSourceCollisions=L.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=L.collectResourceTiming,this._renderTaskQueue=new Cl,this._controls=[],this._mapId=n.uniqueId(),this._locale=n.extend({},Zh,L.locale),this._clickTolerance=L.clickTolerance,this._requestManager=new n.RequestManager(L.transformRequest,L.accessToken),typeof L.container=="string"){if(this._container=n.window.document.getElementById(L.container),!this._container)throw new Error("Container '"+L.container+"' not found.")}else{if(!(L.container instanceof Ha))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=L.container}if(L.maxBounds&&this.setMaxBounds(L.maxBounds),n.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 Y._update(!1)}),this.on("moveend",function(){return Y._update(!1)}),this.on("zoom",function(){return Y._update(!0)}),n.window!==void 0&&(n.window.addEventListener("online",this._onWindowOnline,!1),n.window.addEventListener("resize",this._onWindowResize,!1),n.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new nn(this,L),this._hash=L.hash&&new Kn(typeof L.hash=="string"&&L.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:L.center,zoom:L.zoom,bearing:L.bearing,pitch:L.pitch}),L.bounds&&(this.resize(),this.fitBounds(L.bounds,n.extend({},L.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=L.localIdeographFontFamily,L.style&&this.setStyle(L.style,{localIdeographFontFamily:L.localIdeographFontFamily}),L.attributionControl&&this.addControl(new Vc({customAttribution:L.customAttribution})),this.addControl(new Au,L.logoPosition),this.on("style.load",function(){Y.transform.unmodified&&Y.jumpTo(Y.style.stylesheet)}),this.on("data",function(ae){Y._update(ae.dataType==="style"),Y.fire(new n.Event(ae.dataType+"data",ae))}),this.on("dataloading",function(ae){Y.fire(new n.Event(ae.dataType+"dataloading",ae))})}w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M;var S={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return M.prototype._getMapId=function(){return this._mapId},M.prototype.addControl=function(L,Y){if(Y===void 0&&(Y=L.getDefaultPosition?L.getDefaultPosition():"top-right"),!L||!L.onAdd)return this.fire(new n.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var ie=L.onAdd(this);this._controls.push(L);var ae=this._controlPositions[Y];return Y.indexOf("bottom")!==-1?ae.insertBefore(ie,ae.firstChild):ae.appendChild(ie),this},M.prototype.removeControl=function(L){if(!L||!L.onRemove)return this.fire(new n.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var Y=this._controls.indexOf(L);return Y>-1&&this._controls.splice(Y,1),L.onRemove(this),this},M.prototype.hasControl=function(L){return this._controls.indexOf(L)>-1},M.prototype.resize=function(L){var Y=this._containerDimensions(),ie=Y[0],ae=Y[1];if(ie===this.transform.width&&ae===this.transform.height)return this;this._resizeCanvas(ie,ae),this.transform.resize(ie,ae),this.painter.resize(ie,ae);var ge=!this._moving;return ge&&this.fire(new n.Event("movestart",L)).fire(new n.Event("move",L)),this.fire(new n.Event("resize",L)),ge&&this.fire(new n.Event("moveend",L)),this},M.prototype.getBounds=function(){return this.transform.getBounds()},M.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},M.prototype.setMaxBounds=function(L){return this.transform.setMaxBounds(n.LngLatBounds.convert(L)),this._update()},M.prototype.setMinZoom=function(L){if((L=L??-2)>=-2&&L<=this.transform.maxZoom)return this.transform.minZoom=L,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=L,this._update(),this.getZoom()>L&&this.setZoom(L),this;throw new Error("maxZoom must be greater than the current minZoom")},M.prototype.getMaxZoom=function(){return this.transform.maxZoom},M.prototype.setMinPitch=function(L){if((L=L??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(L>=0&&L<=this.transform.maxPitch)return this.transform.minPitch=L,this._update(),this.getPitch()60)throw new Error("maxPitch must be less than or equal to 60");if(L>=this.transform.minPitch)return this.transform.maxPitch=L,this._update(),this.getPitch()>L&&this.setPitch(L),this;throw new Error("maxPitch must be greater than the current minPitch")},M.prototype.getMaxPitch=function(){return this.transform.maxPitch},M.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},M.prototype.setRenderWorldCopies=function(L){return this.transform.renderWorldCopies=L,this._update()},M.prototype.project=function(L){return this.transform.locationPoint(n.LngLat.convert(L))},M.prototype.unproject=function(L){return this.transform.pointLocation(n.Point.convert(L))},M.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},M.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},M.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},M.prototype._createDelegatedListener=function(L,Y,ie){var ae,ge=this;if(L==="mouseenter"||L==="mouseover"){var Pe=!1;return{layer:Y,listener:ie,delegates:{mousemove:function(ct){var ft=ge.getLayer(Y)?ge.queryRenderedFeatures(ct.point,{layers:[Y]}):[];ft.length?Pe||(Pe=!0,ie.call(ge,new Sl(L,ge,ct.originalEvent,{features:ft}))):Pe=!1},mouseout:function(){Pe=!1}}}}if(L==="mouseleave"||L==="mouseout"){var Ue=!1;return{layer:Y,listener:ie,delegates:{mousemove:function(ct){(ge.getLayer(Y)?ge.queryRenderedFeatures(ct.point,{layers:[Y]}):[]).length?Ue=!0:Ue&&(Ue=!1,ie.call(ge,new Sl(L,ge,ct.originalEvent)))},mouseout:function(ct){Ue&&(Ue=!1,ie.call(ge,new Sl(L,ge,ct.originalEvent)))}}}}return{layer:Y,listener:ie,delegates:(ae={},ae[L]=function(ct){var ft=ge.getLayer(Y)?ge.queryRenderedFeatures(ct.point,{layers:[Y]}):[];ft.length&&(ct.features=ft,ie.call(ge,ct),delete ct.features)},ae)}},M.prototype.on=function(L,Y,ie){if(ie===void 0)return w.prototype.on.call(this,L,Y);var ae=this._createDelegatedListener(L,Y,ie);for(var ge in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[L]=this._delegatedListeners[L]||[],this._delegatedListeners[L].push(ae),ae.delegates)this.on(ge,ae.delegates[ge]);return this},M.prototype.once=function(L,Y,ie){if(ie===void 0)return w.prototype.once.call(this,L,Y);var ae=this._createDelegatedListener(L,Y,ie);for(var ge in ae.delegates)this.once(ge,ae.delegates[ge]);return this},M.prototype.off=function(L,Y,ie){var ae=this;return ie===void 0?w.prototype.off.call(this,L,Y):(this._delegatedListeners&&this._delegatedListeners[L]&&function(ge){for(var Pe=ge[L],Ue=0;Ue180;){var ae=S.locationPoint(w);if(ae.x>=0&&ae.y>=0&&ae.x<=S.width&&ae.y<=S.height)break;w.lng>S.center.lng?w.lng-=360:w.lng+=360}return w}Rc.prototype.down=function(w,M){this.mouseRotate.mousedown(w,M),this.mousePitch&&this.mousePitch.mousedown(w,M),s.disableDrag()},Rc.prototype.move=function(w,M){var S=this.map,L=this.mouseRotate.mousemoveWindow(w,M);if(L&&L.bearingDelta&&S.setBearing(S.getBearing()+L.bearingDelta),this.mousePitch){var Y=this.mousePitch.mousemoveWindow(w,M);Y&&Y.pitchDelta&&S.setPitch(S.getPitch()+Y.pitchDelta)}},Rc.prototype.off=function(){var w=this.element;s.removeEventListener(w,"mousedown",this.mousedown),s.removeEventListener(w,"touchstart",this.touchstart,{passive:!1}),s.removeEventListener(w,"touchmove",this.touchmove),s.removeEventListener(w,"touchend",this.touchend),s.removeEventListener(w,"touchcancel",this.reset),this.offTemp()},Rc.prototype.offTemp=function(){s.enableDrag(),s.removeEventListener(n.window,"mousemove",this.mousemove),s.removeEventListener(n.window,"mouseup",this.mouseup)},Rc.prototype.mousedown=function(w){this.down(n.extend({},w,{ctrlKey:!0,preventDefault:function(){return w.preventDefault()}}),s.mousePos(this.element,w)),s.addEventListener(n.window,"mousemove",this.mousemove),s.addEventListener(n.window,"mouseup",this.mouseup)},Rc.prototype.mousemove=function(w){this.move(w,s.mousePos(this.element,w))},Rc.prototype.mouseup=function(w){this.mouseRotate.mouseupWindow(w),this.mousePitch&&this.mousePitch.mouseupWindow(w),this.offTemp()},Rc.prototype.touchstart=function(w){w.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=s.touchPos(this.element,w.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return w.preventDefault()}},this._startPos))},Rc.prototype.touchmove=function(w){w.targetTouches.length!==1?this.reset():(this._lastPos=s.touchPos(this.element,w.targetTouches)[0],this.move({preventDefault:function(){return w.preventDefault()}},this._lastPos))},Rc.prototype.touchend=function(w){w.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=L}this._isDragging&&(this._pos=S.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 n.Event("dragstart"))),this.fire(new n.Event("drag")))},M.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 n.Event("dragend")),this._state="inactive"},M.prototype._addDragHandler=function(S){this._element.contains(S.originalEvent.target)&&(S.preventDefault(),this._positionDelta=S.point.sub(this._pos).add(this._offset),this._pointerdownPos=S.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))},M.prototype.setDraggable=function(S){return this._draggable=!!S,this._map&&(S?(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},M.prototype.isDraggable=function(){return this._draggable},M.prototype.setRotation=function(S){return this._rotation=S||0,this._update(),this},M.prototype.getRotation=function(){return this._rotation},M.prototype.setRotationAlignment=function(S){return this._rotationAlignment=S||"auto",this._update(),this},M.prototype.getRotationAlignment=function(){return this._rotationAlignment},M.prototype.setPitchAlignment=function(S){return this._pitchAlignment=S&&S!=="auto"?S:this._rotationAlignment,this._update(),this},M.prototype.getPitchAlignment=function(){return this._pitchAlignment},M}(n.Evented),mm={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},xh=0,Qu=!1,Yd=function(w){function M(S){w.call(this),this.options=n.extend({},mm,S),n.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.onAdd=function(S){var L;return this._map=S,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),L=this._setupUI,Zd!==void 0?L(Zd):n.window.navigator.permissions!==void 0?n.window.navigator.permissions.query({name:"geolocation"}).then(function(Y){L(Zd=Y.state!=="denied")}):L(Zd=!!n.window.navigator.geolocation),this._container},M.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(n.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(),s.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,xh=0,Qu=!1},M.prototype._isOutOfMapMaxBounds=function(S){var L=this._map.getMaxBounds(),Y=S.coords;return L&&(Y.longitudeL.getEast()||Y.latitudeL.getNorth())},M.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")}},M.prototype._onSuccess=function(S){if(this._map){if(this._isOutOfMapMaxBounds(S))return this._setErrorState(),this.fire(new n.Event("outofmaxbounds",S)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=S,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")}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(S),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(S),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new n.Event("geolocate",S)),this._finish()}},M.prototype._updateCamera=function(S){var L=new n.LngLat(S.coords.longitude,S.coords.latitude),Y=S.coords.accuracy,ie=this._map.getBearing(),ae=n.extend({bearing:ie},this.options.fitBoundsOptions);this._map.fitBounds(L.toBounds(Y),ae,{geolocateSource:!0})},M.prototype._updateMarker=function(S){if(S){var L=new n.LngLat(S.coords.longitude,S.coords.latitude);this._accuracyCircleMarker.setLngLat(L).addTo(this._map),this._userLocationDotMarker.setLngLat(L).addTo(this._map),this._accuracy=S.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},M.prototype._updateCircleRadius=function(){var S=this._map._container.clientHeight/2,L=this._map.unproject([0,S]),Y=this._map.unproject([1,S]),ie=L.distanceTo(Y),ae=Math.ceil(2*this._accuracy/ie);this._circleElement.style.width=ae+"px",this._circleElement.style.height=ae+"px"},M.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},M.prototype._onError=function(S){if(this._map){if(this.options.trackUserLocation)if(S.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 L=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=L,this._geolocateButton.setAttribute("aria-label",L),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(S.code===3&&Qu)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new n.Event("error",S)),this._finish()}},M.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},M.prototype._setupUI=function(S){var L=this;if(this._container.addEventListener("contextmenu",function(ae){return ae.preventDefault()}),this._geolocateButton=s.create("button","mapboxgl-ctrl-geolocate",this._container),s.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",S===!1){n.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var Y=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=Y,this._geolocateButton.setAttribute("aria-label",Y)}else{var ie=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=ie,this._geolocateButton.setAttribute("aria-label",ie)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=s.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new xd(this._dotElement),this._circleElement=s.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new xd({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(ae){ae.geolocateSource||L._watchState!=="ACTIVE_LOCK"||ae.originalEvent&&ae.originalEvent.type==="resize"||(L._watchState="BACKGROUND",L._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),L._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),L.fire(new n.Event("trackuserlocationend")))})},M.prototype.trigger=function(){if(!this._setup)return n.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 n.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":xh--,Qu=!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 n.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 n.Event("trackuserlocationstart"))}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")}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){var S;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++xh>1?(S={maximumAge:6e5,timeout:0},Qu=!0):(S=this.options.positionOptions,Qu=!1),this._geolocationWatchID=n.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,S)}}else n.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},M.prototype._clearWatch=function(){n.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)},M}(n.Evented),Kh={maxWidth:100,unit:"metric"},bh=function(w){this.options=n.extend({},Kh,w),n.bindAll(["_onMove","setUnit"],this)};function Rp(w,M,S){var L=S&&S.maxWidth||100,Y=w._container.clientHeight/2,ie=w.unproject([0,Y]),ae=w.unproject([L,Y]),ge=ie.distanceTo(ae);if(S&&S.unit==="imperial"){var Pe=3.2808*ge;Pe>5280?bf(M,L,Pe/5280,w._getUIString("ScaleControl.Miles")):bf(M,L,Pe,w._getUIString("ScaleControl.Feet"))}else S&&S.unit==="nautical"?bf(M,L,ge/1852,w._getUIString("ScaleControl.NauticalMiles")):ge>=1e3?bf(M,L,ge/1e3,w._getUIString("ScaleControl.Kilometers")):bf(M,L,ge,w._getUIString("ScaleControl.Meters"))}function bf(w,M,S,L){var Y,ie,ae,ge=(Y=S,(ie=Math.pow(10,(""+Math.floor(Y)).length-1))*(ae=(ae=Y/ie)>=10?10:ae>=5?5:ae>=3?3:ae>=2?2:ae>=1?1:function(Pe){var Ue=Math.pow(10,Math.ceil(-Math.log(Pe)/Math.LN10));return Math.round(Pe*Ue)/Ue}(ae)));w.style.width=M*(ge/S)+"px",w.innerHTML=ge+" "+L}bh.prototype.getDefaultPosition=function(){return"bottom-left"},bh.prototype._onMove=function(){Rp(this._map,this._container,this.options)},bh.prototype.onAdd=function(w){return this._map=w,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",w.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},bh.prototype.onRemove=function(){s.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},bh.prototype.setUnit=function(w){this.options.unit=w,Rp(this._map,this._container,this.options)};var Du=function(w){this._fullscreen=!1,w&&w.container&&(w.container instanceof n.window.HTMLElement?this._container=w.container:n.warnOnce("Full screen control 'container' must be a DOM element.")),n.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in n.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in n.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in n.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in n.window.document&&(this._fullscreenchange="MSFullscreenChange")};Du.prototype.onAdd=function(w){return this._map=w,this._container||(this._container=this._map.getContainer()),this._controlContainer=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",n.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Du.prototype.onRemove=function(){s.remove(this._controlContainer),this._map=null,n.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Du.prototype._checkFullscreenSupport=function(){return!!(n.window.document.fullscreenEnabled||n.window.document.mozFullScreenEnabled||n.window.document.msFullscreenEnabled||n.window.document.webkitFullscreenEnabled)},Du.prototype._setupUI=function(){var w=this._fullscreenButton=s.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);s.create("span","mapboxgl-ctrl-icon",w).setAttribute("aria-hidden",!0),w.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),n.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Du.prototype._updateTitle=function(){var w=this._getTitle();this._fullscreenButton.setAttribute("aria-label",w),this._fullscreenButton.title=w},Du.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Du.prototype._isFullscreen=function(){return this._fullscreen},Du.prototype._changeIcon=function(){(n.window.document.fullscreenElement||n.window.document.mozFullScreenElement||n.window.document.webkitFullscreenElement||n.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Du.prototype._onClickFullscreen=function(){this._isFullscreen()?n.window.document.exitFullscreen?n.window.document.exitFullscreen():n.window.document.mozCancelFullScreen?n.window.document.mozCancelFullScreen():n.window.document.msExitFullscreen?n.window.document.msExitFullscreen():n.window.document.webkitCancelFullScreen&&n.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 Bp={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},Kd=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),Yf=function(w){function M(S){w.call(this),this.options=n.extend(Object.create(Bp),S),n.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return w&&(M.__proto__=w),(M.prototype=Object.create(w&&w.prototype)).constructor=M,M.prototype.addTo=function(S){return this._map&&this.remove(),this._map=S,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 n.Event("open")),this},M.prototype.isOpen=function(){return!!this._map},M.prototype.remove=function(){return this._content&&s.remove(this._content),this._container&&(s.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 n.Event("close")),this},M.prototype.getLngLat=function(){return this._lngLat},M.prototype.setLngLat=function(S){return this._lngLat=n.LngLat.convert(S),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},M.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},M.prototype.getElement=function(){return this._container},M.prototype.setText=function(S){return this.setDOMContent(n.window.document.createTextNode(S))},M.prototype.setHTML=function(S){var L,Y=n.window.document.createDocumentFragment(),ie=n.window.document.createElement("body");for(ie.innerHTML=S;L=ie.firstChild;)Y.appendChild(L);return this.setDOMContent(Y)},M.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},M.prototype.setMaxWidth=function(S){return this.options.maxWidth=S,this._update(),this},M.prototype.setDOMContent=function(S){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(S),this._createCloseButton(),this._update(),this._focusFirstElement(),this},M.prototype.addClassName=function(S){this._container&&this._container.classList.add(S)},M.prototype.removeClassName=function(S){this._container&&this._container.classList.remove(S)},M.prototype.setOffset=function(S){return this.options.offset=S,this._update(),this},M.prototype.toggleClassName=function(S){if(this._container)return this._container.classList.toggle(S)},M.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=s.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))},M.prototype._onMouseUp=function(S){this._update(S.point)},M.prototype._onMouseMove=function(S){this._update(S.point)},M.prototype._onDrag=function(S){this._update(S.point)},M.prototype._update=function(S){var L=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=s.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=s.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(ft){return L._container.classList.add(ft)}),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=vh(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||S)){var Y=this._pos=this._trackPointer&&S?S:this._map.project(this._lngLat),ie=this.options.anchor,ae=function ft(gt){if(gt){if(typeof gt=="number"){var ut=Math.round(Math.sqrt(.5*Math.pow(gt,2)));return{center:new n.Point(0,0),top:new n.Point(0,gt),"top-left":new n.Point(ut,ut),"top-right":new n.Point(-ut,ut),bottom:new n.Point(0,-gt),"bottom-left":new n.Point(ut,-ut),"bottom-right":new n.Point(-ut,-ut),left:new n.Point(gt,0),right:new n.Point(-gt,0)}}if(gt instanceof n.Point||Array.isArray(gt)){var Pt=n.Point.convert(gt);return{center:Pt,top:Pt,"top-left":Pt,"top-right":Pt,bottom:Pt,"bottom-left":Pt,"bottom-right":Pt,left:Pt,right:Pt}}return{center:n.Point.convert(gt.center||[0,0]),top:n.Point.convert(gt.top||[0,0]),"top-left":n.Point.convert(gt["top-left"]||[0,0]),"top-right":n.Point.convert(gt["top-right"]||[0,0]),bottom:n.Point.convert(gt.bottom||[0,0]),"bottom-left":n.Point.convert(gt["bottom-left"]||[0,0]),"bottom-right":n.Point.convert(gt["bottom-right"]||[0,0]),left:n.Point.convert(gt.left||[0,0]),right:n.Point.convert(gt.right||[0,0])}}return ft(new n.Point(0,0))}(this.options.offset);if(!ie){var ge,Pe=this._container.offsetWidth,Ue=this._container.offsetHeight;ge=Y.y+ae.bottom.ythis._map.transform.height-Ue?["bottom"]:[],Y.xthis._map.transform.width-Pe/2&&ge.push("right"),ie=ge.length===0?"bottom":ge.join("-")}var ct=Y.add(ae[ie]).round();s.setTransform(this._container,_u[ie]+" translate("+ct.x+"px,"+ct.y+"px)"),Zf(this._container,ie,"popup")}},M.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var S=this._container.querySelector(Kd);S&&S.focus()}},M.prototype._onClose=function(){this.remove()},M}(n.Evented),Qh={version:n.version,supported:o,setRTLTextPlugin:n.setRTLTextPlugin,getRTLTextPluginStatus:n.getRTLTextPluginStatus,Map:Mp,NavigationControl:_c,GeolocateControl:Yd,AttributionControl:Vc,ScaleControl:bh,FullscreenControl:Du,Popup:Yf,Marker:xd,Style:xl,LngLat:n.LngLat,LngLatBounds:n.LngLatBounds,Point:n.Point,MercatorCoordinate:n.MercatorCoordinate,Evented:n.Evented,config:n.config,prewarm:function(){pr().acquire(Hr)},clearPrewarmedResources:function(){var w=Or;w&&(w.isPreloaded()&&w.numActive()===1?(w.release(Hr),Or=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()"))},get accessToken(){return n.config.ACCESS_TOKEN},set accessToken(w){n.config.ACCESS_TOKEN=w},get baseApiUrl(){return n.config.API_URL},set baseApiUrl(w){n.config.API_URL=w},get workerCount(){return si.workerCount},set workerCount(w){si.workerCount=w},get maxParallelImageRequests(){return n.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(w){n.config.MAX_PARALLEL_IMAGE_REQUESTS=w},clearStorage:function(w){n.clearTileCache(w)},workerUrl:""};return Qh}),r})});function zBe(t,e){let r=t.stats,i=!1;for(let f of e)r[f]||(t.get(f),i=!0);let n=Object.keys(r).length,o=Xie.get(t);if(!i&&o?.orderedStatNames===e&&o.statCount===n)return;let s={},c=Zie.get(e);c||(c=new Set(e),Zie.set(e,c));for(let f of e)r[f]&&(s[f]=r[f]);for(let[f,g]of Object.entries(r))c.has(f)||(s[f]=g);for(let f of Object.keys(r))delete r[f];Object.assign(r,s),Xie.set(t,{orderedStatNames:e,statCount:n})}var kBe,NBe,Xie,Zie,tG,FF,rG=Nt(()=>{Nb();kBe="GPU Time and Memory",NBe=["Adapter","GPU","GPU Type","GPU Backend","Frame Rate","CPU Time","GPU Time","GPU Memory","Buffer Memory","Texture Memory","Referenced Buffer Memory","Referenced Texture Memory","Swap Chain Texture"],Xie=new WeakMap,Zie=new WeakMap,tG=class{stats=new Map;getStats(e){return this.get(e)}get(e){this.stats.has(e)||this.stats.set(e,new Ed({id:e}));let r=this.stats.get(e);return e===kBe&&zBe(r,NBe),r}},FF=new tG});var Dr,Lg=Nt(()=>{Mv();Dr=new sf({id:"luma.gl"})});function XA(t="id"){iG[t]=iG[t]||1;let e=iG[t]++;return`${t}-${e}`}var iG,jT=Nt(()=>{iG={}});function WBe(t,e){let r={...e};for(let i in t)t[i]!==void 0&&(r[i]=t[i]);return r}function tne(t,e){let r=t.stats,i=!1;for(let f of e)r[f]||(t.get(f),i=!0);let n=Object.keys(r).length,o=Jie.get(t);if(!i&&o?.orderedStatNames===e&&o.statCount===n)return;let s={},c=ene.get(e);c||(c=new Set(e),ene.set(e,c));for(let f of e)r[f]&&(s[f]=r[f]);for(let[f,g]of Object.entries(r))c.has(f)||(s[f]=g);for(let f of Object.keys(r))delete r[f];Object.assign(r,s),Jie.set(t,{orderedStatNames:e,statCount:n})}function rne(t){return t.type==="webgl"?GBe:HBe}function XM(t){let e=t.userData[UBe];return e?.enabled?e:null}function Yv(){return globalThis.performance?.now?.()??Date.now()}function qBe(t,e){let r=XM(t);if(!(!r||!r.activeDefaultFramebufferAcquireDepth))switch(r.transientCanvasResourceCreates=(r.transientCanvasResourceCreates||0)+1,e){case"Texture":r.transientCanvasTextureCreates=(r.transientCanvasTextureCreates||0)+1;break;case"TextureView":r.transientCanvasTextureViewCreates=(r.transientCanvasTextureViewCreates||0)+1;break;case"Sampler":r.transientCanvasSamplerCreates=(r.transientCanvasSamplerCreates||0)+1;break;case"Framebuffer":r.transientCanvasFramebufferCreates=(r.transientCanvasFramebufferCreates||0)+1;break;default:break}}function $Be(t){let e=Object.getPrototypeOf(t);for(;e;){let r=Object.getPrototypeOf(e);if(!r||r===$o.prototype)return XBe(e)||t[Symbol.toStringTag]||t.constructor.name;e=r}return t[Symbol.toStringTag]||t.constructor.name}function XBe(t){let e=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag);return typeof e?.get=="function"?e.get.call(t):typeof e?.value=="string"?e.value:null}var UBe,Yie,Kie,Qie,VBe,jBe,HBe,GBe,Jie,ene,$o,ad=Nt(()=>{jT();UBe="cpu-hotspot-profiler",Yie="GPU Resource Counts",Kie="Resource Counts",Qie="GPU Time and Memory",VBe=["Resources","Buffers","Textures","Samplers","TextureViews","Framebuffers","QuerySets","Shaders","RenderPipelines","ComputePipelines","PipelineLayouts","VertexArrays","RenderPasss","ComputePasss","CommandEncoders","CommandBuffers"],jBe=["Resources","Buffers","Textures","Samplers","TextureViews","Framebuffers","QuerySets","Shaders","RenderPipelines","SharedRenderPipelines","ComputePipelines","PipelineLayouts","VertexArrays","RenderPasss","ComputePasss","CommandEncoders","CommandBuffers"],HBe=VBe.flatMap(t=>[`${t} Created`,`${t} Active`]),GBe=jBe.flatMap(t=>[`${t} Created`,`${t} Active`]),Jie=new WeakMap,ene=new WeakMap,$o=class{toString(){return`${this[Symbol.toStringTag]||this.constructor.name}:"${this.id}"`}id;props;userData={};_device;destroyed=!1;allocatedBytes=0;allocatedBytesName=null;_attachedResources=new Set;constructor(e,r,i){if(!e)throw new Error("no device");this._device=e,this.props=WBe(r,i);let n=this.props.id!=="undefined"?this.props.id:XA(this[Symbol.toStringTag]);this.props.id=n,this.id=n,this.userData=this.props.userData||{},this.addStats()}destroy(){this.destroyed||this.destroyResource()}delete(){return this.destroy(),this}getProps(){return this.props}attachResource(e){this._attachedResources.add(e)}detachResource(e){this._attachedResources.delete(e)}destroyAttachedResource(e){this._attachedResources.delete(e)&&e.destroy()}destroyAttachedResources(){for(let e of this._attachedResources)e.destroy();this._attachedResources=new Set}destroyResource(){this.destroyed||(this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0)}removeStats(){let e=XM(this._device),r=e?Yv():0,i=[this._device.statsManager.getStats(Yie),this._device.statsManager.getStats(Kie)],n=rne(this._device);for(let s of i)tne(s,n);let o=this.getStatsName();for(let s of i)s.get("Resources Active").decrementCount(),s.get(`${o}s Active`).decrementCount();e&&(e.statsBookkeepingCalls=(e.statsBookkeepingCalls||0)+1,e.statsBookkeepingTimeMs=(e.statsBookkeepingTimeMs||0)+(Yv()-r))}trackAllocatedMemory(e,r=this.getStatsName()){let i=XM(this._device),n=i?Yv():0,o=this._device.statsManager.getStats(Qie);this.allocatedBytes>0&&this.allocatedBytesName&&(o.get("GPU Memory").subtractCount(this.allocatedBytes),o.get(`${this.allocatedBytesName} Memory`).subtractCount(this.allocatedBytes)),o.get("GPU Memory").addCount(e),o.get(`${r} Memory`).addCount(e),i&&(i.statsBookkeepingCalls=(i.statsBookkeepingCalls||0)+1,i.statsBookkeepingTimeMs=(i.statsBookkeepingTimeMs||0)+(Yv()-n)),this.allocatedBytes=e,this.allocatedBytesName=r}trackReferencedMemory(e,r=this.getStatsName()){this.trackAllocatedMemory(e,`Referenced ${r}`)}trackDeallocatedMemory(e=this.getStatsName()){if(this.allocatedBytes===0){this.allocatedBytesName=null;return}let r=XM(this._device),i=r?Yv():0,n=this._device.statsManager.getStats(Qie);n.get("GPU Memory").subtractCount(this.allocatedBytes),n.get(`${this.allocatedBytesName||e} Memory`).subtractCount(this.allocatedBytes),r&&(r.statsBookkeepingCalls=(r.statsBookkeepingCalls||0)+1,r.statsBookkeepingTimeMs=(r.statsBookkeepingTimeMs||0)+(Yv()-i)),this.allocatedBytes=0,this.allocatedBytesName=null}trackDeallocatedReferencedMemory(e=this.getStatsName()){this.trackDeallocatedMemory(`Referenced ${e}`)}addStats(){let e=this.getStatsName(),r=XM(this._device),i=r?Yv():0,n=[this._device.statsManager.getStats(Yie),this._device.statsManager.getStats(Kie)],o=rne(this._device);for(let s of n)tne(s,o);for(let s of n)s.get("Resources Created").incrementCount(),s.get("Resources Active").incrementCount(),s.get(`${e}s Created`).incrementCount(),s.get(`${e}s Active`).incrementCount();r&&(r.statsBookkeepingCalls=(r.statsBookkeepingCalls||0)+1,r.statsBookkeepingTimeMs=(r.statsBookkeepingTimeMs||0)+(Yv()-i)),qBe(this._device,e)}getStatsName(){return $Be(this)}};Qi($o,"defaultProps",{id:"undefined",handle:void 0,userData:void 0})});var ZM,lo,kF=Nt(()=>{ad();ZM=class extends $o{get[Symbol.toStringTag](){return"Buffer"}usage;indexType;updateTimestamp;constructor(e,r){let i={...r};(r.usage||0)&ZM.INDEX&&!r.indexType&&(r.data instanceof Uint32Array?i.indexType="uint32":r.data instanceof Uint16Array?i.indexType="uint16":r.data instanceof Uint8Array&&(i.indexType="uint8")),delete i.data,super(e,i,ZM.defaultProps),this.usage=i.usage||0,this.indexType=i.indexType,this.updateTimestamp=e.incrementTimestamp()}clone(e){return this.device.createBuffer({...this.props,...e})}debugData=new ArrayBuffer(0);_setDebugData(e,r,i){let n=null,o;ArrayBuffer.isView(e)?(n=e,o=e.buffer):o=e;let s=Math.min(e?e.byteLength:i,ZM.DEBUG_DATA_MAX_LENGTH);if(o===null)this.debugData=new ArrayBuffer(s);else{let c=Math.min(n?.byteOffset||0,o.byteLength),f=Math.max(0,o.byteLength-c),g=Math.min(s,f);this.debugData=new Uint8Array(o,c,g).slice().buffer}}},lo=ZM;Qi(lo,"INDEX",16),Qi(lo,"VERTEX",32),Qi(lo,"UNIFORM",64),Qi(lo,"STORAGE",128),Qi(lo,"INDIRECT",256),Qi(lo,"QUERY_RESOLVE",512),Qi(lo,"MAP_READ",1),Qi(lo,"MAP_WRITE",2),Qi(lo,"COPY_SRC",4),Qi(lo,"COPY_DST",8),Qi(lo,"DEBUG_DATA_MAX_LENGTH",32),Qi(lo,"defaultProps",{...$o.defaultProps,usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",onMapped:void 0})});var oG,cp,nG,NF=Nt(()=>{oG=class{getDataTypeInfo(e){let[r,i,n]=nG[e],o=e.includes("norm"),s=!o&&!e.startsWith("float"),c=e.startsWith("s");return{signedType:r,primitiveType:i,byteLength:n,normalized:o,integer:s,signed:c}}getNormalizedDataType(e){let r=e;switch(r){case"uint8":return"unorm8";case"sint8":return"snorm8";case"uint16":return"unorm16";case"sint16":return"snorm16";default:return r}}alignTo(e,r){switch(r){case 1:return e;case 2:return e+e%2;default:return e+(4-e%4)%4}}getDataType(e){let r=ArrayBuffer.isView(e)?e.constructor:e;if(r===Uint8ClampedArray)return"uint8";let i=Object.values(nG).find(n=>r===n[4]);if(!i)throw new Error(r.name);return i[0]}getTypedArrayConstructor(e){let[,,,,r]=nG[e];return r}},cp=new oG,nG={uint8:["uint8","u32",1,!1,Uint8Array],sint8:["sint8","i32",1,!1,Int8Array],unorm8:["uint8","f32",1,!0,Uint8Array],snorm8:["sint8","f32",1,!0,Int8Array],uint16:["uint16","u32",2,!1,Uint16Array],sint16:["sint16","i32",2,!1,Int16Array],unorm16:["uint16","u32",2,!0,Uint16Array],snorm16:["sint16","i32",2,!0,Int16Array],float16:["float16","f16",2,!1,Uint16Array],float32:["float32","f32",4,!1,Float32Array],uint32:["uint32","u32",4,!1,Uint32Array],sint32:["sint32","i32",4,!1,Int32Array]}});var sG,py,zF=Nt(()=>{NF();sG=class{getVertexFormatInfo(e){let r;e.endsWith("-webgl")&&(e.replace("-webgl",""),r=!0);let[i,n]=e.split("x"),o=i,s=n?parseInt(n):1,c=cp.getDataTypeInfo(o),f={type:o,components:s,byteLength:c.byteLength*s,integer:c.integer,signed:c.signed,normalized:c.normalized};return r&&(f.webglOnly=!0),f}makeVertexFormat(e,r,i){let n=i?cp.getNormalizedDataType(e):e;switch(n){case"unorm8":return r===1?"unorm8":r===3?"unorm8x3-webgl":`${n}x${r}`;case"snorm8":return r===1?"snorm8":r===3?"snorm8x3-webgl":`${n}x${r}`;case"uint8":case"sint8":if(r===1||r===3)throw new Error(`size: ${r}`);return`${n}x${r}`;case"uint16":return r===1?"uint16":r===3?"uint16x3-webgl":`${n}x${r}`;case"sint16":return r===1?"sint16":r===3?"sint16x3-webgl":`${n}x${r}`;case"unorm16":return r===1?"unorm16":r===3?"unorm16x3-webgl":`${n}x${r}`;case"snorm16":return r===1?"snorm16":r===3?"snorm16x3-webgl":`${n}x${r}`;case"float16":if(r===1||r===3)throw new Error(`size: ${r}`);return`${n}x${r}`;default:return r===1?n:`${n}x${r}`}}getVertexFormatFromAttribute(e,r,i){if(!r||r>4)throw new Error(`size ${r}`);let n=r,o=cp.getDataType(e);return this.makeVertexFormat(o,n,i)}getCompatibleVertexFormat(e){let r;switch(e.primitiveType){case"f32":r="float32";break;case"i32":r="sint32";break;case"u32":r="uint32";break;case"f16":return e.components<=2?"float16x2":"float16x4"}return e.components===1?r:`${r}x${e.components}`}},py=new sG});function fG(t){let e=one[t];if(!e)throw new Error(`Unsupported texture format ${t}`);return e}function nne(){return one}var Ld,uc,ZA,ZBe,UF,aG,VF,lG,YBe,cG,Kv,uG,hG,jF,ine,KBe,QBe,one,dG=Nt(()=>{Ld="texture-compression-bc",uc="texture-compression-astc",ZA="texture-compression-etc2",ZBe="texture-compression-etc1-webgl",UF="texture-compression-pvrtc-webgl",aG="texture-compression-atc-webgl",VF="float32-renderable-webgl",lG="float16-renderable-webgl",YBe="rgb9e5ufloat-renderable-webgl",cG="snorm8-renderable-webgl",Kv="norm16-webgl",uG="norm16-renderable-webgl",hG="snorm16-renderable-webgl",jF="float32-filterable",ine="float16-filterable-webgl";KBe={r8unorm:{},rg8unorm:{},"rgb8unorm-webgl":{},rgba8unorm:{},"rgba8unorm-srgb":{},r8snorm:{render:cG},rg8snorm:{render:cG},"rgb8snorm-webgl":{},rgba8snorm:{render:cG},r8uint:{},rg8uint:{},rgba8uint:{},r8sint:{},rg8sint:{},rgba8sint:{},bgra8unorm:{},"bgra8unorm-srgb":{},r16unorm:{f:Kv,render:uG},rg16unorm:{f:Kv,render:uG},"rgb16unorm-webgl":{f:Kv,render:!1},rgba16unorm:{f:Kv,render:uG},r16snorm:{f:Kv,render:hG},rg16snorm:{f:Kv,render:hG},"rgb16snorm-webgl":{f:Kv,render:!1},rgba16snorm:{f:Kv,render:hG},r16uint:{},rg16uint:{},rgba16uint:{},r16sint:{},rg16sint:{},rgba16sint:{},r16float:{render:lG,filter:"float16-filterable-webgl"},rg16float:{render:lG,filter:ine},rgba16float:{render:lG,filter:ine},r32uint:{},rg32uint:{},rgba32uint:{},r32sint:{},rg32sint:{},rgba32sint:{},r32float:{render:VF,filter:jF},rg32float:{render:!1,filter:jF},"rgb32float-webgl":{render:VF,filter:jF},rgba32float:{render:VF,filter:jF},"rgba4unorm-webgl":{channels:"rgba",bitsPerChannel:[4,4,4,4],packed:!0},"rgb565unorm-webgl":{channels:"rgb",bitsPerChannel:[5,6,5,0],packed:!0},"rgb5a1unorm-webgl":{channels:"rgba",bitsPerChannel:[5,5,5,1],packed:!0},rgb9e5ufloat:{channels:"rgb",packed:!0,render:YBe},rg11b10ufloat:{channels:"rgb",bitsPerChannel:[11,11,10,0],packed:!0,p:1,render:VF},rgb10a2unorm:{channels:"rgba",bitsPerChannel:[10,10,10,2],packed:!0,p:1},rgb10a2uint:{channels:"rgba",bitsPerChannel:[10,10,10,2],packed:!0,p:1},stencil8:{attachment:"stencil",bitsPerChannel:[8,0,0,0],dataType:"uint8"},depth16unorm:{attachment:"depth",bitsPerChannel:[16,0,0,0],dataType:"uint16"},depth24plus:{attachment:"depth",bitsPerChannel:[24,0,0,0],dataType:"uint32"},depth32float:{attachment:"depth",bitsPerChannel:[32,0,0,0],dataType:"float32"},"depth24plus-stencil8":{attachment:"depth-stencil",bitsPerChannel:[24,8,0,0],packed:!0},"depth32float-stencil8":{attachment:"depth-stencil",bitsPerChannel:[32,8,0,0],packed:!0}},QBe={"bc1-rgb-unorm-webgl":{f:Ld},"bc1-rgb-unorm-srgb-webgl":{f:Ld},"bc1-rgba-unorm":{f:Ld},"bc1-rgba-unorm-srgb":{f:Ld},"bc2-rgba-unorm":{f:Ld},"bc2-rgba-unorm-srgb":{f:Ld},"bc3-rgba-unorm":{f:Ld},"bc3-rgba-unorm-srgb":{f:Ld},"bc4-r-unorm":{f:Ld},"bc4-r-snorm":{f:Ld},"bc5-rg-unorm":{f:Ld},"bc5-rg-snorm":{f:Ld},"bc6h-rgb-ufloat":{f:Ld},"bc6h-rgb-float":{f:Ld},"bc7-rgba-unorm":{f:Ld},"bc7-rgba-unorm-srgb":{f:Ld},"etc2-rgb8unorm":{f:ZA},"etc2-rgb8unorm-srgb":{f:ZA},"etc2-rgb8a1unorm":{f:ZA},"etc2-rgb8a1unorm-srgb":{f:ZA},"etc2-rgba8unorm":{f:ZA},"etc2-rgba8unorm-srgb":{f:ZA},"eac-r11unorm":{f:ZA},"eac-r11snorm":{f:ZA},"eac-rg11unorm":{f:ZA},"eac-rg11snorm":{f:ZA},"astc-4x4-unorm":{f:uc},"astc-4x4-unorm-srgb":{f:uc},"astc-5x4-unorm":{f:uc},"astc-5x4-unorm-srgb":{f:uc},"astc-5x5-unorm":{f:uc},"astc-5x5-unorm-srgb":{f:uc},"astc-6x5-unorm":{f:uc},"astc-6x5-unorm-srgb":{f:uc},"astc-6x6-unorm":{f:uc},"astc-6x6-unorm-srgb":{f:uc},"astc-8x5-unorm":{f:uc},"astc-8x5-unorm-srgb":{f:uc},"astc-8x6-unorm":{f:uc},"astc-8x6-unorm-srgb":{f:uc},"astc-8x8-unorm":{f:uc},"astc-8x8-unorm-srgb":{f:uc},"astc-10x5-unorm":{f:uc},"astc-10x5-unorm-srgb":{f:uc},"astc-10x6-unorm":{f:uc},"astc-10x6-unorm-srgb":{f:uc},"astc-10x8-unorm":{f:uc},"astc-10x8-unorm-srgb":{f:uc},"astc-10x10-unorm":{f:uc},"astc-10x10-unorm-srgb":{f:uc},"astc-12x10-unorm":{f:uc},"astc-12x10-unorm-srgb":{f:uc},"astc-12x12-unorm":{f:uc},"astc-12x12-unorm-srgb":{f:uc},"pvrtc-rgb4unorm-webgl":{f:UF},"pvrtc-rgba4unorm-webgl":{f:UF},"pvrtc-rgb2unorm-webgl":{f:UF},"pvrtc-rgba2unorm-webgl":{f:UF},"etc1-rbg-unorm-webgl":{f:ZBe},"atc-rgb-unorm-webgl":{f:aG},"atc-rgba-unorm-webgl":{f:aG},"atc-rgbai-unorm-webgl":{f:aG}},one={...KBe,...QBe}});function iLe({format:t,width:e,height:r,depth:i,byteAlignment:n}){let o=ld.getInfo(t),{bytesPerPixel:s,bytesPerBlock:c=s,blockWidth:f=1,blockHeight:g=1,compressed:y=!1}=o,I=y?Math.ceil(e/f):e,F=y?Math.ceil(r/g):r,k=I*c,U=Math.ceil(k/n)*n,K=F,ee=U*K*i;return{bytesPerPixel:s,bytesPerRow:U,rowsPerImage:K,depthOrArrayLayers:i,bytesPerImage:U*K,byteLength:ee}}function nLe(t){let e=fG(t),r={format:t,create:e.f??!0,render:e.render??!0,filter:e.filter??!0,blend:e.blend??!0,store:e.store??!0},i=sne(t),n=t.startsWith("depth")||t.startsWith("stencil"),o=i?.signed,s=i?.integer,c=i?.webgl,f=Boolean(i?.compressed);return r.render&&=!n&&!f,r.filter&&=!n&&!o&&!s&&!c,r}function sne(t){let e=oLe(t);if(ld.isCompressed(t)){e.channels="rgb",e.components=3,e.bytesPerPixel=1,e.srgb=!1,e.compressed=!0,e.bytesPerBlock=aLe(t);let i=sLe(t);i&&(e.blockWidth=i.blockWidth,e.blockHeight=i.blockHeight)}let r=e.packed?null:JBe.exec(t);if(r){let[,i,n,o,s,c]=r,f=`${o}${n}`,g=cp.getDataTypeInfo(f),y=g.byteLength*8,I=i?.length??1,F=[y,I>=2?y:0,I>=3?y:0,I>=4?y:0];e={format:t,attachment:e.attachment,dataType:g.signedType,components:I,channels:i,integer:g.integer,signed:g.signed,normalized:g.normalized,bitsPerChannel:F,bytesPerPixel:g.byteLength*I,packed:e.packed,srgb:e.srgb},c==="-webgl"&&(e.webgl=!0),s==="-srgb"&&(e.srgb=!0)}return t.endsWith("-webgl")&&(e.webgl=!0),t.endsWith("-srgb")&&(e.srgb=!0),e}function oLe(t){let e=fG(t),r=e.bytesPerPixel||1,i=e.bitsPerChannel||[8,8,8,8];return delete e.bitsPerChannel,delete e.bytesPerPixel,delete e.f,delete e.render,delete e.filter,delete e.blend,delete e.store,{...e,format:t,attachment:e.attachment||"color",channels:e.channels||"r",components:e.components||e.channels?.length||1,bytesPerPixel:r,bitsPerChannel:i,dataType:e.dataType||"uint8",srgb:e.srgb??!1,packed:e.packed??!1,webgl:e.webgl??!1,integer:e.integer??!1,signed:e.signed??!1,normalized:e.normalized??!1,compressed:e.compressed??!1}}function sLe(t){let r=/.*-(\d+)x(\d+)-.*/.exec(t);if(r){let[,i,n]=r;return{blockWidth:Number(i),blockHeight:Number(n)}}return t.startsWith("bc")||t.startsWith("etc1")||t.startsWith("etc2")||t.startsWith("eac")||t.startsWith("atc")?{blockWidth:4,blockHeight:4}:t.startsWith("pvrtc-rgb4")||t.startsWith("pvrtc-rgba4")?{blockWidth:4,blockHeight:4}:t.startsWith("pvrtc-rgb2")||t.startsWith("pvrtc-rgba2")?{blockWidth:8,blockHeight:4}:null}function aLe(t){return t.startsWith("bc1")||t.startsWith("bc4")||t.startsWith("etc1")||t.startsWith("etc2-rgb8")||t.startsWith("etc2-rgb8a1")||t.startsWith("eac-r11")||t==="atc-rgb-unorm-webgl"?8:t.startsWith("bc2")||t.startsWith("bc3")||t.startsWith("bc5")||t.startsWith("bc6h")||t.startsWith("bc7")||t.startsWith("etc2-rgba8")||t.startsWith("eac-rg11")||t.startsWith("astc")||t==="atc-rgba-unorm-webgl"||t==="atc-rgbai-unorm-webgl"?16:t.startsWith("pvrtc")?8:16}var JBe,eLe,tLe,rLe,pG,ld,HF=Nt(()=>{NF();dG();JBe=/^(r|rg|rgb|rgba|bgra)([0-9]*)([a-z]*)(-srgb)?(-webgl)?$/,eLe=["rgb","rgba","bgra"],tLe=["depth","stencil"],rLe=["bc1","bc2","bc3","bc4","bc5","bc6","bc7","etc1","etc2","eac","atc","astc","pvrtc"],pG=class{isColor(e){return eLe.some(r=>e.startsWith(r))}isDepthStencil(e){return tLe.some(r=>e.startsWith(r))}isCompressed(e){return rLe.some(r=>e.startsWith(r))}getInfo(e){return sne(e)}getCapabilities(e){return nLe(e)}computeMemoryLayout(e){return iLe(e)}},ld=new pG});function HT(t){return typeof ImageData<"u"&&t instanceof ImageData||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement||typeof HTMLVideoElement<"u"&&t instanceof HTMLVideoElement||typeof VideoFrame<"u"&&t instanceof VideoFrame||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas}function YM(t){if(typeof ImageData<"u"&&t instanceof ImageData||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height};if(typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement)return{width:t.naturalWidth,height:t.naturalHeight};if(typeof HTMLVideoElement<"u"&&t instanceof HTMLVideoElement)return{width:t.videoWidth,height:t.videoHeight};if(typeof VideoFrame<"u"&&t instanceof VideoFrame)return{width:t.displayWidth,height:t.displayHeight};throw new Error("Unknown image type")}var mG=Nt(()=>{});function lLe(t,e){let r=gG(t),i=e.map(gG).filter(n=>n!==void 0);return[r,...i].filter(n=>n!==void 0)}function gG(t){if(t!==void 0){if(t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(t instanceof Error)return t.message;if(Array.isArray(t))return t.map(gG);if(typeof t=="object"){if(cLe(t)){let e=String(t);if(e!=="[object Object]")return e}return uLe(t)?hLe(t):t.constructor?.name||"Object"}return String(t)}}function cLe(t){return"toString"in t&&typeof t.toString=="function"&&t.toString!==Object.prototype.toString}function uLe(t){return"message"in t&&"type"in t}function hLe(t){let e=typeof t.type=="string"?t.type:"message",r=typeof t.message=="string"?t.message:"",i=typeof t.lineNum=="number"?t.lineNum:null,n=typeof t.linePos=="number"?t.linePos:null,o=i!==null&&n!==null?` @ ${i}:${n}`:i!==null?` @ ${i}`:"";return`${e}${o}: ${r}`.trim()}function fLe(t,e){return t!=null?Boolean(t):e!==void 0?e!=="production":!1}function dLe(){return fLe(Dr.get("debug"),pLe())}function pLe(){let t=globalThis.process;if(t?.env)return t.env.NODE_ENV}var KM,QM,AG,Qp,_G=Nt(()=>{rG();Lg();jT();kF();zF();HF();mG();dG();KM=class{};QM=class{features;disabledFeatures;constructor(e=[],r){this.features=new Set(e),this.disabledFeatures=r||{}}*[Symbol.iterator](){yield*this.features}has(e){return!this.disabledFeatures?.[e]&&this.features.has(e)}},AG=class{get[Symbol.toStringTag](){return"Device"}toString(){return`Device(${this.id})`}id;props;userData={};statsManager=FF;_factories={};timestamp=0;_reused=!1;_moduleData={};_textureCaps={};_debugGPUTimeQuery=null;constructor(e){this.props={...AG.defaultProps,...e},this.id=this.props.id||XA(this[Symbol.toStringTag].toLowerCase())}getVertexFormatInfo(e){return py.getVertexFormatInfo(e)}isVertexFormatSupported(e){return!0}getTextureFormatInfo(e){return ld.getInfo(e)}getTextureFormatCapabilities(e){let r=this._textureCaps[e];if(!r){let i=this._getDeviceTextureFormatCapabilities(e);r=this._getDeviceSpecificTextureFormatCapabilities(i),this._textureCaps[e]=r}return r}getMipLevelCount(e,r,i=1){let n=Math.max(e,r,i);return 1+Math.floor(Math.log2(n))}isExternalImage(e){return HT(e)}getExternalImageSize(e){return YM(e)}isTextureFormatSupported(e){return this.getTextureFormatCapabilities(e).create}isTextureFormatFilterable(e){return this.getTextureFormatCapabilities(e).filter}isTextureFormatRenderable(e){return this.getTextureFormatCapabilities(e).render}isTextureFormatCompressed(e){return ld.isCompressed(e)}getSupportedCompressedTextureFormats(){let e=[];for(let r of Object.keys(nne()))this.isTextureFormatCompressed(r)&&this.isTextureFormatSupported(r)&&e.push(r);return e}pushDebugGroup(e){this.commandEncoder.pushDebugGroup(e)}popDebugGroup(){this.commandEncoder?.popDebugGroup()}insertDebugMarker(e){this.commandEncoder?.insertDebugMarker(e)}loseDevice(){return!1}incrementTimestamp(){return this.timestamp++}reportError(e,r,...i){if(!this.props.onError(e,r)){let o=lLe(r,i);return Dr.error(this.type==="webgl"?"%cWebGL":"%cWebGPU","color: white; background: red; padding: 2px 6px; border-radius: 3px;",e.message,...o)}return()=>{}}debug(){if(this.props.debug)debugger;else{let e=`'Type luma.log.set({debug: true}) in console to enable debug breakpoints', -or create a device with the 'debug: true' prop.`;Dr.once(0,e)()}}getDefaultCanvasContext(){if(!this.canvasContext)throw new Error("Device has no default CanvasContext. See props.createCanvasContext");return this.canvasContext}createFence(){throw new Error("createFence() not implemented")}beginRenderPass(e){return this.commandEncoder.beginRenderPass(e)}beginComputePass(e){return this.commandEncoder.beginComputePass(e)}generateMipmapsWebGPU(e){throw new Error("not implemented")}_createSharedRenderPipelineWebGL(e){throw new Error("_createSharedRenderPipelineWebGL() not implemented")}_createBindGroupLayoutWebGPU(e,r){throw new Error("_createBindGroupLayoutWebGPU() not implemented")}_createBindGroupWebGPU(e,r,i,n,o){throw new Error("_createBindGroupWebGPU() not implemented")}_supportsDebugGPUTime(){return this.features.has("timestamp-query")&&Boolean(this.props.debug||this.props.debugGPUTime)}_enableDebugGPUTime(e=256){if(!this._supportsDebugGPUTime())return null;if(this._debugGPUTimeQuery)return this._debugGPUTimeQuery;try{this._debugGPUTimeQuery=this.createQuerySet({type:"timestamp",count:e}),this.commandEncoder=this.createCommandEncoder({id:this.commandEncoder.props.id,timeProfilingQuerySet:this._debugGPUTimeQuery})}catch{this._debugGPUTimeQuery=null}return this._debugGPUTimeQuery}_disableDebugGPUTime(){this._debugGPUTimeQuery&&(this.commandEncoder.getTimeProfilingQuerySet()===this._debugGPUTimeQuery&&(this.commandEncoder=this.createCommandEncoder({id:this.commandEncoder.props.id})),this._debugGPUTimeQuery.destroy(),this._debugGPUTimeQuery=null)}_isDebugGPUTimeEnabled(){return this._debugGPUTimeQuery!==null}getCanvasContext(){return this.getDefaultCanvasContext()}readPixelsToArrayWebGL(e,r){throw new Error("not implemented")}readPixelsToBufferWebGL(e,r){throw new Error("not implemented")}setParametersWebGL(e){throw new Error("not implemented")}getParametersWebGL(e){throw new Error("not implemented")}withParametersWebGL(e,r){throw new Error("not implemented")}clearWebGL(e){throw new Error("not implemented")}resetWebGL(){throw new Error("not implemented")}getModuleData(e){return this._moduleData[e]||={},this._moduleData[e]}static _getCanvasContextProps(e){return e.createCanvasContext===!0?{}:e.createCanvasContext}_getDeviceTextureFormatCapabilities(e){let r=ld.getCapabilities(e),i=o=>(typeof o=="string"?this.features.has(o):o)??!0,n=i(r.create);return{format:e,create:n,render:n&&i(r.render),filter:n&&i(r.filter),blend:n&&i(r.blend),store:n&&i(r.store)}}_normalizeBufferProps(e){(e instanceof ArrayBuffer||ArrayBuffer.isView(e))&&(e={data:e});let r={...e};if((e.usage||0)&lo.INDEX&&(e.indexType||(e.data instanceof Uint32Array?r.indexType="uint32":e.data instanceof Uint16Array?r.indexType="uint16":e.data instanceof Uint8Array&&(r.data=new Uint16Array(e.data),r.indexType="uint16")),!r.indexType))throw new Error("indices buffer content must be of type uint16 or uint32");return r}},Qp=AG;Qi(Qp,"defaultProps",{id:null,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,createCanvasContext:void 0,webgl:{},onError:(e,r)=>{},onResize:(e,r)=>{let[i,n]=e.getDevicePixelSize();Dr.log(1,`${e} resized => ${i}x${n}px`)()},onPositionChange:(e,r)=>{let[i,n]=e.getPosition();Dr.log(1,`${e} repositioned => ${i},${n}`)()},onVisibilityChange:e=>Dr.log(1,`${e} Visibility changed ${e.isVisible}`)(),onDevicePixelRatioChange:(e,r)=>Dr.log(1,`${e} DPR changed ${r.oldRatio} => ${e.devicePixelRatio}`)(),debug:dLe(),debugGPUTime:!1,debugShaders:Dr.get("debug-shaders")||void 0,debugFramebuffers:Boolean(Dr.get("debug-framebuffers")),debugFactories:Boolean(Dr.get("debug-factories")),debugWebGL:Boolean(Dr.get("debug-webgl")),debugSpectorJS:void 0,debugSpectorJSUrl:void 0,_reuseDevices:!1,_requestMaxLimits:!0,_cacheShaders:!0,_destroyShaders:!1,_cachePipelines:!0,_sharePipelines:!0,_destroyPipelines:!1,_initializeFeatures:!0,_disabledFeatures:{"compilation-status-async-webgl":!0},_handle:void 0})});var mLe,ane,WF,GF,YA,lne=Nt(()=>{_G();rG();Lg();mLe="set luma.log.level=1 (or higher) to trace rendering",ane="No matching device found. Ensure `@luma.gl/webgl` and/or `@luma.gl/webgpu` modules are imported.",WF=class{stats=FF;log=Dr;VERSION="9.3.3";spector;preregisteredAdapters=new Map;constructor(){if(globalThis.luma){if(globalThis.luma.VERSION!==this.VERSION)throw Dr.error(`Found luma.gl ${globalThis.luma.VERSION} while initialzing ${this.VERSION}`)(),Dr.error("'yarn why @luma.gl/core' can help identify the source of the conflict")(),new Error("luma.gl - multiple versions detected: see console log");Dr.error("This version of luma.gl has already been initialized")()}Dr.log(1,`${this.VERSION} - ${mLe}`)(),globalThis.luma=this}async createDevice(e={}){let r={...WF.defaultProps,...e},i=this.selectAdapter(r.type,r.adapters);if(!i)throw new Error(ane);return r.waitForPageLoad&&await i.pageLoaded,await i.create(r)}async attachDevice(e,r){let i=this._getTypeFromHandle(e,r.adapters),n=i&&this.selectAdapter(i,r.adapters);if(!n)throw new Error(ane);return await n?.attach?.(e,r)}registerAdapters(e){for(let r of e)this.preregisteredAdapters.set(r.type,r)}getSupportedAdapters(e=[]){let r=this._getAdapterMap(e);return Array.from(r).map(([,i])=>i).filter(i=>i.isSupported?.()).map(i=>i.type)}getBestAvailableAdapterType(e=[]){let r=["webgpu","webgl","null"],i=this._getAdapterMap(e);for(let n of r)if(i.get(n)?.isSupported?.())return n;return null}selectAdapter(e,r=[]){let i=e;e==="best-available"&&(i=this.getBestAvailableAdapterType(r));let n=this._getAdapterMap(r);return i&&n.get(i)||null}enforceWebGL2(e=!0,r=[]){let n=this._getAdapterMap(r).get("webgl");n||Dr.warn("enforceWebGL2: webgl adapter not found")(),n?.enforceWebGL2?.(e)}setDefaultDeviceProps(e){Object.assign(WF.defaultProps,e)}_getAdapterMap(e=[]){let r=new Map(this.preregisteredAdapters);for(let i of e)r.set(i.type,i);return r}_getTypeFromHandle(e,r=[]){return e instanceof WebGL2RenderingContext?"webgl":typeof GPUDevice<"u"&&e instanceof GPUDevice||e?.queue?"webgpu":e===null?"null":(e instanceof WebGLRenderingContext?Dr.warn("WebGL1 is not supported",e)():Dr.warn("Unknown handle type",e)(),null)}},GF=WF;Qi(GF,"defaultProps",{...Qp.defaultProps,type:"best-available",adapters:void 0,waitForPageLoad:!0});YA=new GF});function _Le(){return qF||(ALe()||typeof window>"u"?qF=Promise.resolve():qF=new Promise(t=>window.addEventListener("load",()=>t()))),qF}var JM,gLe,ALe,qF,cne=Nt(()=>{Iv();JM=class{get pageLoaded(){return _Le()}},gLe=rp()&&typeof document<"u",ALe=()=>gLe&&document.readyState==="complete",qF=null});var $F,une=Nt(()=>{$F=class{props;_resizeObserver;_intersectionObserver;_observeDevicePixelRatioTimeout=null;_observeDevicePixelRatioMediaQuery=null;_handleDevicePixelRatioChange=()=>this._refreshDevicePixelRatio();_trackPositionInterval=null;_started=!1;get started(){return this._started}constructor(e){this.props=e}start(){if(!(this._started||!this.props.canvas)){this._started=!0,this._intersectionObserver||=new IntersectionObserver(e=>this.props.onIntersection(e)),this._resizeObserver||=new ResizeObserver(e=>this.props.onResize(e)),this._intersectionObserver.observe(this.props.canvas);try{this._resizeObserver.observe(this.props.canvas,{box:"device-pixel-content-box"})}catch{this._resizeObserver.observe(this.props.canvas,{box:"content-box"})}this._observeDevicePixelRatioTimeout=setTimeout(()=>this._refreshDevicePixelRatio(),0),this.props.trackPosition&&this._trackPosition()}}stop(){this._started&&(this._started=!1,this._observeDevicePixelRatioTimeout&&(clearTimeout(this._observeDevicePixelRatioTimeout),this._observeDevicePixelRatioTimeout=null),this._observeDevicePixelRatioMediaQuery&&(this._observeDevicePixelRatioMediaQuery.removeEventListener("change",this._handleDevicePixelRatioChange),this._observeDevicePixelRatioMediaQuery=null),this._trackPositionInterval&&(clearInterval(this._trackPositionInterval),this._trackPositionInterval=null),this._resizeObserver?.disconnect(),this._intersectionObserver?.disconnect())}_refreshDevicePixelRatio(){this._started&&(this.props.onDevicePixelRatioChange(),this._observeDevicePixelRatioMediaQuery?.removeEventListener("change",this._handleDevicePixelRatioChange),this._observeDevicePixelRatioMediaQuery=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),this._observeDevicePixelRatioMediaQuery.addEventListener("change",this._handleDevicePixelRatioChange,{once:!0}))}_trackPosition(e=100){this._trackPositionInterval||(this._trackPositionInterval=setInterval(()=>{this._started?this.props.onPositionChange():this._trackPositionInterval&&(clearInterval(this._trackPositionInterval),this._trackPositionInterval=null)},e))}}});function hne(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var fne=Nt(()=>{});function yG(t,e){if(!t){let r=new Error(e??"luma.gl assertion failed.");throw Error.captureStackTrace?.(r,yG),r}}function S1(t,e){return yG(t,e),t}var vG=Nt(()=>{});function yLe(t){if(typeof t=="string"){let e=document.getElementById(t);if(!e)throw new Error(`${t} is not an HTML element`);return e}return t||document.body}function vLe(t){let e=document.getElementById(t);if(!my.isHTMLCanvas(e))throw new Error("Object is not a canvas element");return e}function xLe(t){let{width:e,height:r}=t,i=document.createElement("canvas");i.id=XA("lumagl-auto-created-canvas"),i.width=e||1,i.height=r||1,i.style.width=Number.isFinite(e)?`${e}px`:"100%",i.style.height=Number.isFinite(r)?`${r}px`:"100%",t?.visible||(i.style.visibility="hidden");let n=yLe(t?.container||null);return n.insertBefore(i,n.firstChild),i}function bLe(t,e,r,i,n){let o=t,s=dne(o[0],e,r),c=pne(o[1],e,i,n),f=dne(o[0]+1,e,r),g=f===r-1?f:f-1;f=pne(o[1]+1,e,i,n);let y;return n?(f=f===0?f:f+1,y=c,c=f):y=f===i-1?f:f-1,{x:s,y:c,width:Math.max(g-s+1,1),height:Math.max(y-c+1,1)}}function dne(t,e,r){return Math.min(Math.round(t*e),r-1)}function pne(t,e,r,i){return i?Math.max(0,r-1-Math.round(t*e)):Math.min(Math.round(t*e),r-1)}var eP,my,xG=Nt(()=>{Iv();une();jT();fne();vG();eP=class{static isHTMLCanvas(e){return typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement}static isOffscreenCanvas(e){return typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas}id;props;canvas;htmlCanvas;offscreenCanvas;type;initialized;isInitialized=!1;isVisible=!0;cssWidth;cssHeight;devicePixelRatio;devicePixelWidth;devicePixelHeight;drawingBufferWidth;drawingBufferHeight;_initializedResolvers=hne();_canvasObserver;_position=[0,0];destroyed=!1;_needsDrawingBufferResize=!0;toString(){return`${this[Symbol.toStringTag]}(${this.id})`}constructor(e){this.props={...eP.defaultProps,...e},e=this.props,this.initialized=this._initializedResolvers.promise,rp()?e.canvas?typeof e.canvas=="string"?this.canvas=vLe(e.canvas):this.canvas=e.canvas:this.canvas=xLe(e):this.canvas={width:e.width||1,height:e.height||1},eP.isHTMLCanvas(this.canvas)?(this.id=e.id||this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):eP.isOffscreenCanvas(this.canvas)?(this.id=e.id||"offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas):(this.id=e.id||"node-canvas-context",this.type="node"),this.cssWidth=this.htmlCanvas?.clientWidth||this.canvas.width,this.cssHeight=this.htmlCanvas?.clientHeight||this.canvas.height,this.devicePixelWidth=this.canvas.width,this.devicePixelHeight=this.canvas.height,this.drawingBufferWidth=this.canvas.width,this.drawingBufferHeight=this.canvas.height,this.devicePixelRatio=globalThis.devicePixelRatio||1,this._position=[0,0],this._canvasObserver=new $F({canvas:this.htmlCanvas,trackPosition:this.props.trackPosition,onResize:r=>this._handleResize(r),onIntersection:r=>this._handleIntersection(r),onDevicePixelRatioChange:()=>this._observeDevicePixelRatio(),onPositionChange:()=>this.updatePosition()})}destroy(){this.destroyed||(this.destroyed=!0,this._stopObservers(),this.device=null)}setProps(e){return"useDevicePixels"in e&&(this.props.useDevicePixels=e.useDevicePixels||!1,this._updateDrawingBufferSize()),this}getCurrentFramebuffer(e){return this._resizeDrawingBufferIfNeeded(),this._getCurrentFramebuffer(e)}getCSSSize(){return[this.cssWidth,this.cssHeight]}getPosition(){return this._position}getDevicePixelSize(){return[this.devicePixelWidth,this.devicePixelHeight]}getDrawingBufferSize(){return[this.drawingBufferWidth,this.drawingBufferHeight]}getMaxDrawingBufferSize(){let e=this.device.limits.maxTextureDimension2D;return[e,e]}setDrawingBufferSize(e,r){e=Math.floor(e),r=Math.floor(r),!(this.drawingBufferWidth===e&&this.drawingBufferHeight===r)&&(this.drawingBufferWidth=e,this.drawingBufferHeight=r,this._needsDrawingBufferResize=!0)}getDevicePixelRatio(){return typeof window<"u"&&window.devicePixelRatio||1}cssToDevicePixels(e,r=!0){let i=this.cssToDeviceRatio(),[n,o]=this.getDrawingBufferSize();return bLe(e,i,n,o,r)}getPixelSize(){return this.getDevicePixelSize()}getAspect(){let[e,r]=this.getDrawingBufferSize();return e>0&&r>0?e/r:1}cssToDeviceRatio(){try{let[e]=this.getDrawingBufferSize(),[r]=this.getCSSSize();return r?e/r:1}catch{return 1}}resize(e){this.setDrawingBufferSize(e.width,e.height)}_setAutoCreatedCanvasId(e){this.htmlCanvas?.id==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=e)}_startObservers(){this.destroyed||this._canvasObserver.start()}_stopObservers(){this._canvasObserver.stop()}_handleIntersection(e){if(this.destroyed)return;let r=e.find(n=>n.target===this.canvas);if(!r)return;let i=r.isIntersecting;this.isVisible!==i&&(this.isVisible=i,this.device.props.onVisibilityChange(this))}_handleResize(e){if(this.destroyed)return;let r=e.find(g=>g.target===this.canvas);if(!r)return;let i=S1(r.contentBoxSize?.[0]);this.cssWidth=i.inlineSize,this.cssHeight=i.blockSize;let n=this.getDevicePixelSize(),o=r.devicePixelContentBoxSize?.[0]?.inlineSize||i.inlineSize*devicePixelRatio,s=r.devicePixelContentBoxSize?.[0]?.blockSize||i.blockSize*devicePixelRatio,[c,f]=this.getMaxDrawingBufferSize();this.devicePixelWidth=Math.max(1,Math.min(o,c)),this.devicePixelHeight=Math.max(1,Math.min(s,f)),this._updateDrawingBufferSize(),this.device.props.onResize(this,{oldPixelSize:n})}_updateDrawingBufferSize(){if(this.props.autoResize)if(typeof this.props.useDevicePixels=="number"){let e=this.props.useDevicePixels;this.setDrawingBufferSize(this.cssWidth*e,this.cssHeight*e)}else this.props.useDevicePixels?this.setDrawingBufferSize(this.devicePixelWidth,this.devicePixelHeight):this.setDrawingBufferSize(this.cssWidth,this.cssHeight);this._initializedResolvers.resolve(),this.isInitialized=!0,this.updatePosition()}_resizeDrawingBufferIfNeeded(){this._needsDrawingBufferResize&&(this._needsDrawingBufferResize=!1,(this.drawingBufferWidth!==this.canvas.width||this.drawingBufferHeight!==this.canvas.height)&&(this.canvas.width=this.drawingBufferWidth,this.canvas.height=this.drawingBufferHeight,this._configureDevice()))}_observeDevicePixelRatio(){if(this.destroyed||!this._canvasObserver.started)return;let e=this.devicePixelRatio;this.devicePixelRatio=window.devicePixelRatio,this.updatePosition(),this.device.props.onDevicePixelRatioChange?.(this,{oldRatio:e})}updatePosition(){if(this.destroyed)return;let e=this.htmlCanvas?.getBoundingClientRect();if(e){let r=[e.left,e.top];if(this._position??=r,r[0]!==this._position[0]||r[1]!==this._position[1]){let n=this._position;this._position=r,this.device.props.onPositionChange?.(this,{oldPosition:n})}}}},my=eP;Qi(my,"defaultProps",{id:void 0,canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,alphaMode:"opaque",colorSpace:"srgb",trackPosition:!1})});var GT,mne=Nt(()=>{xG();GT=class extends my{};Qi(GT,"defaultProps",my.defaultProps)});var tP,gne=Nt(()=>{xG();tP=class extends my{}});var XF,Dd,bG=Nt(()=>{ad();XF=class extends $o{get[Symbol.toStringTag](){return"Sampler"}constructor(e,r){r=XF.normalizeProps(e,r),super(e,r,XF.defaultProps)}static normalizeProps(e,r){return r}},Dd=XF;Qi(Dd,"defaultProps",{...$o.defaultProps,type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"none",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1})});var wLe,Fm,oo,wG=Nt(()=>{ad();bG();Lg();HF();wLe={"1d":"1d","2d":"2d","2d-array":"2d",cube:"2d","cube-array":"2d","3d":"3d"},Fm=class extends $o{dimension;baseDimension;format;width;height;depth;mipLevels;samples;byteAlignment;ready=Promise.resolve(this);isReady=!0;updateTimestamp;get[Symbol.toStringTag](){return"Texture"}toString(){return`Texture(${this.id},${this.format},${this.width}x${this.height})`}constructor(e,r,i){if(r=Fm.normalizeProps(e,r),super(e,r,Fm.defaultProps),this.dimension=this.props.dimension,this.baseDimension=wLe[this.dimension],this.format=this.props.format,this.width=this.props.width,this.height=this.props.height,this.depth=this.props.depth,this.mipLevels=this.props.mipLevels,this.samples=this.props.samples||1,this.dimension==="cube"&&(this.depth=6),this.props.width===void 0||this.props.height===void 0)if(e.isExternalImage(r.data)){let n=e.getExternalImageSize(r.data);this.width=n?.width||1,this.height=n?.height||1}else this.width=1,this.height=1,(this.props.width===void 0||this.props.height===void 0)&&Dr.warn(`${this} created with undefined width or height. This is deprecated. Use DynamicTexture instead.`)();this.byteAlignment=i?.byteAlignment||1,this.updateTimestamp=e.incrementTimestamp()}clone(e){return this.device.createTexture({...this.props,...e})}setSampler(e){this.sampler=e instanceof Dd?e:this.device.createSampler(e)}copyImageData(e){let{data:r,depth:i,...n}=e;this.writeData(r,{...n,depthOrArrayLayers:n.depthOrArrayLayers??i})}computeMemoryLayout(e={}){let r=this._normalizeTextureReadOptions(e),{width:i=this.width,height:n=this.height,depthOrArrayLayers:o=this.depth}=r,{format:s,byteAlignment:c}=this;return ld.computeMemoryLayout({format:s,width:i,height:n,depth:o,byteAlignment:c})}readBuffer(e,r){throw new Error("readBuffer not implemented")}readDataAsync(e){throw new Error("readBuffer not implemented")}writeBuffer(e,r){throw new Error("readBuffer not implemented")}writeData(e,r){throw new Error("readBuffer not implemented")}readDataSyncWebGL(e){throw new Error("readDataSyncWebGL not available")}generateMipmapsWebGL(){throw new Error("generateMipmapsWebGL not available")}static normalizeProps(e,r){let i={...r},{width:n,height:o}=i;return typeof n=="number"&&(i.width=Math.max(1,Math.ceil(n))),typeof o=="number"&&(i.height=Math.max(1,Math.ceil(o))),i}_initializeData(e){this.device.isExternalImage(e)?this.copyExternalImage({image:e,width:this.width,height:this.height,depth:this.depth,mipLevel:0,x:0,y:0,z:0,aspect:"all",colorSpace:"srgb",premultipliedAlpha:!1,flipY:!1}):e&&this.copyImageData({data:e,mipLevel:0,x:0,y:0,z:0,aspect:"all"})}_normalizeCopyImageDataOptions(e){let{data:r,depth:i,...n}=e,o=this._normalizeTextureWriteOptions({...n,depthOrArrayLayers:n.depthOrArrayLayers??i});return{data:r,depth:o.depthOrArrayLayers,...o}}_normalizeCopyExternalImageOptions(e){let r=Fm._omitUndefined(e),i=r.mipLevel??0,n=this._getMipLevelSize(i),o=this.device.getExternalImageSize(e.image),s={...Fm.defaultCopyExternalImageOptions,...n,...o,...r};return s.width=Math.min(s.width,n.width-s.x),s.height=Math.min(s.height,n.height-s.y),s.depth=Math.min(s.depth,n.depthOrArrayLayers-s.z),s}_normalizeTextureReadOptions(e){let r=Fm._omitUndefined(e),i=r.mipLevel??0,n=this._getMipLevelSize(i),o={...Fm.defaultTextureReadOptions,...n,...r};return o.width=Math.min(o.width,n.width-o.x),o.height=Math.min(o.height,n.height-o.y),o.depthOrArrayLayers=Math.min(o.depthOrArrayLayers,n.depthOrArrayLayers-o.z),o}_getSupportedColorReadOptions(e){let r=this._normalizeTextureReadOptions(e),i=ld.getInfo(this.format);switch(this._validateColorReadAspect(r),this._validateColorReadFormat(i),this.dimension){case"2d":case"cube":case"cube-array":case"2d-array":case"3d":return r;default:throw new Error(`${this} color readback does not support ${this.dimension} textures`)}}_validateColorReadAspect(e){if(e.aspect!=="all")throw new Error(`${this} color readback only supports aspect 'all'`)}_validateColorReadFormat(e){if(e.compressed)throw new Error(`${this} color readback does not support compressed formats (${this.format})`);switch(e.attachment){case"color":return;case"depth":throw new Error(`${this} color readback does not support depth formats (${this.format})`);case"stencil":throw new Error(`${this} color readback does not support stencil formats (${this.format})`);case"depth-stencil":throw new Error(`${this} color readback does not support depth-stencil formats (${this.format})`);default:throw new Error(`${this} color readback does not support format ${this.format}`)}}_normalizeTextureWriteOptions(e){let r=Fm._omitUndefined(e),i=r.mipLevel??0,n=this._getMipLevelSize(i),o={...Fm.defaultTextureWriteOptions,...n,...r};o.width=Math.min(o.width,n.width-o.x),o.height=Math.min(o.height,n.height-o.y),o.depthOrArrayLayers=Math.min(o.depthOrArrayLayers,n.depthOrArrayLayers-o.z);let s=ld.computeMemoryLayout({format:this.format,width:o.width,height:o.height,depth:o.depthOrArrayLayers,byteAlignment:this.byteAlignment}),c=s.bytesPerPixel*o.width;if(o.bytesPerRow=r.bytesPerRow??s.bytesPerRow,o.rowsPerImage=r.rowsPerImage??o.height,o.bytesPerRow>e),i=this.baseDimension==="1d"?1:Math.max(1,this.height>>e),n=this.dimension==="3d"?Math.max(1,this.depth>>e):this.depth;return{width:r,height:i,depthOrArrayLayers:n}}getAllocatedByteLength(){let e=0;for(let r=0;rr!==void 0))}},oo=Fm;Qi(oo,"SAMPLE",4),Qi(oo,"STORAGE",8),Qi(oo,"RENDER",16),Qi(oo,"COPY_SRC",1),Qi(oo,"COPY_DST",2),Qi(oo,"TEXTURE",4),Qi(oo,"RENDER_ATTACHMENT",16),Qi(oo,"defaultProps",{...$o.defaultProps,data:null,dimension:"2d",format:"rgba8unorm",usage:Fm.SAMPLE|Fm.RENDER|Fm.COPY_DST,width:void 0,height:void 0,depth:1,mipLevels:1,samples:void 0,sampler:{},view:void 0}),Qi(oo,"defaultCopyDataOptions",{data:void 0,byteOffset:0,bytesPerRow:void 0,rowsPerImage:void 0,width:void 0,height:void 0,depthOrArrayLayers:void 0,depth:1,mipLevel:0,x:0,y:0,z:0,aspect:"all"}),Qi(oo,"defaultCopyExternalImageOptions",{image:void 0,sourceX:0,sourceY:0,width:void 0,height:void 0,depth:1,mipLevel:0,x:0,y:0,z:0,aspect:"all",colorSpace:"srgb",premultipliedAlpha:!1,flipY:!1}),Qi(oo,"defaultTextureReadOptions",{x:0,y:0,z:0,width:void 0,height:void 0,depthOrArrayLayers:1,mipLevel:0,aspect:"all"}),Qi(oo,"defaultTextureWriteOptions",{byteOffset:0,bytesPerRow:void 0,rowsPerImage:void 0,x:0,y:0,z:0,width:void 0,height:void 0,depthOrArrayLayers:1,mipLevel:0,aspect:"all"})});var TG,Dg,Ane=Nt(()=>{ad();TG=class extends $o{get[Symbol.toStringTag](){return"TextureView"}constructor(e,r){super(e,r,TG.defaultProps)}},Dg=TG;Qi(Dg,"defaultProps",{...$o.defaultProps,format:void 0,dimension:void 0,aspect:"all",baseMipLevel:0,mipLevelCount:void 0,baseArrayLayer:0,arrayLayerCount:void 0})});function _ne(t,e,r){let i="",n=e.split(/\r?\n/),o=t.slice().sort((s,c)=>s.lineNum-c.lineNum);switch(r?.showSourceCode||"no"){case"all":let s=0;for(let c=1;c<=n.length;c++){let f=n[c-1],g=o[s];for(f&&g&&(i+=yne(f,c,r));o.length>s&&g.lineNum===c;){let y=o[s++];y&&(i+=SG(y,n,y.lineNum,{...r,inlineSource:!1}))}}for(;o.length>s;){let c=o[s++];c&&(i+=SG(c,[],0,{...r,inlineSource:!1}))}return i;case"issues":case"no":for(let c of t)i+=SG(c,n,c.lineNum,{inlineSource:r?.showSourceCode!=="no"});return i}}function SG(t,e,r,i){if(i?.inlineSource){let o=TLe(e,r),s=t.linePos>0?`${" ".repeat(t.linePos+5)}^^^ -`:"";return` -${o}${s}${t.type.toUpperCase()}: ${t.message} - -`}let n=t.type==="error"?"red":"orange";return i?.html?`

${t.type.toUpperCase()}: ${t.message}
`:`${t.type.toUpperCase()}: ${t.message}`}function TLe(t,e,r){let i="";for(let n=e-2;n<=e;n++){let o=t[n-1];o!==void 0&&(i+=yne(o,e,r))}return i}function yne(t,e,r){let i=r?.html?ELe(t):t;return`${SLe(String(e),4)}: ${i}${r?.html?"
":` -`}`}function SLe(t,e){let r="";for(let i=t.length;i",">").replaceAll('"',""").replaceAll("'","'")}var vne=Nt(()=>{});function CLe(t){return ILe(t.source)||t.id||XA(`unnamed ${t.stage}-shader`)}function ILe(t,e="unnamed"){return/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/.exec(t)?.[1]??e}var EG,Qv,CG=Nt(()=>{ad();jT();vne();EG=class extends $o{get[Symbol.toStringTag](){return"Shader"}stage;source;compilationStatus="pending";constructor(e,r){r={...r,debugShaders:r.debugShaders||e.props.debugShaders||"errors"},super(e,{id:CLe(r),...r},EG.defaultProps),this.stage=this.props.stage,this.source=this.props.source}getCompilationInfoSync(){return null}getTranslatedSource(){return null}async debugShader(){let e=this.props.debugShaders;switch(e){case"never":return;case"errors":if(this.compilationStatus==="success")return;break;case"warnings":case"always":break}let r=await this.getCompilationInfo();e==="warnings"&&r?.length===0||this._displayShaderLog(r,this.id)}_displayShaderLog(e,r){if(typeof document>"u"||!document?.createElement)return;let i=r,n=`${this.stage} shader "${i}"`,o=_ne(e,this.source,{showSourceCode:"all",html:!0}),s=this.getTranslatedSource(),c=document.createElement("div");c.innerHTML=`

Compilation error in ${n}

-
-
- -
-
${o}
`,s&&(c.innerHTML+=`

Translated Source



${s}
`),c.style.top="0",c.style.left="0",c.style.background="white",c.style.position="fixed",c.style.zIndex="9999",c.style.maxWidth="100vw",c.style.maxHeight="100vh",c.style.overflowY="auto",document.body.appendChild(c),c.querySelector(".luma-compiler-log-error")?.scrollIntoView(),c.querySelector("button#close").onclick=()=>{c.remove()},c.querySelector("button#copy").onclick=()=>{navigator.clipboard.writeText(this.source)}}},Qv=EG;Qi(Qv,"defaultProps",{...$o.defaultProps,language:"auto",stage:void 0,source:"",sourceMap:null,entryPoint:"main",debugShaders:void 0})});var IG,KA,xne=Nt(()=>{ad();wG();Lg();IG=class extends $o{get[Symbol.toStringTag](){return"Framebuffer"}width;height;constructor(e,r={}){super(e,r,IG.defaultProps),this.width=this.props.width,this.height=this.props.height}clone(e){let r=this.colorAttachments.map(n=>n.texture.clone(e)),i=this.depthStencilAttachment&&this.depthStencilAttachment.texture.clone(e);return this.device.createFramebuffer({...this.props,...e,colorAttachments:r,depthStencilAttachment:i})}resize(e){let r=!e;if(e){let[i,n]=Array.isArray(e)?e:[e.width,e.height];r=r||n!==this.height||i!==this.width,this.width=i,this.height=n}r&&(Dr.log(2,`Resizing framebuffer ${this.id} to ${this.width}x${this.height}`)(),this.resizeAttachments(this.width,this.height))}autoCreateAttachmentTextures(){if(this.props.colorAttachments.length===0&&!this.props.depthStencilAttachment)throw new Error("Framebuffer has noattachments");this.colorAttachments=this.props.colorAttachments.map((r,i)=>{if(typeof r=="string"){let n=this.createColorTexture(r,i);return this.attachResource(n),n.view}return r instanceof oo?r.view:r});let e=this.props.depthStencilAttachment;if(e)if(typeof e=="string"){let r=this.createDepthStencilTexture(e);this.attachResource(r),this.depthStencilAttachment=r.view}else e instanceof oo?this.depthStencilAttachment=e.view:this.depthStencilAttachment=e}createColorTexture(e,r){return this.device.createTexture({id:`${this.id}-color-attachment-${r}`,usage:oo.RENDER_ATTACHMENT,format:e,width:this.width,height:this.height,sampler:{magFilter:"linear",minFilter:"linear"}})}createDepthStencilTexture(e){return this.device.createTexture({id:`${this.id}-depth-stencil-attachment`,usage:oo.RENDER_ATTACHMENT,format:e,width:this.width,height:this.height})}resizeAttachments(e,r){if(this.colorAttachments.forEach((i,n)=>{let o=i.texture.clone({width:e,height:r});this.destroyAttachedResource(i),this.colorAttachments[n]=o.view,this.attachResource(o.view)}),this.depthStencilAttachment){let i=this.depthStencilAttachment.texture.clone({width:e,height:r});this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=i.view,this.attachResource(i)}this.updateAttachments()}},KA=IG;Qi(KA,"defaultProps",{...$o.defaultProps,width:1,height:1,colorAttachments:[],depthStencilAttachment:null})});var MG,km,PG=Nt(()=>{ad();MG=class extends $o{get[Symbol.toStringTag](){return"RenderPipeline"}shaderLayout;bufferLayout;linkStatus="pending";hash="";sharedRenderPipeline=null;get isPending(){return this.linkStatus==="pending"||this.vs.compilationStatus==="pending"||this.fs?.compilationStatus==="pending"}get isErrored(){return this.linkStatus==="error"||this.vs.compilationStatus==="error"||this.fs?.compilationStatus==="error"}constructor(e,r){super(e,r,MG.defaultProps),this.shaderLayout=this.props.shaderLayout,this.bufferLayout=this.props.bufferLayout||[],this.sharedRenderPipeline=this.props._sharedRenderPipeline||null}},km=MG;Qi(km,"defaultProps",{...$o.defaultProps,vs:null,vertexEntryPoint:"vertexMain",vsConstants:{},fs:null,fragmentEntryPoint:"fragmentMain",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",colorAttachmentFormats:void 0,depthStencilAttachmentFormat:void 0,parameters:{},varyings:void 0,bufferMode:void 0,disableWarnings:!1,_sharedRenderPipeline:void 0,bindings:void 0,bindGroups:void 0})});var rP,bne=Nt(()=>{ad();rP=class extends $o{get[Symbol.toStringTag](){return"SharedRenderPipeline"}constructor(e,r){super(e,r,{...$o.defaultProps,handle:void 0,vs:void 0,fs:void 0,varyings:void 0,bufferMode:void 0})}}});var RG,WT,wne=Nt(()=>{ad();RG=class extends $o{get[Symbol.toStringTag](){return"ComputePipeline"}hash="";shaderLayout;constructor(e,r){super(e,r,RG.defaultProps),this.shaderLayout=r.shaderLayout}},WT=RG;Qi(WT,"defaultProps",{...$o.defaultProps,shader:void 0,entryPoint:void 0,constants:{},shaderLayout:void 0})});var BG,qT,Tne=Nt(()=>{wne();PG();Lg();jT();BG=class{static getDefaultPipelineFactory(e){let r=e.getModuleData("@luma.gl/core");return r.defaultPipelineFactory||=new BG(e),r.defaultPipelineFactory}device;_hashCounter=0;_hashes={};_renderPipelineCache={};_computePipelineCache={};_sharedRenderPipelineCache={};get[Symbol.toStringTag](){return"PipelineFactory"}toString(){return`PipelineFactory(${this.device.id})`}constructor(e){this.device=e}createRenderPipeline(e){if(!this.device.props._cachePipelines)return this.device.createRenderPipeline(e);let r={...km.defaultProps,...e},i=this._renderPipelineCache,n=this._hashRenderPipeline(r),o=i[n]?.resource;if(o)i[n].useCount++,this.device.props.debugFactories&&Dr.log(3,`${this}: ${i[n].resource} reused, count=${i[n].useCount}, (id=${e.id})`)();else{let s=this.device.type==="webgl"&&this.device.props._sharePipelines?this.createSharedRenderPipeline(r):void 0;o=this.device.createRenderPipeline({...r,id:r.id?`${r.id}-cached`:XA("unnamed-cached"),_sharedRenderPipeline:s}),o.hash=n,i[n]={resource:o,useCount:1},this.device.props.debugFactories&&Dr.log(3,`${this}: ${o} created, count=${i[n].useCount}`)()}return o}createComputePipeline(e){if(!this.device.props._cachePipelines)return this.device.createComputePipeline(e);let r={...WT.defaultProps,...e},i=this._computePipelineCache,n=this._hashComputePipeline(r),o=i[n]?.resource;return o?(i[n].useCount++,this.device.props.debugFactories&&Dr.log(3,`${this}: ${i[n].resource} reused, count=${i[n].useCount}, (id=${e.id})`)()):(o=this.device.createComputePipeline({...r,id:r.id?`${r.id}-cached`:void 0}),o.hash=n,i[n]={resource:o,useCount:1},this.device.props.debugFactories&&Dr.log(3,`${this}: ${o} created, count=${i[n].useCount}`)()),o}release(e){if(!this.device.props._cachePipelines){e.destroy();return}let r=this._getCache(e),i=e.hash;r[i].useCount--,r[i].useCount===0?(this._destroyPipeline(e),this.device.props.debugFactories&&Dr.log(3,`${this}: ${e} released and destroyed`)()):r[i].useCount<0?(Dr.error(`${this}: ${e} released, useCount < 0, resetting`)(),r[i].useCount=0):this.device.props.debugFactories&&Dr.log(3,`${this}: ${e} released, count=${r[i].useCount}`)()}createSharedRenderPipeline(e){let r=this._hashSharedRenderPipeline(e),i=this._sharedRenderPipelineCache[r];return i||(i={resource:this.device._createSharedRenderPipelineWebGL(e),useCount:0},this._sharedRenderPipelineCache[r]=i),i.useCount++,i.resource}releaseSharedRenderPipeline(e){if(!e.sharedRenderPipeline)return;let r=this._hashSharedRenderPipeline(e.sharedRenderPipeline.props),i=this._sharedRenderPipelineCache[r];i&&(i.useCount--,i.useCount===0&&(i.resource.destroy(),delete this._sharedRenderPipelineCache[r]))}_destroyPipeline(e){let r=this._getCache(e);return this.device.props._destroyPipelines?(delete r[e.hash],e.destroy(),e instanceof km&&this.releaseSharedRenderPipeline(e),!0):!1}_getCache(e){let r;if(e instanceof WT&&(r=this._computePipelineCache),e instanceof km&&(r=this._renderPipelineCache),!r)throw new Error(`${this}`);if(!r[e.hash])throw new Error(`${this}: ${e} matched incorrect entry`);return r}_hashComputePipeline(e){let{type:r}=this.device,i=this._getHash(e.shader.source),n=this._getHash(JSON.stringify(e.shaderLayout));return`${r}/C/${i}SL${n}`}_hashRenderPipeline(e){let r=e.vs?this._getHash(e.vs.source):0,i=e.fs?this._getHash(e.fs.source):0,n=this._getWebGLVaryingHash(e),o=this._getHash(JSON.stringify(e.shaderLayout)),s=this._getHash(JSON.stringify(e.bufferLayout)),{type:c}=this.device;switch(c){case"webgl":let f=this._getHash(JSON.stringify(e.parameters));return`${c}/R/${r}/${i}V${n}T${e.topology}P${f}SL${o}BL${s}`;case"webgpu":default:let g=this._getHash(JSON.stringify({vertexEntryPoint:e.vertexEntryPoint,fragmentEntryPoint:e.fragmentEntryPoint})),y=this._getHash(JSON.stringify(e.parameters)),I=this._getWebGPUAttachmentHash(e);return`${c}/R/${r}/${i}V${n}T${e.topology}EP${g}P${y}SL${o}BL${s}A${I}`}}_hashSharedRenderPipeline(e){let r=e.vs?this._getHash(e.vs.source):0,i=e.fs?this._getHash(e.fs.source):0,n=this._getWebGLVaryingHash(e);return`webgl/S/${r}/${i}V${n}`}_getHash(e){return this._hashes[e]===void 0&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getWebGLVaryingHash(e){let{varyings:r=[],bufferMode:i=null}=e;return this._getHash(JSON.stringify({varyings:r,bufferMode:i}))}_getWebGPUAttachmentHash(e){let r=e.colorAttachmentFormats??[this.device.preferredColorFormat],i=e.parameters?.depthWriteEnabled?e.depthStencilAttachmentFormat||this.device.preferredDepthFormat:null;return this._getHash(JSON.stringify({colorAttachmentFormats:r,depthStencilAttachmentFormat:i}))}},qT=BG;Qi(qT,"defaultProps",{...km.defaultProps})});var LG,$T,Sne=Nt(()=>{CG();Lg();LG=class{static getDefaultShaderFactory(e){let r=e.getModuleData("@luma.gl/core");return r.defaultShaderFactory||=new LG(e),r.defaultShaderFactory}device;_cache={};get[Symbol.toStringTag](){return"ShaderFactory"}toString(){return`${this[Symbol.toStringTag]}(${this.device.id})`}constructor(e){this.device=e}createShader(e){if(!this.device.props._cacheShaders)return this.device.createShader(e);let r=this._hashShader(e),i=this._cache[r];if(i)i.useCount++,this.device.props.debugFactories&&Dr.log(3,`${this}: Reusing shader ${i.resource.id} count=${i.useCount}`)();else{let n=this.device.createShader({...e,id:e.id?`${e.id}-cached`:void 0});this._cache[r]=i={resource:n,useCount:1},this.device.props.debugFactories&&Dr.log(3,`${this}: Created new shader ${n.id}`)()}return i.resource}release(e){if(!this.device.props._cacheShaders){e.destroy();return}let r=this._hashShader(e),i=this._cache[r];if(i)if(i.useCount--,i.useCount===0)this.device.props._destroyShaders&&(delete this._cache[r],i.resource.destroy(),this.device.props.debugFactories&&Dr.log(3,`${this}: Releasing shader ${e.id}, destroyed`)());else{if(i.useCount<0)throw new Error(`ShaderFactory: Shader ${e.id} released too many times`);this.device.props.debugFactories&&Dr.log(3,`${this}: Releasing shader ${e.id} count=${i.useCount}`)()}}_hashShader(e){return`${e.stage}:${e.source}`}},$T=LG;Qi($T,"defaultProps",{...Qv.defaultProps})});function Ene(t,e,r){let i=t.bindings.find(n=>n.name===e||`${n.name.toLocaleLowerCase()}uniforms`===e.toLocaleLowerCase());return!i&&!r?.ignoreWarnings&&Dr.warn(`Binding ${e} not set: Not found in shader layout.`)(),i||null}function iP(t,e){if(!e)return{};if(MLe(e))return Object.fromEntries(Object.entries(e).map(([n,o])=>[Number(n),{...o}]));let r={};for(let[i,n]of Object.entries(e)){let s=Ene(t,i)?.group??0;r[s]||={},r[s][i]=n}return r}function ZF(t){let e={};for(let r of Object.values(t))Object.assign(e,r);return e}function MLe(t){let e=Object.keys(t);return e.length>0&&e.every(r=>/^\d+$/.test(r))}var Cne=Nt(()=>{Lg()});var E1,gy,Ine=Nt(()=>{ad();E1=class extends $o{get[Symbol.toStringTag](){return"RenderPass"}constructor(e,r){r=E1.normalizeProps(e,r),super(e,r,E1.defaultProps)}static normalizeProps(e,r){return r}},gy=E1;Qi(gy,"defaultClearColor",[0,0,0,1]),Qi(gy,"defaultClearDepth",1),Qi(gy,"defaultClearStencil",0),Qi(gy,"defaultProps",{...$o.defaultProps,framebuffer:null,parameters:void 0,clearColor:E1.defaultClearColor,clearColors:void 0,clearDepth:E1.defaultClearDepth,clearStencil:E1.defaultClearStencil,depthReadOnly:!1,stencilReadOnly:!1,discard:!1,occlusionQuerySet:void 0,timestampQuerySet:void 0,beginTimestampIndex:void 0,endTimestampIndex:void 0})});var DG,XT,Mne=Nt(()=>{ad();DG=class extends $o{get[Symbol.toStringTag](){return"CommandEncoder"}_timeProfilingQuerySet=null;_timeProfilingSlotCount=0;_gpuTimeMs;constructor(e,r){super(e,r,DG.defaultProps),this._timeProfilingQuerySet=r.timeProfilingQuerySet??null,this._timeProfilingSlotCount=0,this._gpuTimeMs=void 0}async resolveTimeProfilingQuerySet(){if(this._gpuTimeMs=void 0,!this._timeProfilingQuerySet)return;let e=Math.floor(this._timeProfilingSlotCount/2);if(e<=0)return;let r=e*2,i=await this._timeProfilingQuerySet.readResults({firstQuery:0,queryCount:r}),n=0n;for(let o=0;o=this._timeProfilingQuerySet.props.count?r:(this._timeProfilingSlotCount+=2,{...r,timestampQuerySet:this._timeProfilingQuerySet,beginTimestampIndex:i,endTimestampIndex:i+1})}_supportsTimestampQueries(){return this.device.features.has("timestamp-query")}},XT=DG;Qi(XT,"defaultProps",{...$o.defaultProps,measureExecutionTime:void 0,timeProfilingQuerySet:void 0})});var OG,ZT,Pne=Nt(()=>{ad();OG=class extends $o{get[Symbol.toStringTag](){return"CommandBuffer"}constructor(e,r){super(e,r,OG.defaultProps)}},ZT=OG;Qi(ZT,"defaultProps",{...$o.defaultProps})});function YT(t){let e=YF(t),r=LLe[e];if(!r)throw new Error(`Unsupported variable shader type: ${t}`);return r}function Rne(t){let e=Bne(t),r=BLe[e];if(!r)throw new Error(`Unsupported attribute shader type: ${t}`);let[i,n]=r,o=i==="i32"||i==="u32",s=i!=="u32",c=RLe[i]*n;return{primitiveType:i,components:n,byteLength:c,integer:o,signed:s}}function PLe(t,e){return e===1?t:`vec${e}<${t}>`}function Bne(t){return DLe[t]||t}function YF(t){return OLe[t]||t}var FG,kG,RLe,BLe,LLe,DLe,OLe,KF=Nt(()=>{FG=class{getVariableShaderTypeInfo(e){return YT(e)}getAttributeShaderTypeInfo(e){return Rne(e)}makeShaderAttributeType(e,r){return PLe(e,r)}resolveAttributeShaderTypeAlias(e){return Bne(e)}resolveVariableShaderTypeAlias(e){return YF(e)}};kG=new FG,RLe={f32:4,f16:2,i32:4,u32:4},BLe={f32:["f32",1],"vec2":["f32",2],"vec3":["f32",3],"vec4":["f32",4],f16:["f16",1],"vec2":["f16",2],"vec3":["f16",3],"vec4":["f16",4],i32:["i32",1],"vec2":["i32",2],"vec3":["i32",3],"vec4":["i32",4],u32:["u32",1],"vec2":["u32",2],"vec3":["u32",3],"vec4":["u32",4]},LLe={f32:{type:"f32",components:1},f16:{type:"f16",components:1},i32:{type:"i32",components:1},u32:{type:"u32",components:1},"vec2":{type:"f32",components:2},"vec3":{type:"f32",components:3},"vec4":{type:"f32",components:4},"vec2":{type:"f16",components:2},"vec3":{type:"f16",components:3},"vec4":{type:"f16",components:4},"vec2":{type:"i32",components:2},"vec3":{type:"i32",components:3},"vec4":{type:"i32",components:4},"vec2":{type:"u32",components:2},"vec3":{type:"u32",components:3},"vec4":{type:"u32",components:4},"mat2x2":{type:"f32",components:4},"mat2x3":{type:"f32",components:6},"mat2x4":{type:"f32",components:8},"mat3x2":{type:"f32",components:6},"mat3x3":{type:"f32",components:9},"mat3x4":{type:"f32",components:12},"mat4x2":{type:"f32",components:8},"mat4x3":{type:"f32",components:12},"mat4x4":{type:"f32",components:16},"mat2x2":{type:"f16",components:4},"mat2x3":{type:"f16",components:6},"mat2x4":{type:"f16",components:8},"mat3x2":{type:"f16",components:6},"mat3x3":{type:"f16",components:9},"mat3x4":{type:"f16",components:12},"mat4x2":{type:"f16",components:8},"mat4x3":{type:"f16",components:12},"mat4x4":{type:"f16",components:16},"mat2x2":{type:"i32",components:4},"mat2x3":{type:"i32",components:6},"mat2x4":{type:"i32",components:8},"mat3x2":{type:"i32",components:6},"mat3x3":{type:"i32",components:9},"mat3x4":{type:"i32",components:12},"mat4x2":{type:"i32",components:8},"mat4x3":{type:"i32",components:12},"mat4x4":{type:"i32",components:16},"mat2x2":{type:"u32",components:4},"mat2x3":{type:"u32",components:6},"mat2x4":{type:"u32",components:8},"mat3x2":{type:"u32",components:6},"mat3x3":{type:"u32",components:9},"mat3x4":{type:"u32",components:12},"mat4x2":{type:"u32",components:8},"mat4x3":{type:"u32",components:12},"mat4x4":{type:"u32",components:16}},DLe={vec2i:"vec2",vec3i:"vec3",vec4i:"vec4",vec2u:"vec2",vec3u:"vec3",vec4u:"vec4",vec2f:"vec2",vec3f:"vec3",vec4f:"vec4",vec2h:"vec2",vec3h:"vec3",vec4h:"vec4"},OLe={vec2i:"vec2",vec3i:"vec3",vec4i:"vec4",vec2u:"vec2",vec3u:"vec3",vec4u:"vec4",vec2f:"vec2",vec3f:"vec3",vec4f:"vec4",vec2h:"vec2",vec3h:"vec3",vec4h:"vec4",mat2x2f:"mat2x2",mat2x3f:"mat2x3",mat2x4f:"mat2x4",mat3x2f:"mat3x2",mat3x3f:"mat3x3",mat3x4f:"mat3x4",mat4x2f:"mat4x2",mat4x3f:"mat4x3",mat4x4f:"mat4x4",mat2x2i:"mat2x2",mat2x3i:"mat2x3",mat2x4i:"mat2x4",mat3x2i:"mat3x2",mat3x3i:"mat3x3",mat3x4i:"mat3x4",mat4x2i:"mat4x2",mat4x3i:"mat4x3",mat4x4i:"mat4x4",mat2x2u:"mat2x2",mat2x3u:"mat2x3",mat2x4u:"mat2x4",mat3x2u:"mat3x2",mat3x3u:"mat3x3",mat3x4u:"mat3x4",mat4x2u:"mat4x2",mat4x3u:"mat4x3",mat4x4u:"mat4x4",mat2x2h:"mat2x2",mat2x3h:"mat2x3",mat2x4h:"mat2x4",mat3x2h:"mat3x2",mat3x3h:"mat3x3",mat3x4h:"mat3x4",mat4x2h:"mat4x2",mat4x3h:"mat4x3",mat4x4h:"mat4x4"}});function QF(t,e){let r={};for(let i of t.attributes){let n=FLe(t,e,i.name);n&&(r[i.name]=n)}return r}function Lne(t,e,r=16){let i=QF(t,e),n=new Array(r).fill(null);for(let o of Object.values(i))n[o.location]=o;return n}function FLe(t,e,r){let i=kLe(t,r),n=NLe(e,r);if(!i)return null;let o=kG.getAttributeShaderTypeInfo(i.type),s=py.getCompatibleVertexFormat(o),c=n?.vertexFormat||s,f=py.getVertexFormatInfo(c);return{attributeName:n?.attributeName||i.name,bufferName:n?.bufferName||i.name,location:i.location,shaderType:i.type,primitiveType:o.primitiveType,shaderComponents:o.components,vertexFormat:c,bufferDataType:f.type,bufferComponents:f.components,normalized:f.normalized,integer:o.integer,stepMode:n?.stepMode||i.stepMode||"vertex",byteOffset:n?.byteOffset||0,byteStride:n?.byteStride||0}}function kLe(t,e){let r=t.attributes.find(i=>i.name===e);return r||Dr.warn(`shader layout attribute "${e}" not present in shader`),r||null}function NLe(t,e){zLe(t);let r=ULe(t,e);return r||(r=VLe(t,e),r)?r:(Dr.warn(`layout for attribute "${e}" not present in buffer layout`),null)}function zLe(t){for(let e of t)(e.attributes&&e.format||!e.attributes&&!e.format)&&Dr.warn(`BufferLayout ${name} must have either 'attributes' or 'format' field`)}function ULe(t,e){for(let r of t)if(r.format&&r.name===e)return{attributeName:r.name,bufferName:e,stepMode:r.stepMode,vertexFormat:r.format,byteOffset:0,byteStride:r.byteStride||0};return null}function VLe(t,e){for(let r of t){let i=r.byteStride;if(typeof r.byteStride!="number")for(let o of r.attributes||[]){let s=py.getVertexFormatInfo(o.format);i+=s.byteLength}let n=r.attributes?.find(o=>o.attribute===e);if(n)return{attributeName:n.attribute,bufferName:r.name,stepMode:r.stepMode,vertexFormat:n.format,byteOffset:n.byteOffset,byteStride:i}}return null}var NG=Nt(()=>{Lg();KF();zF()});var zG,KT,Dne=Nt(()=>{NG();ad();zG=class extends $o{get[Symbol.toStringTag](){return"VertexArray"}maxVertexAttributes;attributeInfos;indexBuffer=null;attributes;constructor(e,r){super(e,r,zG.defaultProps),this.maxVertexAttributes=e.limits.maxVertexAttributes,this.attributes=new Array(this.maxVertexAttributes).fill(null),this.attributeInfos=Lne(r.shaderLayout,r.bufferLayout,this.maxVertexAttributes)}setConstantWebGL(e,r){this.device.reportError(new Error("constant attributes not supported"),this)()}},KT=zG;Qi(KT,"defaultProps",{...$o.defaultProps,shaderLayout:void 0,bufferLayout:[]})});var UG,QT,One=Nt(()=>{ad();UG=class extends $o{get[Symbol.toStringTag](){return"TransformFeedback"}constructor(e,r){super(e,r,UG.defaultProps)}},QT=UG;Qi(QT,"defaultProps",{...$o.defaultProps,layout:void 0,buffers:{}})});var VG,JT,Fne=Nt(()=>{ad();VG=class extends $o{get[Symbol.toStringTag](){return"QuerySet"}constructor(e,r){super(e,r,VG.defaultProps)}},JT=VG;Qi(JT,"defaultProps",{...$o.defaultProps,type:void 0,count:void 0})});var jG,eS,kne=Nt(()=>{ad();jG=class extends $o{get[Symbol.toStringTag](){return"Fence"}constructor(e,r={}){super(e,r,jG.defaultProps)}},eS=jG;Qi(eS,"defaultProps",{...$o.defaultProps})});function QA(t,e){switch(e){case 1:return t;case 2:return t+t%2;default:return t+(4-t%4)%4}}function nP(t){let[,,,,e]=jLe[t];return e}var jLe,HG=Nt(()=>{jLe={uint8:["uint8","u32",1,!1,Uint8Array],sint8:["sint8","i32",1,!1,Int8Array],unorm8:["uint8","f32",1,!0,Uint8Array],snorm8:["sint8","f32",1,!0,Int8Array],uint16:["uint16","u32",2,!1,Uint16Array],sint16:["sint16","i32",2,!1,Int16Array],unorm16:["uint16","u32",2,!0,Uint16Array],snorm16:["sint16","i32",2,!0,Int16Array],float16:["float16","f16",2,!1,Uint16Array],float32:["float32","f32",4,!1,Float32Array],uint32:["uint32","u32",4,!1,Uint32Array],sint32:["sint32","i32",4,!1,Int32Array]}});function zne(t,e={}){let r={...t},i=e.layout??"std140",n={},o=0;for(let[s,c]of Object.entries(r))o=GG(n,s,c,o,i);return o=QA(o,Jv(r,i)),{layout:i,byteLength:o*4,uniformTypes:r,fields:n}}function oP(t,e){let r=YF(t),i=YT(r),n=/^mat(\d)x(\d)<.+>$/.exec(r);if(n){let s=Number(n[1]),c=Number(n[2]),f=Nne(c,r,i.type,e),g=GLe(f.size,f.alignment,e);return{alignment:f.alignment,size:s*g,components:s*c,columns:s,rows:c,columnStride:g,shaderType:r,type:i.type}}let o=/^vec(\d)<.+>$/.exec(r);return o?Nne(Number(o[1]),r,i.type,e):{alignment:1,size:1,components:1,columns:1,rows:1,columnStride:1,shaderType:r,type:i.type}}function WG(t){return Boolean(t)&&typeof t=="object"&&!Array.isArray(t)}function GG(t,e,r,i,n){if(typeof r=="string"){let o=oP(r,n),s=QA(i,o.alignment);return t[e]={offset:s,...o},s+o.size}if(Array.isArray(r)){if(Array.isArray(r[0]))throw new Error(`Nested arrays are not supported for ${e}`);let o=r[0],s=r[1],c=Vne(o,n),f=QA(i,Jv(r,n));for(let g=0;g{HG();KF()});function $G(t){return(!JF||JF.byteLength{});function qLe(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function tS(t){return Array.isArray(t)?t.length===0||typeof t[0]=="number":qLe(t)}var YG=Nt(()=>{});function $Le(t){return Boolean(t)&&typeof t=="object"&&!Array.isArray(t)&&!ArrayBuffer.isView(t)}function XLe(t,e,r){return Array.prototype.slice.call(t,e,r)}var ek,Hne=Nt(()=>{ZG();YG();Lg();qG();ek=class{layout;constructor(e){this.layout=e}has(e){return Boolean(this.layout.fields[e])}get(e){let r=this.layout.fields[e];return r?{offset:r.offset,size:r.size}:void 0}getFlatUniformValues(e){let r={};for(let[i,n]of Object.entries(e)){let o=this.layout.uniformTypes[i];o?this._flattenCompositeValue(r,i,o,n):this.layout.fields[i]&&(r[i]=n)}return r}getData(e){let r=$G(this.layout.byteLength);new Uint8Array(r,0,this.layout.byteLength).fill(0);let i={i32:new Int32Array(r),u32:new Uint32Array(r),f32:new Float32Array(r),f16:new Uint16Array(r)},n=this.getFlatUniformValues(e);for(let[o,s]of Object.entries(n))this._writeLeafValue(i,o,s);return new Uint8Array(r,0,this.layout.byteLength)}_flattenCompositeValue(e,r,i,n){if(n!==void 0){if(typeof i=="string"||this.layout.fields[r]){e[r]=n;return}if(Array.isArray(i)){let o=i[0],s=i[1];if(Array.isArray(o))throw new Error(`Nested arrays are not supported for ${r}`);if(typeof o=="string"&&tS(n)){this._flattenPackedArray(e,r,o,s,n);return}if(!Array.isArray(n)){Dr.warn(`Unsupported uniform array value for ${r}:`,n)();return}for(let c=0;c=s.length)break;f===1?e[`${r}[${g}]`]=Number(s[y]):e[`${r}[${g}]`]=XLe(o,y,y+f)}}_writeLeafValue(e,r,i){let n=this.layout.fields[r];if(!n){Dr.warn(`Uniform ${r} not found in layout`)();return}let{type:o,components:s,columns:c,rows:f,offset:g,columnStride:y}=n,I=e[o];if(s===1){I[g]=Number(i);return}let F=i;if(c===1){for(let U=0;Uo)return!1;for(let s=0;s{YG();ZLe=128});var tk,$ne=Nt(()=>{qne();tk=class{name;uniforms={};modifiedUniforms={};modified=!0;bindingLayout={};needsRedraw="initialized";constructor(e){if(this.name=e?.name||"unnamed",e?.name&&e?.shaderLayout){let r=e?.shaderLayout.bindings?.find(n=>n.type==="uniform"&&n.name===e?.name);if(!r)throw new Error(e?.name);let i=r;for(let n of i.uniforms||[])this.bindingLayout[n.name]=n}}setUniforms(e){for(let[r,i]of Object.entries(e))this._setUniform(r,i),this.needsRedraw||this.setNeedsRedraw(`${this.name}.${r}=${i}`)}setNeedsRedraw(e){this.needsRedraw=this.needsRedraw||e}getAllUniforms(){return this.modifiedUniforms={},this.needsRedraw=!1,this.uniforms||{}}_setUniform(e,r){Gne(this.uniforms[e],r)||(this.uniforms[e]=Wne(r),this.modifiedUniforms[e]=!0,this.modified=!0)}}});function KLe(t){return t.type==="webgpu"?"wgsl-uniform":"std140"}var YLe,C1,Xne=Nt(()=>{kF();Lg();qG();$ne();Hne();YLe=1024,C1=class{device;uniformBlocks=new Map;shaderBlockLayouts=new Map;shaderBlockWriters=new Map;uniformBuffers=new Map;constructor(e,r){this.device=e;for(let[i,n]of Object.entries(r)){let o=i,s=zne(n.uniformTypes??{},{layout:n.layout??KLe(e)}),c=new ek(s);this.shaderBlockLayouts.set(o,s),this.shaderBlockWriters.set(o,c);let f=new tk({name:i});f.setUniforms(c.getFlatUniformValues(n.defaultUniforms||{})),this.uniformBlocks.set(o,f)}}destroy(){for(let e of this.uniformBuffers.values())e.destroy()}setUniforms(e){for(let[r,i]of Object.entries(e)){let n=r,s=this.shaderBlockWriters.get(n)?.getFlatUniformValues(i||{});this.uniformBlocks.get(n)?.setUniforms(s||{})}this.updateUniformBuffers()}getUniformBufferByteLength(e){let r=this.shaderBlockLayouts.get(e)?.byteLength||0;return Math.max(r,YLe)}getUniformBufferData(e){let r=this.uniformBlocks.get(e)?.getAllUniforms()||{};return this.shaderBlockWriters.get(e)?.getData(r)||new Uint8Array(0)}createUniformBuffer(e,r){r&&this.setUniforms(r);let i=this.getUniformBufferByteLength(e),n=this.device.createBuffer({usage:lo.UNIFORM|lo.COPY_DST,byteLength:i}),o=this.getUniformBufferData(e);return n.write(o),n}getManagedUniformBuffer(e){if(!this.uniformBuffers.get(e)){let r=this.getUniformBufferByteLength(e),i=this.device.createBuffer({usage:lo.UNIFORM|lo.COPY_DST,byteLength:r});this.uniformBuffers.set(e,i)}return this.uniformBuffers.get(e)}updateUniformBuffers(){let e=!1;for(let r of this.uniformBlocks.keys()){let i=this.updateUniformBuffer(r);e||=i}return e&&Dr.log(3,`UniformStore.updateUniformBuffers(): ${e}`)(),e}updateUniformBuffer(e){let r=this.uniformBlocks.get(e),i=this.uniformBuffers.get(e),n=!1;if(i&&r?.needsRedraw){n||=r.needsRedraw;let o=this.getUniformBufferData(e);i=this.uniformBuffers.get(e),i?.write(o);let s=this.uniformBlocks.get(e)?.getAllUniforms();Dr.log(4,`Writing to uniform buffer ${String(e)}`,o,s)()}return n}}});var Eo=Nt(()=>{lne();cne();_G();mne();gne();kF();wG();Ane();CG();bG();xne();PG();bne();Tne();Sne();Ine();Mne();Pne();Dne();One();Fne();kne();Xne();NF();HG();KF();zF();HF();mG();Lg();Cne();vG();ZG();NG()});function Ese(t=!0){let e=HTMLCanvasElement.prototype;if(!t&&e.originalGetContext){e.getContext=e.originalGetContext,e.originalGetContext=void 0;return}e.originalGetContext=e.getContext,e.getContext=function(r,i){if(r==="webgl"||r==="experimental-webgl"){let n=this.originalGetContext("webgl2",i);return n instanceof HTMLElement&&Eke(n),n}return this.originalGetContext(r,i)}}function Eke(t){t.getExtension("EXT_color_buffer_float");let e={...bke,WEBGL_disjoint_timer_query:t.getExtension("EXT_disjoint_timer_query_webgl2"),WEBGL_draw_buffers:wke(t),OES_vertex_array_object:Tke(t),ANGLE_instanced_arrays:Ske(t)},r=t.getExtension;t.getExtension=function(n){let o=r.call(t,n);return o||(n in e?e[n]:null)};let i=t.getSupportedExtensions;t.getSupportedExtensions=function(){return(i.apply(t)||[])?.concat(Object.keys(e))}}var bke,wke,Tke,Ske,Cse=Nt(()=>{bke={WEBGL_depth_texture:{UNSIGNED_INT_24_8_WEBGL:34042},OES_element_index_uint:{},OES_texture_float:{},OES_texture_half_float:{HALF_FLOAT_OES:5131},EXT_color_buffer_float:{},OES_standard_derivatives:{FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723},EXT_frag_depth:{},EXT_blend_minmax:{MIN_EXT:32775,MAX_EXT:32776},EXT_shader_texture_lod:{}},wke=t=>({drawBuffersWEBGL(e){return t.drawBuffers(e)},COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067}),Tke=t=>({VERTEX_ARRAY_BINDING_OES:34229,createVertexArrayOES(){return t.createVertexArray()},deleteVertexArrayOES(e){return t.deleteVertexArray(e)},isVertexArrayOES(e){return t.isVertexArray(e)},bindVertexArrayOES(e){return t.bindVertexArray(e)}}),Ske=t=>({VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,drawArraysInstancedANGLE(...e){return t.drawArraysInstanced(...e)},drawElementsInstancedANGLE(...e){return t.drawElementsInstanced(...e)},vertexAttribDivisorANGLE(...e){return t.vertexAttribDivisor(...e)}})});async function Xk(t,e){let r=document.getElementsByTagName("head")[0];if(!r)throw new Error("loadScript");let i=document.createElement("script");return i.setAttribute("type","text/javascript"),i.setAttribute("src",t),e&&(i.id=e),new Promise((n,o)=>{i.onload=n,i.onerror=s=>o(new Error(`Unable to load script '${t}': ${s}`)),r.appendChild(i)})}var V9=Nt(()=>{});function j1(t){let e=t.luma||{_polyfilled:!1,extensions:{},softwareRenderer:!1};return e._polyfilled??=!1,e.extensions||={},t.luma=e,e}var Zk=Nt(()=>{});async function Mse(t){if(!globalThis.SPECTOR)try{await Xk(t.debugSpectorJSUrl||Yk.debugSpectorJSUrl)}catch(e){Dr.warn(String(e))}}function Pse(t){if(t={...Yk,...t},!t.debugSpectorJS)return null;if(!zm&&globalThis.SPECTOR&&!globalThis.luma?.spector){Dr.probe(Cke,"SPECTOR found and initialized. Start with `luma.spector.displayUI()`")();let{Spector:e}=globalThis.SPECTOR;zm=new e,globalThis.luma&&(globalThis.luma.spector=zm)}if(!zm)return null;if(Ise||(Ise=!0,zm.spyCanvases(),zm?.onCaptureStarted.add(e=>Dr.info("Spector capture started:",e)()),zm?.onCapture.add(e=>{Dr.info("Spector capture complete:",e)(),zm?.getResultUI(),zm?.resultView.display(),zm?.resultView.addCapture(e)})),t.gl){let e=t.gl,r=j1(e),i=r.device;zm?.startCapture(t.gl,500),r.device=i,new Promise(n=>setTimeout(n,2e3)).then(n=>{Dr.info("Spector capture stopped after 2 seconds")(),zm?.stopCapture()})}return zm}var Cke,zm,Ise,Yk,j9=Nt(()=>{Eo();V9();Zk();Cke=1,zm=null,Ise=!1,Yk={debugSpectorJS:Dr.get("debug-spectorjs"),debugSpectorJSUrl:"https://cdn.jsdelivr.net/npm/spectorjs@0.9.30/dist/spector.bundle.js",gl:void 0}});function Bse(t){return t.luma=t.luma||{},t.luma}async function Lse(){rp()&&!globalThis.WebGLDebugUtils&&(globalThis.global=globalThis.global||globalThis,globalThis.global.module={},await Xk(Ike))}function Dse(t,e={}){return e.debugWebGL||e.traceWebGL?Pke(t,e):Mke(t)}function Mke(t){let e=Bse(t);return e.realContext?e.realContext:t}function Pke(t,e){if(!globalThis.WebGLDebugUtils)return Dr.warn("webgl-debug not loaded")(),t;let r=Bse(t);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init({...WA,...t});let i=globalThis.WebGLDebugUtils.makeDebugContext(t,Rke.bind(null,e),Bke.bind(null,e));for(let s in WA)!(s in i)&&typeof WA[s]=="number"&&(i[s]=WA[s]);class n{}Object.setPrototypeOf(i,Object.getPrototypeOf(t)),Object.setPrototypeOf(n,i);let o=Object.create(n);return r.realContext=t,r.debugContext=o,o.luma=r,o.debug=!0,o}function Rse(t,e){e=Array.from(e).map(i=>i===void 0?"undefined":i);let r=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,e);return r=`${r.slice(0,100)}${r.length>100?"...":""}`,`gl.${t}(${r})`}function Rke(t,e,r,i){i=Array.from(i).map(c=>c===void 0?"undefined":c);let n=globalThis.WebGLDebugUtils.glEnumToString(e),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,i),s=`${n} in gl.${r}(${o})`;Dr.error("%cWebGL","color: white; background: red; padding: 2px 6px; border-radius: 3px;",s)();debugger;throw new Error(s)}function Bke(t,e,r){let i="";t.traceWebGL&&Dr.level>=1&&(i=Rse(e,r),Dr.info(1,"%cWebGL","color: white; background: blue; padding: 2px 6px; border-radius: 3px;",i)());for(let n of r)if(n===void 0){i=i||Rse(e,r);debugger}}var Ike,H9=Nt(()=>{Eo();Mj();Iv();V9();Ike="https://unpkg.com/webgl-debug@2.0.1/index.js"});function G9(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Wu(t,e,r){return e[t]!==void 0?e[t]:r[t]}var jP,kh,Ose,Um,Fse,VP,kse,Nse,W9,s_,q9,zse,$9=Nt(()=>{jP={[3042]:!1,[32773]:new Float32Array([0,0,0,0]),[32777]:32774,[34877]:32774,[32969]:1,[32968]:0,[32971]:1,[32970]:0,[3106]:new Float32Array([0,0,0,0]),[3107]:[!0,!0,!0,!0],[2884]:!1,[2885]:1029,[2929]:!1,[2931]:1,[2932]:513,[2928]:new Float32Array([0,1]),[2930]:!0,[3024]:!0,[35725]:null,[36006]:null,[36007]:null,[34229]:null,[34964]:null,[2886]:2305,[33170]:4352,[2849]:1,[32823]:!1,[32824]:0,[10752]:0,[32926]:!1,[32928]:!1,[32938]:1,[32939]:!1,[3089]:!1,[3088]:new Int32Array([0,0,1024,1024]),[2960]:!1,[2961]:0,[2968]:4294967295,[36005]:4294967295,[2962]:519,[2967]:0,[2963]:4294967295,[34816]:519,[36003]:0,[36004]:4294967295,[2964]:7680,[2965]:7680,[2966]:7680,[34817]:7680,[34818]:7680,[34819]:7680,[2978]:[0,0,1024,1024],[36389]:null,[36662]:null,[36663]:null,[35053]:null,[35055]:null,[35723]:4352,[36010]:null,[35977]:!1,[3333]:4,[3317]:4,[37440]:!1,[37441]:!1,[37443]:37444,[3330]:0,[3332]:0,[3331]:0,[3314]:0,[32878]:0,[3316]:0,[3315]:0,[32877]:0},kh=(t,e,r)=>e?t.enable(r):t.disable(r),Ose=(t,e,r)=>t.hint(r,e),Um=(t,e,r)=>t.pixelStorei(r,e),Fse=(t,e,r)=>{let i=r===36006?36009:36008;return t.bindFramebuffer(i,e)},VP=(t,e,r)=>{let n={[34964]:34962,[36662]:36662,[36663]:36663,[35053]:35051,[35055]:35052}[r];t.bindBuffer(n,e)};kse={[3042]:kh,[32773]:(t,e)=>t.blendColor(...e),[32777]:"blendEquation",[34877]:"blendEquation",[32969]:"blendFunc",[32968]:"blendFunc",[32971]:"blendFunc",[32970]:"blendFunc",[3106]:(t,e)=>t.clearColor(...e),[3107]:(t,e)=>t.colorMask(...e),[2884]:kh,[2885]:(t,e)=>t.cullFace(e),[2929]:kh,[2931]:(t,e)=>t.clearDepth(e),[2932]:(t,e)=>t.depthFunc(e),[2928]:(t,e)=>t.depthRange(...e),[2930]:(t,e)=>t.depthMask(e),[3024]:kh,[35723]:Ose,[35725]:(t,e)=>t.useProgram(e),[36007]:(t,e)=>t.bindRenderbuffer(36161,e),[36389]:(t,e)=>t.bindTransformFeedback?.(36386,e),[34229]:(t,e)=>t.bindVertexArray(e),[36006]:Fse,[36010]:Fse,[34964]:VP,[36662]:VP,[36663]:VP,[35053]:VP,[35055]:VP,[2886]:(t,e)=>t.frontFace(e),[33170]:Ose,[2849]:(t,e)=>t.lineWidth(e),[32823]:kh,[32824]:"polygonOffset",[10752]:"polygonOffset",[35977]:kh,[32926]:kh,[32928]:kh,[32938]:"sampleCoverage",[32939]:"sampleCoverage",[3089]:kh,[3088]:(t,e)=>t.scissor(...e),[2960]:kh,[2961]:(t,e)=>t.clearStencil(e),[2968]:(t,e)=>t.stencilMaskSeparate(1028,e),[36005]:(t,e)=>t.stencilMaskSeparate(1029,e),[2962]:"stencilFuncFront",[2967]:"stencilFuncFront",[2963]:"stencilFuncFront",[34816]:"stencilFuncBack",[36003]:"stencilFuncBack",[36004]:"stencilFuncBack",[2964]:"stencilOpFront",[2965]:"stencilOpFront",[2966]:"stencilOpFront",[34817]:"stencilOpBack",[34818]:"stencilOpBack",[34819]:"stencilOpBack",[2978]:(t,e)=>t.viewport(...e),[34383]:kh,[10754]:kh,[12288]:kh,[12289]:kh,[12290]:kh,[12291]:kh,[12292]:kh,[12293]:kh,[12294]:kh,[12295]:kh,[3333]:Um,[3317]:Um,[37440]:Um,[37441]:Um,[37443]:Um,[3330]:Um,[3332]:Um,[3331]:Um,[3314]:Um,[32878]:Um,[3316]:Um,[3315]:Um,[32877]:Um,framebuffer:(t,e)=>{let r=e&&"handle"in e?e.handle:e;return t.bindFramebuffer(36160,r)},blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{let r=typeof e=="number"?[e,e]:e;t.blendEquationSeparate(...r)},blendFunc:(t,e)=>{let r=e?.length===2?[...e,...e]:e;t.blendFuncSeparate(...r)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(e[0],e[1]||!1),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=G9(e)?e:[e,e];let[r,i]=e;t.stencilMaskSeparate(1028,r),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=G9(e)&&e.length===3?[...e,...e]:e;let[r,i,n,o,s,c]=e;t.stencilFuncSeparate(1028,r,i,n),t.stencilFuncSeparate(1029,o,s,c)},stencilOp:(t,e)=>{e=G9(e)&&e.length===3?[...e,...e]:e;let[r,i,n,o,s,c]=e;t.stencilOpSeparate(1028,r,i,n),t.stencilOpSeparate(1029,o,s,c)},viewport:(t,e)=>t.viewport(...e)};Nse={blendEquation:(t,e,r)=>t.blendEquationSeparate(Wu(32777,e,r),Wu(34877,e,r)),blendFunc:(t,e,r)=>t.blendFuncSeparate(Wu(32969,e,r),Wu(32968,e,r),Wu(32971,e,r),Wu(32970,e,r)),polygonOffset:(t,e,r)=>t.polygonOffset(Wu(32824,e,r),Wu(10752,e,r)),sampleCoverage:(t,e,r)=>t.sampleCoverage(Wu(32938,e,r),Wu(32939,e,r)),stencilFuncFront:(t,e,r)=>t.stencilFuncSeparate(1028,Wu(2962,e,r),Wu(2967,e,r),Wu(2963,e,r)),stencilFuncBack:(t,e,r)=>t.stencilFuncSeparate(1029,Wu(34816,e,r),Wu(36003,e,r),Wu(36004,e,r)),stencilOpFront:(t,e,r)=>t.stencilOpSeparate(1028,Wu(2964,e,r),Wu(2965,e,r),Wu(2966,e,r)),stencilOpBack:(t,e,r)=>t.stencilOpSeparate(1029,Wu(34817,e,r),Wu(34818,e,r),Wu(34819,e,r))},W9={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,r)=>t({[e]:r}),hint:(t,e,r)=>t({[e]:r}),useProgram:(t,e)=>t({[35725]:e}),bindRenderbuffer:(t,e,r)=>t({[36007]:r}),bindTransformFeedback:(t,e,r)=>t({[36389]:r}),bindVertexArray:(t,e)=>t({[34229]:e}),bindFramebuffer:(t,e,r)=>{switch(e){case 36160:return t({[36006]:r,[36010]:r});case 36009:return t({[36006]:r});case 36008:return t({[36010]:r});default:return null}},bindBuffer:(t,e,r)=>{let i={[34962]:[34964],[36662]:[36662],[36663]:[36663],[35051]:[35053],[35052]:[35055]}[e];return i?t({[i]:r}):{valueChanged:!0}},blendColor:(t,e,r,i,n)=>t({[32773]:new Float32Array([e,r,i,n])}),blendEquation:(t,e)=>t({[32777]:e,[34877]:e}),blendEquationSeparate:(t,e,r)=>t({[32777]:e,[34877]:r}),blendFunc:(t,e,r)=>t({[32969]:e,[32968]:r,[32971]:e,[32970]:r}),blendFuncSeparate:(t,e,r,i,n)=>t({[32969]:e,[32968]:r,[32971]:i,[32970]:n}),clearColor:(t,e,r,i,n)=>t({[3106]:new Float32Array([e,r,i,n])}),clearDepth:(t,e)=>t({[2931]:e}),clearStencil:(t,e)=>t({[2961]:e}),colorMask:(t,e,r,i,n)=>t({[3107]:[e,r,i,n]}),cullFace:(t,e)=>t({[2885]:e}),depthFunc:(t,e)=>t({[2932]:e}),depthRange:(t,e,r)=>t({[2928]:new Float32Array([e,r])}),depthMask:(t,e)=>t({[2930]:e}),frontFace:(t,e)=>t({[2886]:e}),lineWidth:(t,e)=>t({[2849]:e}),polygonOffset:(t,e,r)=>t({[32824]:e,[10752]:r}),sampleCoverage:(t,e,r)=>t({[32938]:e,[32939]:r}),scissor:(t,e,r,i,n)=>t({[3088]:new Int32Array([e,r,i,n])}),stencilMask:(t,e)=>t({[2968]:e,[36005]:e}),stencilMaskSeparate:(t,e,r)=>t({[e===1028?2968:36005]:r}),stencilFunc:(t,e,r,i)=>t({[2962]:e,[2967]:r,[2963]:i,[34816]:e,[36003]:r,[36004]:i}),stencilFuncSeparate:(t,e,r,i,n)=>t({[e===1028?2962:34816]:r,[e===1028?2967:36003]:i,[e===1028?2963:36004]:n}),stencilOp:(t,e,r,i)=>t({[2964]:e,[2965]:r,[2966]:i,[34817]:e,[34818]:r,[34819]:i}),stencilOpSeparate:(t,e,r,i,n)=>t({[e===1028?2964:34817]:r,[e===1028?2965:34818]:i,[e===1028?2966:34819]:n}),viewport:(t,e,r,i,n)=>t({[2978]:[e,r,i,n]})},s_=(t,e)=>t.isEnabled(e),q9={[3042]:s_,[2884]:s_,[2929]:s_,[3024]:s_,[32823]:s_,[32926]:s_,[32928]:s_,[3089]:s_,[2960]:s_,[35977]:s_},zse=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068])});function F0(t,e){if(Lke(e))return;let r={};for(let n in e){let o=Number(n),s=kse[n];s&&(typeof s=="string"?r[s]=!0:s(t,e[n],o))}let i=t.lumaState?.cache;if(i)for(let n in r){let o=Nse[n];o(t,e,i)}}function Kk(t,e=jP){if(typeof e=="number"){let n=e,o=q9[n];return o?o(t,n):t.getParameter(n)}let r=Array.isArray(e)?e:Object.keys(e),i={};for(let n of r){let o=q9[n];i[n]=o?o(t,Number(n)):t.getParameter(Number(n))}return i}function Use(t){F0(t,jP)}function Lke(t){for(let e in t)return!1;return!0}var yS=Nt(()=>{$9()});function jse(t,e){if(t===e)return!0;if(Vse(t)&&Vse(e)&&t.length===e.length){for(let r=0;r{});function Gse(t,e){let r=t[e].bind(t);t[e]=function(n){if(n===void 0||zse.has(n))return r(n);let o=k0.get(t);return n in o.cache||(o.cache[n]=r(n)),o.enable?o.cache[n]:r(n)},Object.defineProperty(t[e],"name",{value:`${e}-from-cache`,configurable:!1})}function Dke(t,e,r){if(!t[e])return;let i=t[e].bind(t);t[e]=function(...o){let s=k0.get(t),{valueChanged:c,oldValue:f}=r(s._updateCache,...o);return c&&i(...o),f},Object.defineProperty(t[e],"name",{value:`${e}-to-cache`,configurable:!1})}function Oke(t){let e=t.useProgram.bind(t);t.useProgram=function(i){let n=k0.get(t);n.program!==i&&(e(i),n.program=i)}}var k0,X9=Nt(()=>{yS();Hse();$9();k0=class{static get(e){return e.lumaState}gl;program=null;stateStack=[];enable=!0;cache=null;log;initialized=!1;constructor(e,r){this.gl=e,this.log=r?.log||(()=>{}),this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){let e=this.stateStack[this.stateStack.length-1];F0(this.gl,e),this.stateStack.pop()}trackState(e,r){if(this.cache=r?.copyState?Kk(e):Object.assign({},jP),this.initialized)throw new Error("WebGLStateTracker");this.initialized=!0,this.gl.lumaState=this,Oke(e);for(let i in W9){let n=W9[i];Dke(e,i,n)}Gse(e,"getParameter"),Gse(e,"isEnabled")}_updateCache(e){let r=!1,i,n=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let o in e){let s=e[o],c=this.cache[o];jse(s,c)||(r=!0,i=c,n&&!(o in n)&&(n[o]=c),this.cache[o]=s)}return{valueChanged:r,oldValue:i}}}});function Wse(t,e,r){let i="",n=f=>{let g=f.statusMessage;g&&(i||=g)};t.addEventListener("webglcontextcreationerror",n,!1);let o=r.failIfMajorPerformanceCaveat!==!0,s={preserveDrawingBuffer:!0,...r,failIfMajorPerformanceCaveat:!0},c=null;try{c||=t.getContext("webgl2",s),!c&&s.failIfMajorPerformanceCaveat&&(i||="Only software GPU is available. Set `failIfMajorPerformanceCaveat: false` to allow.");let f=!1;if(!c&&o&&(s.failIfMajorPerformanceCaveat=!1,c=t.getContext("webgl2",s),f=!0),c||(c=t.getContext("webgl",{}),c&&(c=null,i||="Your browser only supports WebGL1")),!c)throw i||="Your browser does not support WebGL",new Error(`Failed to create WebGL context: ${i}`);let g=j1(c);g.softwareRenderer=f;let{onContextLost:y,onContextRestored:I}=e;return t.addEventListener("webglcontextlost",F=>y(F),!1),t.addEventListener("webglcontextrestored",F=>I(F),!1),c}finally{t.removeEventListener("webglcontextcreationerror",n,!1)}}var qse=Nt(()=>{Zk()});function N0(t,e,r){return r[e]===void 0&&(r[e]=t.getExtension(e)||null),r[e]}var HP=Nt(()=>{});function $se(t,e){let r=t.getParameter(7936),i=t.getParameter(7937);N0(t,"WEBGL_debug_renderer_info",e);let n=e.WEBGL_debug_renderer_info,o=t.getParameter(n?n.UNMASKED_VENDOR_WEBGL:7936),s=t.getParameter(n?n.UNMASKED_RENDERER_WEBGL:7937),c=o||r,f=s||i,g=t.getParameter(7938),y=Xse(c,f),I=Fke(c,f),F=kke(c,f);return{type:"webgl",gpu:y,gpuType:F,gpuBackend:I,vendor:c,renderer:f,version:g,shadingLanguage:"glsl",shadingLanguageVersion:300}}function Xse(t,e){return/NVIDIA/i.exec(t)||/NVIDIA/i.exec(e)?"nvidia":/INTEL/i.exec(t)||/INTEL/i.exec(e)?"intel":/Apple/i.exec(t)||/Apple/i.exec(e)?"apple":/AMD/i.exec(t)||/AMD/i.exec(e)||/ATI/i.exec(t)||/ATI/i.exec(e)?"amd":/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e)?"software":"unknown"}function Fke(t,e){return/Metal/i.exec(t)||/Metal/i.exec(e)?"metal":/ANGLE/i.exec(t)||/ANGLE/i.exec(e)?"opengl":"unknown"}function kke(t,e){if(/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e))return"cpu";switch(Xse(t,e)){case"apple":return Nke(t,e)?"integrated":"unknown";case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function Nke(t,e){return/Apple (M\d|A\d|GPU)/i.test(`${t} ${e}`)}var Zse=Nt(()=>{HP()});function Qk(t){switch(t){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(t))}var Z9=Nt(()=>{});function Qse(t){return t in eN}function eW(t,e,r){return Jse(t,e,r,new Set)}function Jse(t,e,r,i){let n=eN[e];if(!n||i.has(e))return!1;i.add(e);let o=(n.features||[]).every(s=>Jse(t,s,r,i));return i.delete(e),o?(n.extensions||[]).every(s=>Boolean(N0(t,s,r))):!1}function eae(t,e,r){let i=e.create,n=tN[e.format];n?.gl===void 0&&(i=!1),n?.x&&(i=i&&Boolean(N0(t,n.x,r))),e.format==="stencil8"&&(i=!1);let o=n?.r===!1?!1:n?.r===void 0||eW(t,n.r,r),s=i&&e.render&&o&&qke(t,e.format,r);return{format:e.format,create:i&&e.create,render:s,filter:i&&e.filter,blend:i&&e.blend,store:i&&e.store}}function qke(t,e,r){let i=tN[e],n=i?.gl;if(n===void 0||i?.x&&!N0(t,i.x,r))return!1;let o=t.getParameter(32873),s=t.getParameter(36006),c=t.createTexture(),f=t.createFramebuffer();if(!c||!f)return!1;let g=Number(0),y=Number(t.getError());for(;y!==g;)y=t.getError();let I=!1;try{if(t.bindTexture(3553,c),t.texStorage2D(3553,1,n,1,1),Number(t.getError())!==g)return!1;t.bindFramebuffer(36160,f),t.framebufferTexture2D(36160,36064,3553,c,0),I=Number(t.checkFramebufferStatus(36160))===Number(36053)&&Number(t.getError())===g}finally{t.bindFramebuffer(36160,s),t.deleteFramebuffer(f),t.bindTexture(3553,o),t.deleteTexture(c)}return I}function rN(t){let e=tN[t],r=Xke(t),i=ld.getInfo(t);return i.compressed&&(e.dataFormat=r),{internalFormat:r,format:e?.dataFormat||$ke(i.channels,i.integer,i.normalized,r),type:i.dataType?Qk(i.dataType):e?.types?.[0]||5121,compressed:i.compressed||!1}}function tae(t){switch(ld.getInfo(t).attachment){case"depth":return 36096;case"stencil":return 36128;case"depth-stencil":return 33306;default:throw new Error(`Not a depth stencil format: ${t}`)}}function $ke(t,e,r,i){if(i===6408||i===6407)return i;switch(t){case"r":return e&&!r?36244:6403;case"rg":return e&&!r?33320:33319;case"rgb":return e&&!r?36248:6407;case"rgba":return e&&!r?36249:6408;case"bgra":throw new Error("bgra pixels not supported by WebGL");default:return 6408}}function Xke(t){let r=tN[t]?.gl;if(r===void 0)throw new Error(`Unsupported texture format ${t}`);return r}var GP,WP,vS,xS,zke,Uke,Vke,jke,Hke,Gke,Yse,Kse,Y9,K9,Q9,J9,Jk,Wke,eN,tN,bS=Nt(()=>{Eo();HP();Z9();GP="WEBGL_compressed_texture_s3tc",WP="WEBGL_compressed_texture_s3tc_srgb",vS="EXT_texture_compression_rgtc",xS="EXT_texture_compression_bptc",zke="WEBGL_compressed_texture_etc",Uke="WEBGL_compressed_texture_astc",Vke="WEBGL_compressed_texture_etc1",jke="WEBGL_compressed_texture_pvrtc",Hke="WEBGL_compressed_texture_atc",Gke="EXT_texture_norm16",Yse="EXT_render_snorm",Kse="EXT_color_buffer_float",Y9="snorm8-renderable-webgl",K9="norm16-renderable-webgl",Q9="snorm16-renderable-webgl",J9="float16-renderable-webgl",Jk="float32-renderable-webgl",Wke="rgb9e5ufloat-renderable-webgl",eN={"float32-renderable-webgl":{extensions:[Kse]},"float16-renderable-webgl":{extensions:["EXT_color_buffer_half_float"]},"rgb9e5ufloat-renderable-webgl":{extensions:["WEBGL_render_shared_exponent"]},"snorm8-renderable-webgl":{extensions:[Yse]},"norm16-webgl":{extensions:[Gke]},"norm16-renderable-webgl":{features:["norm16-webgl"]},"snorm16-renderable-webgl":{features:["norm16-webgl"],extensions:[Yse]},"float32-filterable":{extensions:["OES_texture_float_linear"]},"float16-filterable-webgl":{extensions:["OES_texture_half_float_linear"]},"texture-filterable-anisotropic-webgl":{extensions:["EXT_texture_filter_anisotropic"]},"texture-blend-float-webgl":{extensions:["EXT_float_blend"]},"texture-compression-bc":{extensions:[GP,WP,vS,xS]},"texture-compression-bc5-webgl":{extensions:[vS]},"texture-compression-bc7-webgl":{extensions:[xS]},"texture-compression-etc2":{extensions:[zke]},"texture-compression-astc":{extensions:[Uke]},"texture-compression-etc1-webgl":{extensions:[Vke]},"texture-compression-pvrtc-webgl":{extensions:[jke]},"texture-compression-atc-webgl":{extensions:[Hke]}};tN={r8unorm:{gl:33321,rb:!0},r8snorm:{gl:36756,r:Y9},r8uint:{gl:33330,rb:!0},r8sint:{gl:33329,rb:!0},rg8unorm:{gl:33323,rb:!0},rg8snorm:{gl:36757,r:Y9},rg8uint:{gl:33336,rb:!0},rg8sint:{gl:33335,rb:!0},r16uint:{gl:33332,rb:!0},r16sint:{gl:33331,rb:!0},r16float:{gl:33325,rb:!0,r:J9},r16unorm:{gl:33322,rb:!0,r:K9},r16snorm:{gl:36760,r:Q9},"rgba4unorm-webgl":{gl:32854,rb:!0},"rgb565unorm-webgl":{gl:36194,rb:!0},"rgb5a1unorm-webgl":{gl:32855,rb:!0},"rgb8unorm-webgl":{gl:32849},"rgb8snorm-webgl":{gl:36758},rgba8unorm:{gl:32856},"rgba8unorm-srgb":{gl:35907},rgba8snorm:{gl:36759,r:Y9},rgba8uint:{gl:36220},rgba8sint:{gl:36238},bgra8unorm:{},"bgra8unorm-srgb":{},rg16uint:{gl:33338},rg16sint:{gl:33337},rg16float:{gl:33327,rb:!0,r:J9},rg16unorm:{gl:33324,r:K9},rg16snorm:{gl:36761,r:Q9},r32uint:{gl:33334,rb:!0},r32sint:{gl:33333,rb:!0},r32float:{gl:33326,r:Jk},rgb9e5ufloat:{gl:35901,r:Wke},rg11b10ufloat:{gl:35898,rb:!0},rgb10a2unorm:{gl:32857,rb:!0},rgb10a2uint:{gl:36975,rb:!0},"rgb16unorm-webgl":{gl:32852,r:!1},"rgb16snorm-webgl":{gl:36762,r:!1},rg32uint:{gl:33340,rb:!0},rg32sint:{gl:33339,rb:!0},rg32float:{gl:33328,rb:!0,r:Jk},rgba16uint:{gl:36214,rb:!0},rgba16sint:{gl:36232,rb:!0},rgba16float:{gl:34842,r:J9},rgba16unorm:{gl:32859,rb:!0,r:K9},rgba16snorm:{gl:36763,r:Q9},"rgb32float-webgl":{gl:34837,x:Kse,r:Jk,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,rb:!0},rgba32sint:{gl:36226,rb:!0},rgba32float:{gl:34836,rb:!0,r:Jk},stencil8:{gl:36168,rb:!0},depth16unorm:{gl:33189,dataFormat:6402,types:[5123],rb:!0},depth24plus:{gl:33190,dataFormat:6402,types:[5125]},depth32float:{gl:36012,dataFormat:6402,types:[5126],rb:!0},"depth24plus-stencil8":{gl:35056,rb:!0,depthTexture:!0,dataFormat:34041,types:[34042]},"depth32float-stencil8":{gl:36013,dataFormat:34041,types:[36269],rb:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:GP},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:WP},"bc1-rgba-unorm":{gl:33777,x:GP},"bc1-rgba-unorm-srgb":{gl:35916,x:WP},"bc2-rgba-unorm":{gl:33778,x:GP},"bc2-rgba-unorm-srgb":{gl:35918,x:WP},"bc3-rgba-unorm":{gl:33779,x:GP},"bc3-rgba-unorm-srgb":{gl:35919,x:WP},"bc4-r-unorm":{gl:36283,x:vS},"bc4-r-snorm":{gl:36284,x:vS},"bc5-rg-unorm":{gl:36285,x:vS},"bc5-rg-snorm":{gl:36286,x:vS},"bc6h-rgb-ufloat":{gl:36495,x:xS},"bc6h-rgb-float":{gl:36494,x:xS},"bc7-rgba-unorm":{gl:36492,x:xS},"bc7-rgba-unorm-srgb":{gl:36493,x:xS},"etc2-rgb8unorm":{gl:37492},"etc2-rgb8unorm-srgb":{gl:37494},"etc2-rgb8a1unorm":{gl:37496},"etc2-rgb8a1unorm-srgb":{gl:37497},"etc2-rgba8unorm":{gl:37493},"etc2-rgba8unorm-srgb":{gl:37495},"eac-r11unorm":{gl:37488},"eac-r11snorm":{gl:37489},"eac-rg11unorm":{gl:37490},"eac-rg11snorm":{gl:37491},"astc-4x4-unorm":{gl:37808},"astc-4x4-unorm-srgb":{gl:37840},"astc-5x4-unorm":{gl:37809},"astc-5x4-unorm-srgb":{gl:37841},"astc-5x5-unorm":{gl:37810},"astc-5x5-unorm-srgb":{gl:37842},"astc-6x5-unorm":{gl:37811},"astc-6x5-unorm-srgb":{gl:37843},"astc-6x6-unorm":{gl:37812},"astc-6x6-unorm-srgb":{gl:37844},"astc-8x5-unorm":{gl:37813},"astc-8x5-unorm-srgb":{gl:37845},"astc-8x6-unorm":{gl:37814},"astc-8x6-unorm-srgb":{gl:37846},"astc-8x8-unorm":{gl:37815},"astc-8x8-unorm-srgb":{gl:37847},"astc-10x5-unorm":{gl:37816},"astc-10x5-unorm-srgb":{gl:37848},"astc-10x6-unorm":{gl:37817},"astc-10x6-unorm-srgb":{gl:37849},"astc-10x8-unorm":{gl:37818},"astc-10x8-unorm-srgb":{gl:37850},"astc-10x10-unorm":{gl:37819},"astc-10x10-unorm-srgb":{gl:37851},"astc-12x10-unorm":{gl:37820},"astc-12x10-unorm-srgb":{gl:37852},"astc-12x12-unorm":{gl:37821},"astc-12x12-unorm-srgb":{gl:37853},"pvrtc-rgb4unorm-webgl":{gl:35840},"pvrtc-rgba4unorm-webgl":{gl:35842},"pvrtc-rgb2unorm-webgl":{gl:35841},"pvrtc-rgba2unorm-webgl":{gl:35843},"etc1-rbg-unorm-webgl":{gl:36196},"atc-rgb-unorm-webgl":{gl:35986},"atc-rgba-unorm-webgl":{gl:35986},"atc-rgbai-unorm-webgl":{gl:34798}}});var rae,iN,iae=Nt(()=>{Eo();HP();bS();rae={"depth-clip-control":"EXT_depth_clamp","timestamp-query":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},iN=class extends QM{gl;extensions;testedFeatures=new Set;constructor(e,r,i){super([],i),this.gl=e,this.extensions=r,N0(e,"EXT_color_buffer_float",r)}*[Symbol.iterator](){let e=this.getFeatures();for(let r of e)this.has(r)&&(yield r);return[]}has(e){return this.disabledFeatures?.[e]?!1:(this.testedFeatures.has(e)||(this.testedFeatures.add(e),Qse(e)&&eW(this.gl,e,this.extensions)&&this.features.add(e),this.getWebGLFeature(e)&&this.features.add(e)),this.features.has(e))}initializeFeatures(){let e=this.getFeatures().filter(r=>r!=="polygon-mode-webgl");for(let r of e)this.has(r)}getFeatures(){return[...Object.keys(rae),...Object.keys(eN)]}getWebGLFeature(e){let r=rae[e];return Boolean(typeof r=="string"?N0(this.gl,r,this.extensions):r)}}});var nN,nae=Nt(()=>{Eo();nN=class extends KM{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(3379)}get maxTextureDimension3D(){return this.getParameter(32883)}get maxTextureArrayLayers(){return this.getParameter(35071)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(35660)}get maxSamplersPerShaderStage(){return this.getParameter(35661)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(35375)}get maxUniformBufferBindingSize(){return this.getParameter(35376)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(35380)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(34921)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderVariables(){return this.getParameter(35659)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(e){super(),this.gl=e}getParameter(e){return this.limits[e]===void 0&&(this.limits[e]=this.gl.getParameter(e)),this.limits[e]||0}}});function Zke(t){return t<34069?t+34069:t}function Yke(t){switch(t){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return`${t}`}}var a_,oN=Nt(()=>{Eo();bS();a_=class extends KA{device;gl;handle;colorAttachments=[];depthStencilAttachment=null;constructor(e,r){super(e,r);let i=r.handle===null;this.device=e,this.gl=e.gl,this.handle=this.props.handle||i?this.props.handle:this.gl.createFramebuffer(),i||(e._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),r.handle||(this.autoCreateAttachmentTextures(),this.updateAttachments()))}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&!this.props.handle&&this.gl.deleteFramebuffer(this.handle)}updateAttachments(){let e=this.gl.bindFramebuffer(36160,this.handle);for(let r=0;r{Eo();oN();sN=class extends GT{device;handle=null;_framebuffer=null;get[Symbol.toStringTag](){return"WebGLCanvasContext"}constructor(e,r){super(r),this.device=e,this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this._configureDevice()}_configureDevice(){(this.drawingBufferWidth!==this._framebuffer?.width||this.drawingBufferHeight!==this._framebuffer?.height)&&this._framebuffer?.resize([this.drawingBufferWidth,this.drawingBufferHeight])}_getCurrentFramebuffer(){return this._framebuffer||=new a_(this.device,{id:"canvas-context-framebuffer",handle:null,width:this.drawingBufferWidth,height:this.drawingBufferHeight}),this._framebuffer}}});var aN,sae=Nt(()=>{Eo();aN=class extends tP{device;handle=null;context2d;get[Symbol.toStringTag](){return"WebGLPresentationContext"}constructor(e,r={}){super(r),this.device=e;let i=`${this[Symbol.toStringTag]}(${this.id})`;if(!this.device.getDefaultCanvasContext().offscreenCanvas)throw new Error(`${i}: WebGL PresentationContext requires the default CanvasContext canvas to be an OffscreenCanvas`);let o=this.canvas.getContext("2d");if(!o)throw new Error(`${i}: Failed to create 2d presentation context`);this.context2d=o,this._setAutoCreatedCanvasId(`${this.device.id}-presentation-canvas`),this._configureDevice(),this._startObservers()}present(){this._resizeDrawingBufferIfNeeded(),this.device.submit();let e=this.device.getDefaultCanvasContext(),[r,i]=e.getDrawingBufferSize();if(!(this.drawingBufferWidth===0||this.drawingBufferHeight===0||r===0||i===0||e.canvas.width===0||e.canvas.height===0)){if(r!==this.drawingBufferWidth||i!==this.drawingBufferHeight||e.canvas.width!==this.drawingBufferWidth||e.canvas.height!==this.drawingBufferHeight)throw new Error(`${this[Symbol.toStringTag]}(${this.id}): Default canvas context size ${r}x${i} does not match presentation size ${this.drawingBufferWidth}x${this.drawingBufferHeight}`);this.context2d.clearRect(0,0,this.drawingBufferWidth,this.drawingBufferHeight),this.context2d.drawImage(e.canvas,0,0)}}_configureDevice(){}_getCurrentFramebuffer(e){let r=this.device.getDefaultCanvasContext();return r.setDrawingBufferSize(this.drawingBufferWidth,this.drawingBufferHeight),r.getCurrentFramebuffer(e)}}});function aae(t="id"){tW[t]=tW[t]||1;let e=tW[t]++;return`${t}-${e}`}var tW,lae=Nt(()=>{tW={}});function Kke(t){return t&lo.INDEX?34963:t&lo.VERTEX?34962:t&lo.UNIFORM?35345:34962}function Qke(t){return t&lo.INDEX||t&lo.VERTEX?35044:t&lo.UNIFORM?35048:35044}var z0,lN=Nt(()=>{Eo();z0=class extends lo{device;gl;handle;glTarget;glUsage;glIndexType=5123;byteLength=0;bytesUsed=0;constructor(e,r={}){super(e,r),this.device=e,this.gl=this.device.gl;let i=typeof r=="object"?r.handle:void 0;this.handle=i||this.gl.createBuffer(),e._setWebGLDebugMetadata(this.handle,this,{spector:{...this.props,data:typeof this.props.data}}),this.glTarget=Kke(this.props.usage),this.glUsage=Qke(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?5125:5123,r.data?this._initWithData(r.data,r.byteOffset,r.byteLength):this._initWithByteLength(r.byteLength||0)}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Buffer"):(this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle)),this.destroyed=!0,this.handle=null)}_initWithData(e,r=0,i=e.byteLength+r){let n=this.glTarget;this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,i,this.glUsage),this.gl.bufferSubData(n,r,e),this.gl.bindBuffer(n,null),this.bytesUsed=i,this.byteLength=i,this._setDebugData(e,r,i),this.props.handle?this.trackReferencedMemory(i,"Buffer"):this.trackAllocatedMemory(i)}_initWithByteLength(e){let r=e;e===0&&(r=new Float32Array(0));let i=this.glTarget;return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,r,this.glUsage),this.gl.bindBuffer(i,null),this.bytesUsed=e,this.byteLength=e,this._setDebugData(null,0,e),this.props.handle?this.trackReferencedMemory(e,"Buffer"):this.trackAllocatedMemory(e),this}write(e,r=0){let i=ArrayBuffer.isView(e)?e:new Uint8Array(e),n=0,o=void 0,s=36663;this.gl.bindBuffer(s,this.handle),n!==0||o!==void 0?this.gl.bufferSubData(s,r,i,n,o):this.gl.bufferSubData(s,r,i),this.gl.bindBuffer(s,null),this._setDebugData(e,r,e.byteLength)}async mapAndWriteAsync(e,r=0,i=this.byteLength-r){let n=new ArrayBuffer(i);await e(n,"copied"),this.write(n,r)}async readAsync(e=0,r){return this.readSyncWebGL(e,r)}async mapAndReadAsync(e,r=0,i){let n=await this.readAsync(r,i);return await e(n.buffer,"copied")}readSyncWebGL(e=0,r){r=r??this.byteLength-e;let i=new Uint8Array(r),n=0;return this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,i,n,r),this.gl.bindBuffer(36662,null),this._setDebugData(i,e,r),i}}});function cae(t){let e=t.split(/\r?\n/),r=[];for(let i of e){if(i.length<=1)continue;let n=i.trim(),o=i.split(":"),s=o[0]?.trim();if(o.length===2){let[k,U]=o;if(!k||!U){r.push({message:n,type:cN(s||"info"),lineNum:0,linePos:0});continue}r.push({message:U.trim(),type:cN(k),lineNum:0,linePos:0});continue}let[c,f,g,...y]=o;if(!c||!f||!g){r.push({message:o.slice(1).join(":").trim()||n,type:cN(s||"info"),lineNum:0,linePos:0});continue}let I=parseInt(g,10);Number.isNaN(I)&&(I=0);let F=parseInt(f,10);Number.isNaN(F)&&(F=0),r.push({message:y.join(":").trim(),type:cN(c),lineNum:I,linePos:F})}return r}function cN(t){let e=["warning","error","info"],r=t.toLowerCase();return e.includes(r)?r:"info"}var uae=Nt(()=>{});var uN,hae=Nt(()=>{Eo();uae();uN=class extends Qv{device;handle;constructor(e,r){switch(super(e,r),this.device=e,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(35633);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(35632);break;default:throw new Error(this.props.stage)}e._setWebGLDebugMetadata(this.handle,this,{spector:this.props});let i=this._compile(this.source);i&&typeof i.catch=="function"&&i.catch(()=>{this.compilationStatus="error"})}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0,this.handle.destroyed=!0)}get asyncCompilationStatus(){return this._waitForCompilationComplete().then(()=>(this._getCompilationStatus(),this.compilationStatus))}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let e=this.device.gl.getShaderInfoLog(this.handle);return e?cae(e):[]}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)||null}_compile(e){e=e.startsWith("#version ")?e:`#version 300 es -${e}`;let{gl:r}=this.device;if(r.shaderSource(this.handle,e),r.compileShader(this.handle),!this.device.props.debug){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.debugShader(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);return}return Dr.once(1,"Shader compilation is asynchronous")(),this._waitForCompilationComplete().then(()=>{Dr.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()})}async _waitForCompilationComplete(){let e=async n=>await new Promise(o=>setTimeout(o,n));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:i}=this.device;for(;;){if(i.getShaderParameter(this.handle,37297))return;await e(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,35713)?"success":"error"}}});function dae(t,e,r,i){if(rNe(e))return i(t);let n=t;n.pushState();try{return Jke(t,e),F0(n.gl,r),i(t)}finally{n.popState()}}function Jke(t,e){let r=t,{gl:i}=r;if(e.cullMode)switch(e.cullMode){case"none":i.disable(2884);break;case"front":i.enable(2884),i.cullFace(1028);break;case"back":i.enable(2884),i.cullFace(1029);break}if(e.frontFace&&i.frontFace(H1("frontFace",e.frontFace,{ccw:2305,cw:2304})),e.unclippedDepth&&t.features.has("depth-clip-control")&&i.enable(34383),e.depthBias!==void 0&&(i.enable(32823),i.polygonOffset(e.depthBias,e.depthBiasSlopeScale||0)),e.provokingVertex&&t.features.has("provoking-vertex-webgl")){let o=r.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex,s=H1("provokingVertex",e.provokingVertex,{first:36429,last:36430});o?.provokingVertexWEBGL(s)}if((e.polygonMode||e.polygonOffsetLine)&&t.features.has("polygon-mode-webgl")){if(e.polygonMode){let o=r.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode,s=H1("polygonMode",e.polygonMode,{fill:6914,line:6913});o?.polygonModeWEBGL(1028,s),o?.polygonModeWEBGL(1029,s)}e.polygonOffsetLine&&i.enable(10754)}if(t.features.has("shader-clip-cull-distance-webgl")&&(e.clipDistance0&&i.enable(12288),e.clipDistance1&&i.enable(12289),e.clipDistance2&&i.enable(12290),e.clipDistance3&&i.enable(12291),e.clipDistance4&&i.enable(12292),e.clipDistance5&&i.enable(12293),e.clipDistance6&&i.enable(12294),e.clipDistance7&&i.enable(12295)),e.depthWriteEnabled!==void 0&&i.depthMask(tNe("depthWriteEnabled",e.depthWriteEnabled)),e.depthCompare&&(e.depthCompare!=="always"?i.enable(2929):i.disable(2929),i.depthFunc(fN("depthCompare",e.depthCompare))),e.clearDepth!==void 0&&i.clearDepth(e.clearDepth),e.stencilWriteMask){let n=e.stencilWriteMask;i.stencilMaskSeparate(1028,n),i.stencilMaskSeparate(1029,n)}if(e.stencilReadMask&&Dr.warn("stencilReadMask not supported under WebGL"),e.stencilCompare){let n=e.stencilReadMask||4294967295,o=fN("depthCompare",e.stencilCompare);e.stencilCompare!=="always"?i.enable(2960):i.disable(2960),i.stencilFuncSeparate(1028,o,0,n),i.stencilFuncSeparate(1029,o,0,n)}if(e.stencilPassOperation&&e.stencilFailOperation&&e.stencilDepthFailOperation){let n=rW("stencilPassOperation",e.stencilPassOperation),o=rW("stencilFailOperation",e.stencilFailOperation),s=rW("stencilDepthFailOperation",e.stencilDepthFailOperation);i.stencilOpSeparate(1028,o,s,n),i.stencilOpSeparate(1029,o,s,n)}switch(e.blend){case!0:i.enable(3042);break;case!1:i.disable(3042);break;default:}if(e.blendColorOperation||e.blendAlphaOperation){let n=fae("blendColorOperation",e.blendColorOperation||"add"),o=fae("blendAlphaOperation",e.blendAlphaOperation||"add");i.blendEquationSeparate(n,o);let s=hN("blendColorSrcFactor",e.blendColorSrcFactor||"one"),c=hN("blendColorDstFactor",e.blendColorDstFactor||"zero"),f=hN("blendAlphaSrcFactor",e.blendAlphaSrcFactor||"one"),g=hN("blendAlphaDstFactor",e.blendAlphaDstFactor||"zero");i.blendFuncSeparate(s,c,f,g)}}function fN(t,e){return H1(t,e,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function rW(t,e){return H1(t,e,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function fae(t,e){return H1(t,e,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function hN(t,e,r="color"){return H1(t,e,{one:1,zero:0,src:768,"one-minus-src":769,dst:774,"one-minus-dst":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773,"src-alpha-saturated":776,constant:r==="color"?32769:32771,"one-minus-constant":r==="color"?32770:32772,src1:768,"one-minus-src1":769,"src1-alpha":770,"one-minus-src1-alpha":771})}function eNe(t,e){return`Illegal parameter ${e} for ${t}`}function H1(t,e,r){if(!(e in r))throw new Error(eNe(t,e));return r[e]}function tNe(t,e){return e}function rNe(t){let e=!0;for(let r in t){e=!1;break}return e}var iW=Nt(()=>{Eo();yS()});function dN(t){let e={};return t.addressModeU&&(e[10242]=nW(t.addressModeU)),t.addressModeV&&(e[10243]=nW(t.addressModeV)),t.addressModeW&&(e[32882]=nW(t.addressModeW)),t.magFilter&&(e[10240]=oW(t.magFilter)),(t.minFilter||t.mipmapFilter)&&(e[10241]=iNe(t.minFilter||"linear",t.mipmapFilter)),t.lodMinClamp!==void 0&&(e[33082]=t.lodMinClamp),t.lodMaxClamp!==void 0&&(e[33083]=t.lodMaxClamp),t.type==="comparison-sampler"&&(e[34892]=34894),t.compare&&(e[34893]=fN("compare",t.compare)),t.maxAnisotropy&&(e[34046]=t.maxAnisotropy),e}function nW(t){switch(t){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function oW(t){switch(t){case"nearest":return 9728;case"linear":return 9729}}function iNe(t,e="none"){if(!e)return oW(t);switch(e){case"none":return oW(t);case"nearest":switch(t){case"nearest":return 9984;case"linear":return 9985}break;case"linear":switch(t){case"nearest":return 9986;case"linear":return 9987}}}var sW=Nt(()=>{iW()});var pN,pae=Nt(()=>{Eo();sW();pN=class extends Dd{device;handle;parameters;constructor(e,r){super(e,r),this.device=e,this.parameters=dN(r),this.handle=r.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(e){for(let[r,i]of Object.entries(e)){let n=Number(r);switch(n){case 33082:case 33083:this.device.gl.samplerParameterf(this.handle,n,i);break;default:this.device.gl.samplerParameteri(this.handle,n,i);break}}}}});function l_(t,e,r){if(nNe(e))return r(t);let{nocatch:i=!0}=e,n=k0.get(t);n.push(),F0(t,e);let o;if(i)o=r(t),n.pop();else try{o=r(t)}finally{n.pop()}return o}function nNe(t){for(let e in t)return!1;return!0}var mN=Nt(()=>{yS();X9()});var c_,aW=Nt(()=>{Eo();c_=class extends Dg{device;gl;handle;texture;constructor(e,r){super(e,{...oo.defaultProps,...r}),this.device=e,this.gl=this.device.gl,this.handle=null,this.texture=r.texture}}});function gN(t){return oNe[t]}var oNe,lW=Nt(()=>{oNe={[5124]:"sint32",[5125]:"uint32",[5122]:"sint16",[5123]:"uint16",[5120]:"sint8",[5121]:"uint8",[5126]:"float32",[5131]:"float16",[33635]:"uint16",[32819]:"uint16",[32820]:"uint16",[33640]:"uint32",[35899]:"uint32",[35902]:"uint32",[34042]:"uint32",[36269]:"uint32"}});function sNe(t,e=0){return e?new t.constructor(t.buffer,t.byteOffset+e,(t.byteLength-e)/t.BYTES_PER_ELEMENT):t}function aNe(t,e){if(e%t.BYTES_PER_ELEMENT!==0)throw new Error(`Texture byteOffset ${e} must align to typed array element size ${t.BYTES_PER_ELEMENT}`);return e/t.BYTES_PER_ELEMENT}function lNe(t){switch(t){case"1d":break;case"2d":return 3553;case"3d":return 32879;case"cube":return 34067;case"2d-array":return 35866;case"cube-array":break}throw new Error(t)}function AN(t,e,r){return e==="cube"?34069+r:t}var u_,_N=Nt(()=>{Eo();bS();sW();mN();aW();lW();u_=class extends oo{device;gl;handle;sampler=void 0;view;glTarget;glFormat;glType;glInternalFormat;compressed;_textureUnit=0;_framebuffer=null;_framebufferAttachmentKey=null;constructor(e,r){super(e,r,{byteAlignment:1}),this.device=e,this.gl=this.device.gl;let i=rN(this.props.format);this.glTarget=lNe(this.props.dimension),this.glInternalFormat=i.internalFormat,this.glFormat=i.format,this.glType=i.type,this.compressed=i.compressed,this.handle=this.props.handle||this.gl.createTexture(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.gl.bindTexture(this.glTarget,this.handle);let{dimension:n,width:o,height:s,depth:c,mipLevels:f,glTarget:g,glInternalFormat:y}=this;if(!this.compressed)switch(n){case"2d":case"cube":this.gl.texStorage2D(g,f,y,o,s);break;case"2d-array":case"3d":this.gl.texStorage3D(g,f,y,o,s,c);break;default:throw new Error(n)}this.gl.bindTexture(this.glTarget,null),this._initializeData(r.data),this.props.handle?this.trackReferencedMemory(this.getAllocatedByteLength(),"Texture"):this.trackAllocatedMemory(this.getAllocatedByteLength(),"Texture"),this.setSampler(this.props.sampler),this.view=new c_(this.device,{...this.props,texture:this}),Object.seal(this)}destroy(){this.handle&&(this._framebuffer?.destroy(),this._framebuffer=null,this._framebufferAttachmentKey=null,this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Texture"):(this.gl.deleteTexture(this.handle),this.trackDeallocatedMemory("Texture")),this.destroyed=!0)}createView(e){return new c_(this.device,{...e,texture:this})}setSampler(e={}){super.setSampler(e);let r=dN(this.sampler.props);this._setSamplerParameters(r)}copyExternalImage(e){let r=this._normalizeCopyExternalImageOptions(e);if(r.sourceX||r.sourceY)throw new Error("WebGL does not support sourceX/sourceY)");let{glFormat:i,glType:n}=this,{image:o,depth:s,mipLevel:c,x:f,y:g,z:y,width:I,height:F}=r,k=AN(this.glTarget,this.dimension,y),U=r.flipY?{[37440]:!0}:{};return this.gl.bindTexture(this.glTarget,this.handle),l_(this.gl,U,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(k,c,f,g,I,F,i,n,o);break;case"2d-array":case"3d":this.gl.texSubImage3D(k,c,f,g,y,I,F,s,i,n,o);break;default:}}),this.gl.bindTexture(this.glTarget,null),{width:r.width,height:r.height}}copyImageData(e){super.copyImageData(e)}readBuffer(e={},r){if(!r)throw new Error(`${this} readBuffer requires a destination buffer`);let i=this._getSupportedColorReadOptions(e),n=e.byteOffset??0,o=this.computeMemoryLayout(i);if(r.byteLength{this.gl.readPixels(i.x,i.y,i.width,i.height,this.glFormat,this.glType,n+c)})}finally{this.gl.bindBuffer(35051,null)}return r}async readDataAsync(e={}){throw new Error(`${this} readDataAsync is deprecated; use readBuffer() with an explicit destination buffer or DynamicTexture.readAsync()`)}writeBuffer(e,r={}){let i=this._normalizeTextureWriteOptions(r),{width:n,height:o,depthOrArrayLayers:s,mipLevel:c,byteOffset:f,x:g,y,z:I}=i,{glFormat:F,glType:k,compressed:U}=this,K=AN(this.glTarget,this.dimension,I);if(U)throw new Error("writeBuffer for compressed textures is not implemented in WebGL");let{bytesPerPixel:ee}=this.device.getTextureFormatInfo(this.format),he=ee?i.bytesPerRow/ee:void 0,xe={[3317]:this.byteAlignment,...he!==void 0?{[3314]:he}:{},[32878]:i.rowsPerImage};this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,e.handle),l_(this.gl,xe,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(K,c,g,y,n,o,F,k,f);break;case"2d-array":case"3d":this.gl.texSubImage3D(K,c,g,y,I,n,o,s,F,k,f);break;default:}}),this.gl.bindBuffer(35052,null),this.gl.bindTexture(this.glTarget,null)}writeData(e,r={}){let i=this._normalizeTextureWriteOptions(r),n=ArrayBuffer.isView(e)?e:new Uint8Array(e),{width:o,height:s,depthOrArrayLayers:c,mipLevel:f,x:g,y,z:I,byteOffset:F}=i,{glFormat:k,glType:U,compressed:K}=this,ee=AN(this.glTarget,this.dimension,I),he;if(!K){let{bytesPerPixel:Ge}=this.device.getTextureFormatInfo(this.format);Ge&&(he=i.bytesPerRow/Ge)}let xe=this.compressed?{}:{[3317]:this.byteAlignment,...he!==void 0?{[3314]:he}:{},[32878]:i.rowsPerImage},me=aNe(n,F),Se=K?sNe(n,F):n,Oe=this._getMipLevelSize(f),ne=g===0&&y===0&&I===0&&o===Oe.width&&s===Oe.height&&c===Oe.depthOrArrayLayers;this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,null),l_(this.gl,xe,()=>{switch(this.dimension){case"2d":case"cube":K?ne?this.gl.compressedTexImage2D(ee,f,k,o,s,0,Se):this.gl.compressedTexSubImage2D(ee,f,g,y,o,s,k,Se):this.gl.texSubImage2D(ee,f,g,y,o,s,k,U,n,me);break;case"2d-array":case"3d":K?ne?this.gl.compressedTexImage3D(ee,f,k,o,s,c,0,Se):this.gl.compressedTexSubImage3D(ee,f,g,y,I,o,s,c,k,Se):this.gl.texSubImage3D(ee,f,g,y,I,o,s,c,k,U,n,me);break;default:}}),this.gl.bindTexture(this.glTarget,null)}_getRowByteAlignment(e,r){return 1}_getFramebuffer(){return this._framebuffer||=this.device.createFramebuffer({id:`framebuffer-for-${this.id}`,width:this.width,height:this.height,colorAttachments:[this]}),this._framebuffer}readDataSyncWebGL(e={}){let r=this._getSupportedColorReadOptions(e),i=this.computeMemoryLayout(r),n=gN(this.glType),o=nP(n),s=new o(i.byteLength/o.BYTES_PER_ELEMENT);return this._readColorTextureLayers(r,i,c=>{let f=new o(s.buffer,s.byteOffset+c,i.bytesPerImage/o.BYTES_PER_ELEMENT);this.gl.readPixels(r.x,r.y,r.width,r.height,this.glFormat,this.glType,f)}),s.buffer}_readColorTextureLayers(e,r,i){let n=this._getFramebuffer(),o=r.bytesPerRow/r.bytesPerPixel,s={[3333]:this.byteAlignment,...o!==e.width?{[3330]:o}:{}},c=this.gl.getParameter(3074),f=this.gl.bindFramebuffer(36160,n.handle);try{this.gl.readBuffer(36064),l_(this.gl,s,()=>{for(let g=0;g{});function Aae(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"triangle-list":return 4;case"triangle-strip":return 5;default:throw new Error(t)}}function _ae(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;default:throw new Error(t)}}var cW=Nt(()=>{});function cNe(t,e){let r={...t,attributes:t.attributes.map(i=>({...i})),bindings:t.bindings.map(i=>({...i}))};for(let i of e?.attributes||[]){let n=r.attributes.find(o=>o.name===i.name);n?(n.type=i.type||n.type,n.stepMode=i.stepMode||n.stepMode):Dr.warn(`shader layout attribute ${i.name} not present in shader`)}for(let i of e?.bindings||[]){let n=vae(r,i.name);if(!n){Dr.warn(`shader layout binding ${i.name} not present in shader`);continue}Object.assign(n,i)}return r}function vae(t,e){return t.bindings.find(r=>r.name===e||r.name===`${e}Uniforms`||`${r.name}Uniforms`===e)}function yae(t,e){return t[e]||t[`${e}Uniforms`]||t[e.replace(/Uniforms$/,"")]}var yN,xae=Nt(()=>{Eo();iW();gae();lN();oN();_N();aW();cW();yN=class extends km{device;handle;vs;fs;introspectedLayout;bindings={};uniforms={};varyings=null;_uniformCount=0;_uniformSetters={};get[Symbol.toStringTag](){return"WEBGLRenderPipeline"}constructor(e,r){super(e,r),this.device=e;let i=this.sharedRenderPipeline||this.device._createSharedRenderPipelineWebGL(r);this.sharedRenderPipeline=i,this.handle=i.handle,this.vs=i.vs,this.fs=i.fs,this.linkStatus=i.linkStatus,this.introspectedLayout=i.introspectedLayout,this.device._setWebGLDebugMetadata(this.handle,this,{spector:{id:this.props.id}}),this.shaderLayout=r.shaderLayout?cNe(this.introspectedLayout,r.shaderLayout):this.introspectedLayout}destroy(){this.destroyed||(this.sharedRenderPipeline&&!this.props._sharedRenderPipeline&&this.sharedRenderPipeline.destroy(),this.destroyResource())}setBindings(e,r){let i=ZF(iP(this.shaderLayout,e));for(let[n,o]of Object.entries(i)){let s=vae(this.shaderLayout,n);if(s){switch(o||Dr.warn(`Unsetting binding "${n}" in render pipeline "${this.id}"`)(),s.type){case"uniform":if(!(o instanceof z0)&&!(o.buffer instanceof z0))throw new Error("buffer value");break;case"texture":if(!(o instanceof c_||o instanceof u_||o instanceof a_))throw new Error(`${this} Bad texture binding for ${n}`);break;case"sampler":Dr.warn(`Ignoring sampler ${n}`)();break;default:throw new Error(s.type)}this.bindings[n]=o}else{let c=this.shaderLayout.bindings.map(f=>`"${f.name}"`).join(", ");r?.disableWarnings||Dr.warn(`No binding "${n}" in render pipeline "${this.id}", expected one of ${c}`,o)()}}}draw(e){this._syncLinkStatus();let r=e.bindGroups?ZF(e.bindGroups):e.bindings||this.bindings,{renderPass:i,parameters:n=this.props.parameters,topology:o=this.props.topology,vertexArray:s,vertexCount:c,instanceCount:f,isInstanced:g=!1,firstVertex:y=0,transformFeedback:I,uniforms:F=this.uniforms}=e,k=Aae(o),U=Boolean(s.indexBuffer),K=s.indexBuffer?.glIndexType;if(this.linkStatus!=="success")return Dr.info(2,`RenderPipeline:${this.id}.draw() aborted - waiting for shader linking`)(),!1;if(!this._areTexturesRenderable(r))return Dr.info(2,`RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)(),!1;this.device.gl.useProgram(this.handle),s.bindBeforeRender(i),I&&I.begin(this.props.topology),this._applyBindings(r,{disableWarnings:this.props.disableWarnings}),this._applyUniforms(F);let ee=i;return dae(this.device,n,ee.glParameters,()=>{U&&g?this.device.gl.drawElementsInstanced(k,c||0,K,y,f||0):U?this.device.gl.drawElements(k,c||0,K,y):g?this.device.gl.drawArraysInstanced(k,y,c||0,f||0):this.device.gl.drawArrays(k,y,c||0),I&&I.end()}),s.unbindAfterRender(i),!0}_areTexturesRenderable(e){let r=!0;for(let i of this.shaderLayout.bindings)yae(e,i.name)||(Dr.warn(`Binding ${i.name} not found in ${this.id}`)(),r=!1);return r}_applyBindings(e,r){if(this._syncLinkStatus(),this.linkStatus!=="success")return;let{gl:i}=this.device;i.useProgram(this.handle);let n=0,o=0;for(let s of this.shaderLayout.bindings){let c=yae(e,s.name);if(!c)throw new Error(`No value for binding ${s.name} in ${this.id}`);switch(s.type){case"uniform":let{name:f}=s,g=i.getUniformBlockIndex(this.handle,f);if(g===4294967295)throw new Error(`Invalid uniform block name ${f}`);if(i.uniformBlockBinding(this.handle,g,o),c instanceof z0)i.bindBufferBase(35345,o,c.handle);else{let I=c;i.bindBufferRange(35345,o,I.buffer.handle,I.offset||0,I.size||I.buffer.byteLength-(I.offset||0))}o+=1;break;case"texture":if(!(c instanceof c_||c instanceof u_||c instanceof a_))throw new Error("texture");let y;if(c instanceof c_)y=c.texture;else if(c instanceof u_)y=c;else if(c instanceof a_&&c.colorAttachments[0]instanceof c_)Dr.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),y=c.colorAttachments[0].texture;else throw new Error("No texture");i.activeTexture(33984+n),i.bindTexture(y.glTarget,y.handle),n+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${s.type}' not supported in WebGL`)}}}_applyUniforms(e){for(let r of this.shaderLayout.uniforms||[]){let{name:i,location:n,type:o,textureUnit:s}=r,c=e[i]??s;c!==void 0&&mae(this.device.gl,n,o,c)}}_syncLinkStatus(){this.linkStatus=this.sharedRenderPipeline.linkStatus}}});function bae(t){return hNe[t]}function vN(t){return uNe[t]}function xN(t){return Boolean(Tae[t])}function wae(t){return Tae[t]}var uNe,Tae,hNe,bN=Nt(()=>{uNe={[5126]:"f32",[35664]:"vec2",[35665]:"vec3",[35666]:"vec4",[5124]:"i32",[35667]:"vec2",[35668]:"vec3",[35669]:"vec4",[5125]:"u32",[36294]:"vec2",[36295]:"vec3",[36296]:"vec4",[35670]:"f32",[35671]:"vec2",[35672]:"vec3",[35673]:"vec4",[35674]:"mat2x2",[35685]:"mat2x3",[35686]:"mat2x4",[35687]:"mat3x2",[35675]:"mat3x3",[35688]:"mat3x4",[35689]:"mat4x2",[35690]:"mat4x3",[35676]:"mat4x4"},Tae={[35678]:{viewDimension:"2d",sampleType:"float"},[35680]:{viewDimension:"cube",sampleType:"float"},[35679]:{viewDimension:"3d",sampleType:"float"},[35682]:{viewDimension:"3d",sampleType:"depth"},[36289]:{viewDimension:"2d-array",sampleType:"float"},[36292]:{viewDimension:"2d-array",sampleType:"depth"},[36293]:{viewDimension:"cube",sampleType:"float"},[36298]:{viewDimension:"2d",sampleType:"sint"},[36299]:{viewDimension:"3d",sampleType:"sint"},[36300]:{viewDimension:"cube",sampleType:"sint"},[36303]:{viewDimension:"2d-array",sampleType:"uint"},[36306]:{viewDimension:"2d",sampleType:"uint"},[36307]:{viewDimension:"3d",sampleType:"uint"},[36308]:{viewDimension:"cube",sampleType:"uint"},[36311]:{viewDimension:"2d-array",sampleType:"uint"}},hNe={uint8:5121,sint8:5120,unorm8:5121,snorm8:5120,uint16:5123,sint16:5122,unorm16:5123,snorm16:5122,uint32:5125,sint32:5124,float16:5131,float32:5126}});function Sae(t,e){let r={attributes:[],bindings:[]};r.attributes=fNe(t,e);let i=mNe(t,e);for(let c of i){let f=c.uniforms.map(g=>({name:g.name,format:g.format,byteOffset:g.byteOffset,byteStride:g.byteStride,arrayLength:g.arrayLength}));r.bindings.push({type:"uniform",name:c.name,group:0,location:c.location,visibility:(c.vertex?1:0)&(c.fragment?2:0),minBindingSize:c.byteLength,uniforms:f})}let n=pNe(t,e),o=0;for(let c of n)if(xN(c.type)){let{viewDimension:f,sampleType:g}=wae(c.type);r.bindings.push({type:"texture",name:c.name,group:0,location:o,viewDimension:f,sampleType:g}),c.textureUnit=o,o+=1}n.length&&(r.uniforms=n);let s=dNe(t,e);return s?.length&&(r.varyings=s),r}function fNe(t,e){let r=[],i=t.getProgramParameter(e,35721);for(let n=0;n=0){let g=vN(c),y=/instance/i.test(s)?"instance":"vertex";r.push({name:s,location:f,stepMode:y,type:g})}}return r.sort((n,o)=>n.location-o.location),r}function dNe(t,e){let r=[],i=t.getProgramParameter(e,35971);for(let n=0;nn.location-o.location),r}function pNe(t,e){let r=[],i=t.getProgramParameter(e,35718);for(let n=0;n1)for(let k=0;kt.getActiveUniformBlockParameter(e,o,s),i=[],n=t.getProgramParameter(e,35382);for(let o=0;oU.name.split(".")[0]).filter(U=>Boolean(U))),k=s.name.replace(/Uniforms$/,"");if(F.size===1&&!F.has(s.name)&&!F.has(k)){let[U]=F;Dr.warn(`Uniform block "${s.name}" uses GLSL instance "${U}". luma.gl binds uniform buffers by block name ("${s.name}") and alias ("${k}"). Prefer matching the instance name to one of those to avoid confusing silent mismatches.`)()}i.push(s)}return i.sort((o,s)=>o.location-s.location),i}function gNe(t){if(t[t.length-1]!=="]")return{name:t,length:1,isArray:!1};let r=/([^[]*)(\[[0-9]+\])?/.exec(t);return{name:S1(r?.[1],`Failed to parse GLSL uniform name ${t}`),length:r?.[2]?1:0,isArray:Boolean(r?.[2])}}var Eae=Nt(()=>{Eo();bN()});var Cae,wN,Iae=Nt(()=>{Eo();Eae();bN();Cae=4,wN=class extends rP{device;handle;vs;fs;introspectedLayout={attributes:[],bindings:[],uniforms:[]};linkStatus="pending";constructor(e,r){super(e,r),this.device=e,this.handle=r.handle||this.device.gl.createProgram(),this.vs=r.vs,this.fs=r.fs,r.varyings&&r.varyings.length>0&&this.device.gl.transformFeedbackVaryings(this.handle,r.varyings,r.bufferMode||35981),this._linkShaders(),Dr.time(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=Sae(this.device.gl,this.handle),Dr.timeEnd(3,`RenderPipeline ${this.id} - shaderLayout introspection`)()}destroy(){this.destroyed||(this.device.gl.useProgram(null),this.device.gl.deleteProgram(this.handle),this.handle.destroyed=!0,this.destroyResource())}async _linkShaders(){let{gl:e}=this.device;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),Dr.time(Cae,`linkProgram for ${this.id}`)(),e.linkProgram(this.handle),Dr.timeEnd(Cae,`linkProgram for ${this.id}`)(),!this.device.features.has("compilation-status-async-webgl")){let i=this._getLinkStatus();this._reportLinkStatus(i);return}Dr.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),Dr.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let r=this._getLinkStatus();this._reportLinkStatus(r)}async _reportLinkStatus(e){switch(e){case"success":return;default:let r=e==="link-error"?"Link error":"Validation error";switch(this.vs.compilationStatus){case"error":throw this.vs.debugShader(),new Error(`${this} ${r} during compilation of ${this.vs}`);case"pending":await this.vs.asyncCompilationStatus,this.vs.debugShader();break;case"success":break}switch(this.fs?.compilationStatus){case"error":throw this.fs.debugShader(),new Error(`${this} ${r} during compilation of ${this.fs}`);case"pending":await this.fs.asyncCompilationStatus,this.fs.debugShader();break;case"success":break}let i=this.device.gl.getProgramInfoLog(this.handle);this.device.reportError(new Error(`${r} during ${e}: ${i}`),this)(),this.device.debug()}}_getLinkStatus(){let{gl:e}=this.device;return e.getProgramParameter(this.handle,35714)?(this._initializeSamplerUniforms(),e.validateProgram(this.handle),e.getProgramParameter(this.handle,35715)?(this.linkStatus="success","success"):(this.linkStatus="error","validation-error")):(this.linkStatus="error","link-error")}_initializeSamplerUniforms(){let{gl:e}=this.device;e.useProgram(this.handle);let r=0,i=e.getProgramParameter(this.handle,35718);for(let n=0;n1){let s=Int32Array.from({length:r.size},(c,f)=>n+f);return o.uniform1iv(e,s),n+r.size}return o.uniform1i(e,n),n+1}async _waitForLinkComplete(){let e=async n=>await new Promise(o=>setTimeout(o,n));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:i}=this.device;for(;;){if(i.getProgramParameter(this.handle,37297))return;await e(10)}}}});function ANe(t,e){let r=e.sourceBuffer,i=e.destinationBuffer;t.gl.bindBuffer(36662,r.handle),t.gl.bindBuffer(36663,i.handle),t.gl.copyBufferSubData(36662,36663,e.sourceOffset??0,e.destinationOffset??0,e.size),t.gl.bindBuffer(36662,null),t.gl.bindBuffer(36663,null)}function _Ne(t,e){throw new Error("copyBufferToTexture is not supported in WebGL")}function yNe(t,e){let{sourceTexture:r,mipLevel:i=0,aspect:n="all",width:o=e.sourceTexture.width,height:s=e.sourceTexture.height,depthOrArrayLayers:c,origin:f=[0,0,0],destinationBuffer:g,byteOffset:y=0,bytesPerRow:I,rowsPerImage:F}=e;if(r instanceof oo){r.readBuffer({x:f[0]??0,y:f[1]??0,z:f[2]??0,width:o,height:s,depthOrArrayLayers:c,mipLevel:i,aspect:n,byteOffset:y},g);return}if(n!=="all")throw new Error("aspect not supported in WebGL");if(i!==0||c!==void 0||I||F)throw new Error("not implemented");let{framebuffer:k,destroyFramebuffer:U}=Mae(r),K;try{let ee=g,he=o||k.width,xe=s||k.height,me=S1(k.colorAttachments[0]),Se=rN(me.texture.props.format),Oe=Se.format,ne=Se.type;t.gl.bindBuffer(35051,ee.handle),K=t.gl.bindFramebuffer(36160,k.handle),t.gl.readPixels(f[0],f[1],he,xe,Oe,ne,y)}finally{t.gl.bindBuffer(35051,null),K!==void 0&&t.gl.bindFramebuffer(36160,K),U&&k.destroy()}}function vNe(t,e){let{sourceTexture:r,destinationMipLevel:i=0,origin:n=[0,0],destinationOrigin:o=[0,0,0],destinationTexture:s}=e,{width:c=e.destinationTexture.width,height:f=e.destinationTexture.height}=e,{framebuffer:g,destroyFramebuffer:y}=Mae(r),[I=0,F=0]=n,[k,U,K]=o,ee=t.gl.bindFramebuffer(36160,g.handle),he,xe;if(s instanceof u_)he=s,c=Number.isFinite(c)?c:he.width,f=Number.isFinite(f)?f:he.height,he._bind(0),xe=he.glTarget;else throw new Error("invalid destination");switch(xe){case 3553:case 34067:t.gl.copyTexSubImage2D(xe,i,k,U,I,F,c,f);break;case 35866:case 32879:t.gl.copyTexSubImage3D(xe,i,k,U,K,I,F,c,f);break;default:}he&&he._unbind(),t.gl.bindFramebuffer(36160,ee),y&&g.destroy()}function Mae(t){if(t instanceof oo){let{width:e,height:r,id:i}=t;return{framebuffer:t.device.createFramebuffer({id:`framebuffer-for-${i}`,width:e,height:r,colorAttachments:[t]}),destroyFramebuffer:!0}}return{framebuffer:t,destroyFramebuffer:!1}}var TN,Pae=Nt(()=>{Eo();bS();_N();TN=class extends ZT{device;handle=null;commands=[];constructor(e,r={}){super(e,r),this.device=e}_executeCommands(e=this.commands){for(let r of e)switch(r.name){case"copy-buffer-to-buffer":ANe(this.device,r.options);break;case"copy-buffer-to-texture":_Ne(this.device,r.options);break;case"copy-texture-to-buffer":yNe(this.device,r.options);break;case"copy-texture-to-texture":vNe(this.device,r.options);break;default:throw new Error(r.name)}}}});var xNe,SN,Rae=Nt(()=>{Eo();mN();yS();xNe=[1,2,4,8],SN=class extends gy{device;handle=null;glParameters={};constructor(e,r){super(e,r),this.device=e;let i=this.props.framebuffer,n=!i||i.handle===null;n&&e.getDefaultCanvasContext()._resizeDrawingBufferIfNeeded();let o;if(!r?.parameters?.viewport)if(!n&&i){let{width:s,height:c}=i;o=[0,0,s,c]}else{let[s,c]=e.getDefaultCanvasContext().getDrawingBufferSize();o=[0,0,s,c]}if(this.device.pushState(),this.setParameters({viewport:o,...this.props.parameters}),!n&&i?.colorAttachments.length){let s=i.colorAttachments.map((c,f)=>36064+f);this.device.gl.drawBuffers(s)}else n&&this.device.gl.drawBuffers([1029]);this.clear(),this.props.timestampQuerySet&&this.props.beginTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.beginTimestampIndex)}end(){this.destroyed||(this.props.timestampQuerySet&&this.props.endTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.endTimestampIndex),this.device.popState(),this.destroy())}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}setParameters(e={}){let r={...this.glParameters};r.framebuffer=this.props.framebuffer||null,this.props.depthReadOnly&&(r.depthMask=!this.props.depthReadOnly),r.stencilMask=this.props.stencilReadOnly?0:1,r[35977]=this.props.discard,e.viewport&&(e.viewport.length>=6?(r.viewport=e.viewport.slice(0,4),r.depthRange=[e.viewport[4],e.viewport[5]]):r.viewport=e.viewport),e.scissorRect&&(r.scissorTest=!0,r.scissor=e.scissorRect),e.blendConstant&&(r.blendColor=e.blendConstant),e.stencilReference!==void 0&&(r[2967]=e.stencilReference,r[36003]=e.stencilReference),"colorMask"in e&&(r.colorMask=xNe.map(i=>Boolean(i&e.colorMask))),this.glParameters=r,F0(this.device.gl,r)}beginOcclusionQuery(e){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let e={...this.glParameters},r=0;this.props.clearColors&&this.props.clearColors.forEach((i,n)=>{i&&this.clearColorBuffer(n,i)}),this.props.clearColor!==!1&&this.props.clearColors===void 0&&(r|=16384,e.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(r|=256,e.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(r|=1024,e.clearStencil=this.props.clearStencil),r!==0&&l_(this.device.gl,e,()=>{this.device.gl.clear(r)})}clearColorBuffer(e=0,r=[0,0,0,0]){l_(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(r.constructor){case Int8Array:case Int16Array:case Int32Array:this.device.gl.clearBufferiv(6144,e,r);break;case Uint8Array:case Uint8ClampedArray:case Uint16Array:case Uint32Array:this.device.gl.clearBufferuiv(6144,e,r);break;case Float32Array:this.device.gl.clearBufferfv(6144,e,r);break;default:throw new Error("clearColorBuffer: color must be typed array")}})}}});var qP,Bae=Nt(()=>{Eo();Pae();Rae();qP=class extends XT{device;handle=null;commandBuffer;constructor(e,r){super(e,r),this.device=e,this.commandBuffer=new TN(e,{id:`${this.props.id}-command-buffer`})}destroy(){this.destroyResource()}finish(e){return e?.id&&this.commandBuffer.id!==e.id&&(this.commandBuffer.id=e.id,this.commandBuffer.props.id=e.id),this.destroy(),this.commandBuffer}beginRenderPass(e={}){return new SN(this.device,this._applyTimeProfilingToPassProps(e))}beginComputePass(e={}){throw new Error("ComputePass not supported in WebGL")}copyBufferToBuffer(e){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:e})}copyBufferToTexture(e){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:e})}copyTextureToBuffer(e){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:e})}copyTextureToTexture(e){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:e})}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}resolveQuerySet(e,r,i){throw new Error("resolveQuerySet is not supported in WebGL")}writeTimestamp(e,r){e.writeTimestamp(r)}}});function Lae(t){let{target:e,source:r,start:i=0,count:n=1}=t,o=r.length,s=n*o,c=0;for(let f=i;c{});function bNe(t){return Array.isArray(t)?new Float32Array(t):t}function wNe(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r{Eo();Iv();Z9();Dae();wS=class extends KT{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(e){return U8()==="Chrome"}constructor(e,r){super(e,r),this.device=e,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(e){let r=e;if(r&&r.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34963,r?r.handle:null),this.indexBuffer=r,this.device.gl.bindVertexArray(null)}setBuffer(e,r){let i=r;if(i.glTarget===34963)throw new Error("Use .setIndexBuffer()");let{size:n,type:o,stride:s,offset:c,normalized:f,integer:g,divisor:y}=this._getAccessor(e);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,i.handle),g?this.device.gl.vertexAttribIPointer(e,n,o,s,c):this.device.gl.vertexAttribPointer(e,n,o,f,s,c),this.device.gl.bindBuffer(34962,null),this.device.gl.enableVertexAttribArray(e),this.device.gl.vertexAttribDivisor(e,y||0),this.attributes[e]=i,this.device.gl.bindVertexArray(null)}setConstantWebGL(e,r){this._enable(e,!1),this.attributes[e]=r}bindBeforeRender(){this.device.gl.bindVertexArray(this.handle),this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let e=0;e{Eo();$P();cW();EN=class extends QT{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(e,r){super(e,r),this.device=e,this.gl=e.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,r.buffers&&this.setBuffers(r.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(e="point-list"){this.gl.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(_ae(e))}end(){this.gl.endTransformFeedback(),this.bindOnUse&&this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null)}setBuffers(e){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let[r,i]of Object.entries(e))this.setBuffer(r,i)})}setBuffer(e,r){let i=this._getVaryingIndex(e),{buffer:n,byteLength:o,byteOffset:s}=this._getBufferRange(r);if(i<0){this.unusedBuffers[e]=n,Dr.warn(`${this.id} unusedBuffers varying buffer ${e}`)();return}this.buffers[i]={buffer:n,byteLength:o,byteOffset:s},this.bindOnUse||this._bindBuffer(i,n,s,o)}getBuffer(e){if(Fae(e))return this.buffers[e]||null;let r=this._getVaryingIndex(e);return this.buffers[r]??null}bind(e=this.handle){if(typeof e!="function")return this.gl.bindTransformFeedback(36386,e),this;let r;return this._bound?r=e():(this.gl.bindTransformFeedback(36386,this.handle),this._bound=!0,r=e(),this._bound=!1,this.gl.bindTransformFeedback(36386,null)),r}unbind(){this.bind(null)}_getBufferRange(e){if(e instanceof z0)return{buffer:e,byteOffset:0,byteLength:e.byteLength};let{buffer:r,byteOffset:i=0,byteLength:n=e.buffer.byteLength}=e;return{buffer:r,byteOffset:i,byteLength:n}}_getVaryingIndex(e){if(Fae(e))return Number(e);for(let r of this.layout.varyings||[])if(e===r.name)return r.location;return-1}_bindBuffers(){for(let[e,r]of Object.entries(this.buffers)){let{buffer:i,byteLength:n,byteOffset:o}=this._getBufferRange(r);this._bindBuffer(Number(e),i,o,n)}}_unbindBuffers(){for(let e in this.buffers)this.gl.bindBufferBase(35982,Number(e),null)}_bindBuffer(e,r,i=0,n){let o=r&&r.handle;!o||n===void 0?this.gl.bindBufferBase(35982,e,o):this.gl.bindBufferRange(35982,e,o,i,n)}}});var CN,Nae=Nt(()=>{Eo();CN=class extends JT{device;handle;_timestampPairs=[];_pendingReads=new Set;_occlusionQuery=null;_occlusionActive=!1;get[Symbol.toStringTag](){return"QuerySet"}constructor(e,r){if(super(e,r),this.device=e,r.type==="timestamp"){if(r.count<2)throw new Error("Timestamp QuerySet requires at least two query slots");this._timestampPairs=new Array(Math.ceil(r.count/2)).fill(null).map(()=>({activeQuery:null,completedQueries:[]})),this.handle=null}else{if(r.count>1)throw new Error("WebGL occlusion QuerySet can only have one value");let i=this.device.gl.createQuery();if(!i)throw new Error("WebGL query not supported");this.handle=i}Object.seal(this)}destroy(){if(!this.destroyed){this.handle&&this.device.gl.deleteQuery(this.handle);for(let e of this._timestampPairs){e.activeQuery&&(this._cancelPendingQuery(e.activeQuery),this.device.gl.deleteQuery(e.activeQuery.handle));for(let r of e.completedQueries)this._cancelPendingQuery(r),this.device.gl.deleteQuery(r.handle)}this._occlusionQuery&&(this._cancelPendingQuery(this._occlusionQuery),this.device.gl.deleteQuery(this._occlusionQuery.handle));for(let e of Array.from(this._pendingReads))this._cancelPendingQuery(e);this.destroyResource()}}isResultAvailable(e){return this.props.type==="timestamp"?e===void 0?this._timestampPairs.some((r,i)=>this._isTimestampPairAvailable(i)):this._isTimestampPairAvailable(this._getTimestampPairIndex(e)):this._occlusionQuery?this._pollQueryAvailability(this._occlusionQuery):!1}async readResults(e){let r=e?.firstQuery||0,i=e?.queryCount||this.props.count-r;if(this._validateRange(r,i),this.props.type==="timestamp"){let n=new Array(i).fill(0n),o=Math.floor(r/2),s=Math.floor((r+i-1)/2);for(let c=o;c<=s;c++){let f=await this._consumeTimestampPairResult(c),g=c*2,y=g+1;g>=r&&g=r&&y=this.props.count||r<=e)throw new Error("Timestamp duration range is out of bounds");if(e%2!==0||r!==e+1)throw new Error("WebGL timestamp durations require adjacent even/odd query indices");let i=await this._consumeTimestampPairResult(this._getTimestampPairIndex(e));return Number(i)/1e6}beginOcclusionQuery(){if(this.props.type!=="occlusion")throw new Error("Occlusion queries require an occlusion QuerySet");if(!this.handle)throw new Error("WebGL occlusion query is not available");if(this._occlusionActive)throw new Error("Occlusion query is already active");this.device.gl.beginQuery(35887,this.handle),this._occlusionQuery={handle:this.handle,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null},this._occlusionActive=!0}endOcclusionQuery(){if(!this._occlusionActive)throw new Error("Occlusion query is not active");this.device.gl.endQuery(35887),this._occlusionActive=!1}writeTimestamp(e){if(this.props.type!=="timestamp")throw new Error("Timestamp writes require a timestamp QuerySet");let r=this._getTimestampPairIndex(e),i=this._timestampPairs[r];if(e%2===0){if(i.activeQuery)throw new Error("Timestamp query pair is already active");let n=this.device.gl.createQuery();if(!n)throw new Error("WebGL query not supported");let o={handle:n,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null};this.device.gl.beginQuery(35007,n),i.activeQuery=o;return}if(!i.activeQuery)throw new Error("Timestamp query pair was ended before it was started");this.device.gl.endQuery(35007),i.completedQueries.push(i.activeQuery),i.activeQuery=null}_validateRange(e,r){if(e<0||r<0||e+r>this.props.count)throw new Error("Query read range is out of bounds")}_getTimestampPairIndex(e){if(e<0||e>=this.props.count)throw new Error("Query index is out of bounds");return Math.floor(e/2)}_isTimestampPairAvailable(e){let r=this._timestampPairs[e];return!r||r.completedQueries.length===0?!1:this._pollQueryAvailability(r.completedQueries[0])}_pollQueryAvailability(e){if(e.cancelled||this.destroyed)return e.result=0n,!0;if(e.result!==null||e.disjoint)return!0;if(!this.device.gl.getQueryParameter(e.handle,34919))return!1;let i=Boolean(this.device.gl.getParameter(36795));return e.disjoint=i,e.result=i?0n:BigInt(this.device.gl.getQueryParameter(e.handle,34918)),!0}async _consumeTimestampPairResult(e){let r=this._timestampPairs[e];if(!r||r.completedQueries.length===0)throw new Error("Timestamp query pair has no completed result");let i=r.completedQueries.shift();try{return await this._consumeQueryResult(i)}finally{this.device.gl.deleteQuery(i.handle)}}_consumeQueryResult(e){return e.promise||(this._pendingReads.add(e),e.promise=new Promise((r,i)=>{e.resolve=r,e.reject=i;let n=()=>{if(e.pollRequestId=null,e.cancelled||this.destroyed){this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,r(0n);return}if(!this._pollQueryAvailability(e)){e.pollRequestId=this._requestAnimationFrame(n);return}this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,e.disjoint?i(new Error("GPU timestamp query was invalidated by a disjoint event")):r(e.result||0n)};n()})),e.promise}_cancelPendingQuery(e){if(this._pendingReads.delete(e),e.cancelled=!0,e.pollRequestId!==null&&(this._cancelAnimationFrame(e.pollRequestId),e.pollRequestId=null),e.resolve){let r=e.resolve;e.promise=null,e.resolve=null,e.reject=null,r(0n)}}_requestAnimationFrame(e){return requestAnimationFrame(e)}_cancelAnimationFrame(e){cancelAnimationFrame(e)}}});var IN,zae=Nt(()=>{Eo();IN=class extends eS{device;gl;handle;signaled;_signaled=!1;constructor(e,r={}){super(e,{}),this.device=e,this.gl=e.gl;let i=this.props.handle||this.gl.fenceSync(this.gl.SYNC_GPU_COMMANDS_COMPLETE,0);if(!i)throw new Error("Failed to create WebGL fence");this.handle=i,this.signaled=new Promise(n=>{let o=()=>{let s=this.gl.clientWaitSync(this.handle,0,0);s===this.gl.ALREADY_SIGNALED||s===this.gl.CONDITION_SATISFIED?(this._signaled=!0,n()):setTimeout(o,1)};o()})}isSignaled(){if(this._signaled)return!0;let e=this.gl.getSyncParameter(this.handle,this.gl.SYNC_STATUS);return this._signaled=e===this.gl.SIGNALED,this._signaled}destroy(){this.destroyed||this.gl.deleteSync(this.handle)}}});function uW(t){switch(t){case 6406:case 33326:case 6403:case 36244:return 1;case 33339:case 33340:case 33328:case 33320:case 33319:return 2;case 6407:case 36248:case 34837:return 3;case 6408:case 36249:case 34836:return 4;default:return 0}}function Uae(t){switch(t){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return 0}}var Vae=Nt(()=>{});function jae(t,e){let{sourceX:r=0,sourceY:i=0,sourceAttachment:n=0}=e||{},{target:o=null,sourceWidth:s,sourceHeight:c,sourceDepth:f,sourceFormat:g,sourceType:y}=e||{},{framebuffer:I,deleteFramebuffer:F}=Gae(t),{gl:k,handle:U}=I;s||=I.width,c||=I.height;let K=I.colorAttachments[n]?.texture;if(!K)throw new Error(`Invalid framebuffer attachment ${n}`);f=K?.depth||1,g||=K?.glFormat||6408,y||=K?.glType||5121,o=SNe(o,y,g,s,c,f);let ee=cp.getDataType(o);y=y||bae(ee);let he=k.bindFramebuffer(36160,U);return k.readBuffer(36064+n),k.readPixels(r,i,s,c,g,y,o),k.readBuffer(36064),k.bindFramebuffer(36160,he||null),F&&I.destroy(),o}function Hae(t,e){let{target:r,sourceX:i=0,sourceY:n=0,sourceFormat:o=6408,targetByteOffset:s=0}=e||{},{sourceWidth:c,sourceHeight:f,sourceType:g}=e||{},{framebuffer:y,deleteFramebuffer:I}=Gae(t);c=c||y.width,f=f||y.height;let F=y;g=g||5121;let k=r;if(!k){let K=uW(o),ee=Uae(g),he=s+c*f*K*ee;k=F.device.createBuffer({byteLength:he})}let U=t.device.createCommandEncoder();return U.copyTextureToBuffer({sourceTexture:t,width:c,height:f,origin:[i,n],destinationBuffer:k,byteOffset:s}),U.destroy(),I&&y.destroy(),k}function Gae(t){return t instanceof KA?{framebuffer:t,deleteFramebuffer:!1}:{framebuffer:TNe(t),deleteFramebuffer:!0}}function TNe(t,e){let{device:r,width:i,height:n,id:o}=t;return r.createFramebuffer({...e,id:`framebuffer-for-${o}`,width:i,height:n,colorAttachments:[t]})}function SNe(t,e,r,i,n,o){if(t)return t;e||=5121;let s=gN(e),c=cp.getTypedArrayConstructor(s),f=uW(r);return new c(i*n*f)}var Wae=Nt(()=>{Eo();bN();Vae();lW()});var hW={};Ua(hW,{WebGLDevice:()=>tm});function ENe(t,e,r){switch(r.length){case 1:t.gl.vertexAttrib1fv(e,r);break;case 2:t.gl.vertexAttrib2fv(e,r);break;case 3:t.gl.vertexAttrib3fv(e,r);break;case 4:t.gl.vertexAttrib4fv(e,r);break;default:}}function CNe(t,e,r){t.gl.vertexAttribI4iv(e,r)}function INe(t,e,r){t.gl.vertexAttribI4uiv(e,r)}function MNe(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r{Eo();X9();qse();Zk();Zse();iae();nae();oae();sae();j9();H9();bS();lae();lN();hae();pae();_N();oN();xae();Iae();Bae();Oae();kae();Nae();zae();Wae();yS();mN();HP();tm=class extends Qp{static getDeviceFromContext(e){return e?e.luma?.device??null:null}type="webgl";handle;features;limits;info;canvasContext;preferredColorFormat="rgba8unorm";preferredDepthFormat="depth24plus";commandEncoder;lost;_resolveContextLost;gl;_constants;extensions;_polyfilled=!1;spectorJS;get[Symbol.toStringTag](){return"WebGLDevice"}toString(){return`${this[Symbol.toStringTag]}(${this.id})`}isVertexFormatSupported(e){switch(e){case"unorm8x4-bgra":return!1;default:return!0}}constructor(e){super({...e,id:e.id||aae("webgl-device")});let r=Qp._getCanvasContextProps(e);if(!r)throw new Error("WebGLDevice requires props.createCanvasContext to be set");let i=r.canvas?.gl??null,n=tm.getDeviceFromContext(i);if(n)throw new Error(`WebGL context already attached to device ${n.id}`);this.canvasContext=new sN(this,r),this.lost=new Promise(y=>{this._resolveContextLost=y});let o={...e.webgl};r.alphaMode==="premultiplied"&&(o.premultipliedAlpha=!0),e.powerPreference!==void 0&&(o.powerPreference=e.powerPreference),e.failIfMajorPerformanceCaveat!==void 0&&(o.failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat);let c=this.props._handle||Wse(this.canvasContext.canvas,{onContextLost:y=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."}),onContextRestored:y=>console.log("WebGL context restored")},o);if(!c)throw new Error("WebGL context creation failed");if(n=tm.getDeviceFromContext(c),n){if(e._reuseDevices)return Dr.log(1,`Not creating a new Device, instead returning a reference to Device ${n.id} already attached to WebGL context`,n)(),this.canvasContext.destroy(),n._reused=!0,n;throw new Error(`WebGL context already attached to device ${n.id}`)}this.handle=c,this.gl=c,this.spectorJS=Pse({...this.props,gl:this.handle});let f=j1(this.handle);f.device=this,f.extensions||(f.extensions={}),this.extensions=f.extensions,this.info=$se(this.gl,this.extensions),this.limits=new nN(this.gl),this.features=new iN(this.gl,this.extensions,this.props._disabledFeatures),this.props._initializeFeatures&&this.features.initializeFeatures(),new k0(this.gl,{log:(...y)=>Dr.log(1,...y)()}).trackState(this.gl,{copyState:!1}),(e.debug||e.debugWebGL)&&(this.gl=Dse(this.gl,{debugWebGL:!0,traceWebGL:e.debugWebGL}),Dr.warn("WebGL debug mode activated. Performance reduced.")()),e.debugWebGL&&(Dr.level=Math.max(Dr.level,1)),this.commandEncoder=new qP(this,{id:`${this}-command-encoder`}),this.canvasContext._startObservers()}destroy(){if(this.commandEncoder?.destroy(),!this.props._reuseDevices&&!this._reused){let e=j1(this.handle);e.device=null}}get isLost(){return this.gl.isContextLost()}createCanvasContext(e){throw new Error("WebGL only supports a single canvas")}createPresentationContext(e){return new aN(this,e||{})}createBuffer(e){let r=this._normalizeBufferProps(e);return new z0(this,r)}createTexture(e){return new u_(this,e)}createExternalTexture(e){throw new Error("createExternalTexture() not implemented")}createSampler(e){return new pN(this,e)}createShader(e){return new uN(this,e)}createFramebuffer(e){return new a_(this,e)}createVertexArray(e){return new wS(this,e)}createTransformFeedback(e){return new EN(this,e)}createQuerySet(e){return new CN(this,e)}createFence(){return new IN(this)}createRenderPipeline(e){return new yN(this,e)}_createSharedRenderPipelineWebGL(e){return new wN(this,e)}createComputePipeline(e){throw new Error("ComputePipeline not supported in WebGL")}createCommandEncoder(e={}){return new qP(this,e)}submit(e){let r=null;e||({submittedCommandEncoder:r,commandBuffer:e}=this._finalizeDefaultCommandEncoderForSubmit());try{e._executeCommands(),r&&r.resolveTimeProfilingQuerySet().then(()=>{this.commandEncoder._gpuTimeMs=r._gpuTimeMs}).catch(()=>{})}finally{e.destroy()}}_finalizeDefaultCommandEncoderForSubmit(){let e=this.commandEncoder,r=e.finish();return this.commandEncoder.destroy(),this.commandEncoder=this.createCommandEncoder({id:e.props.id,timeProfilingQuerySet:e.getTimeProfilingQuerySet()}),{submittedCommandEncoder:e,commandBuffer:r}}readPixelsToArrayWebGL(e,r){return jae(e,r)}readPixelsToBufferWebGL(e,r){return Hae(e,r)}setParametersWebGL(e){F0(this.gl,e)}getParametersWebGL(e){return Kk(this.gl,e)}withParametersWebGL(e,r){return l_(this.gl,e,r)}resetWebGL(){Dr.warn("WebGLDevice.resetWebGL is deprecated, use only for debugging")(),Use(this.gl)}_getDeviceSpecificTextureFormatCapabilities(e){return eae(this.gl,e,this.extensions)}loseDevice(){let e=!1,i=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return i&&(e=!0,i.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),e}pushState(){k0.get(this.gl).push()}popState(){k0.get(this.gl).pop()}getGLKey(e,r){let i=Number(e);for(let n in this.gl)if(this.gl[n]===i)return`GL.${n}`;return r?.emptyIfUnknown?"":String(e)}getGLKeys(e){let r={emptyIfUnknown:!0};return Object.entries(e).reduce((i,[n,o])=>(i[`${n}:${this.getGLKey(n,r)}`]=`${o}:${this.getGLKey(o,r)}`,i),{})}setConstantAttributeWebGL(e,r){let i=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(i).fill(null);let n=this._constants[e];switch(n&&MNe(n,r)&&Dr.info(1,`setConstantAttributeWebGL(${e}) could have been skipped, value unchanged`)(),this._constants[e]=r,r.constructor){case Float32Array:ENe(this,e,r);break;case Int32Array:CNe(this,e,r);break;case Uint32Array:INe(this,e,r);break;default:throw new Error("constant")}}getExtension(e){return N0(this.gl,e,this.extensions),this.extensions}_setWebGLDebugMetadata(e,r,i){e.luma=r;let n={props:i.spector,id:i.spector.id};e.__SPECTOR_Metadata=n}}});function PNe(t){return typeof WebGL2RenderingContext<"u"&&t instanceof WebGL2RenderingContext?!0:Boolean(t&&typeof t.createVertexArray=="function")}var XP,fW,ZP,qae=Nt(()=>{Eo();Cse();j9();H9();XP=1,fW=class extends JM{type="webgl";constructor(){super(),Qp.defaultProps={...Qp.defaultProps,...Yk}}enforceWebGL2(e){Ese(e)}isSupported(){return typeof WebGL2RenderingContext<"u"}isDeviceHandle(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:(typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext&&Dr.warn("WebGL1 is not supported",e)(),!1)}async attach(e,r={}){let{WebGLDevice:i}=await Promise.resolve().then(()=>(MN(),hW));if(e instanceof i)return e;let n=i.getDeviceFromContext(e);if(n)return n;if(!PNe(e))throw new Error("Invalid WebGL2RenderingContext");let o=r.createCanvasContext===!0?{}:r.createCanvasContext;return new i({...r,_handle:e,createCanvasContext:{canvas:e.canvas,autoResize:!1,...o}})}async create(e={}){let{WebGLDevice:r}=await Promise.resolve().then(()=>(MN(),hW)),i=[];(e.debugWebGL||e.debug)&&i.push(Lse()),e.debugSpectorJS&&i.push(Mse(e));let n=await Promise.allSettled(i);for(let o of n)o.status==="rejected"&&Dr.error(`Failed to initialize debug libraries ${o.reason}`)();try{let o=new r(e);Dr.groupCollapsed(XP,`WebGLDevice ${o.id} created`)();let s=`${o._reused?"Reusing":"Created"} device with WebGL2 ${o.props.debug?"debug ":""}context: ${o.info.vendor}, ${o.info.renderer} for canvas: ${o.canvasContext.id}`;return Dr.probe(XP,s)(),Dr.table(XP,o.info)(),o}finally{Dr.groupEnd(XP)(),Dr.info(XP,"%cWebGL call tracing: luma.log.set('debug-webgl') ","color: white; background: blue; padding: 2px 6px; border-radius: 3px;")()}}};ZP=new fW});var $P=Nt(()=>{qae();MN();lN()});var kle=Vi((RW,BW)=>{(function(t,e){typeof RW=="object"&&typeof BW<"u"?BW.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.maplibregl=e())})(RW,function(){"use strict";var t={},e={};function r(n,o,s){if(e[n]=s,n==="index"){var c="var sharedModule = {}; ("+e.shared+")(sharedModule); ("+e.worker+")(sharedModule);",f={};return e.shared(f),e.index(t,f),typeof window<"u"&&t.setWorkerUrl(window.URL.createObjectURL(new Blob([c],{type:"text/javascript"}))),t}}r("shared",["exports"],function(n){"use strict";function o(d,a,h,A){return new(h||(h=Promise))(function(C,D){function O(re){try{Z(A.next(re))}catch(ce){D(ce)}}function H(re){try{Z(A.throw(re))}catch(ce){D(ce)}}function Z(re){var ce;re.done?C(re.value):(ce=re.value,ce instanceof h?ce:new h(function(de){de(ce)})).then(O,H)}Z((A=A.apply(d,a||[])).next())})}function s(d,a){this.x=d,this.y=a}function c(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var f,g;typeof SuppressedError=="function"&&SuppressedError,s.prototype={clone(){return new s(this.x,this.y)},add(d){return this.clone()._add(d)},sub(d){return this.clone()._sub(d)},multByPoint(d){return this.clone()._multByPoint(d)},divByPoint(d){return this.clone()._divByPoint(d)},mult(d){return this.clone()._mult(d)},div(d){return this.clone()._div(d)},rotate(d){return this.clone()._rotate(d)},rotateAround(d,a){return this.clone()._rotateAround(d,a)},matMult(d){return this.clone()._matMult(d)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(d){return this.x===d.x&&this.y===d.y},dist(d){return Math.sqrt(this.distSqr(d))},distSqr(d){let a=d.x-this.x,h=d.y-this.y;return a*a+h*h},angle(){return Math.atan2(this.y,this.x)},angleTo(d){return Math.atan2(this.y-d.y,this.x-d.x)},angleWith(d){return this.angleWithSep(d.x,d.y)},angleWithSep(d,a){return Math.atan2(this.x*a-this.y*d,this.x*d+this.y*a)},_matMult(d){let a=d[2]*this.x+d[3]*this.y;return this.x=d[0]*this.x+d[1]*this.y,this.y=a,this},_add(d){return this.x+=d.x,this.y+=d.y,this},_sub(d){return this.x-=d.x,this.y-=d.y,this},_mult(d){return this.x*=d,this.y*=d,this},_div(d){return this.x/=d,this.y/=d,this},_multByPoint(d){return this.x*=d.x,this.y*=d.y,this},_divByPoint(d){return this.x/=d.x,this.y/=d.y,this},_unit(){return this._div(this.mag()),this},_perp(){let d=this.y;return this.y=this.x,this.x=-d,this},_rotate(d){let a=Math.cos(d),h=Math.sin(d),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround(d,a){let h=Math.cos(d),A=Math.sin(d),C=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=C,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:s},s.convert=function(d){if(d instanceof s)return d;if(Array.isArray(d))return new s(+d[0],+d[1]);if(d.x!==void 0&&d.y!==void 0)return new s(+d.x,+d.y);throw new Error("Expected [x, y] or {x, y} point format")};var y=function(){if(g)return f;function d(a,h,A,C){this.cx=3*a,this.bx=3*(A-a)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*h,this.by=3*(C-h)-this.cy,this.ay=1-this.cy-this.by,this.p1x=a,this.p1y=h,this.p2x=A,this.p2y=C}return g=1,f=d,d.prototype={sampleCurveX:function(a){return((this.ax*a+this.bx)*a+this.cx)*a},sampleCurveY:function(a){return((this.ay*a+this.by)*a+this.cy)*a},sampleCurveDerivativeX:function(a){return(3*this.ax*a+2*this.bx)*a+this.cx},solveCurveX:function(a,h){if(h===void 0&&(h=1e-6),a<0)return 0;if(a>1)return 1;for(var A=a,C=0;C<8;C++){var D=this.sampleCurveX(A)-a;if(Math.abs(D)D?H=A:Z=A,A=.5*(Z-H)+H;return A},solve:function(a,h){return this.sampleCurveY(this.solveCurveX(a,h))}},f}(),I=c(y);let F,k;function U(){return F==null&&(F=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),F}function K(){if(k==null&&(k=!1,U())){let a=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let C=4*A;a.fillStyle=`rgb(${C},${C+1},${C+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){k=!0;break}}}return k||!1}var ee=1e-6,he=typeof Float32Array<"u"?Float32Array:Array;function xe(){var d=new he(9);return he!=Float32Array&&(d[1]=0,d[2]=0,d[3]=0,d[5]=0,d[6]=0,d[7]=0),d[0]=1,d[4]=1,d[8]=1,d}function me(d){return d[0]=1,d[1]=0,d[2]=0,d[3]=0,d[4]=0,d[5]=1,d[6]=0,d[7]=0,d[8]=0,d[9]=0,d[10]=1,d[11]=0,d[12]=0,d[13]=0,d[14]=0,d[15]=1,d}function Se(){var d=new he(3);return he!=Float32Array&&(d[0]=0,d[1]=0,d[2]=0),d}function Oe(d){var a=d[0],h=d[1],A=d[2];return Math.sqrt(a*a+h*h+A*A)}function ne(d,a,h){var A=new he(3);return A[0]=d,A[1]=a,A[2]=h,A}function Ge(d,a,h){return d[0]=a[0]+h[0],d[1]=a[1]+h[1],d[2]=a[2]+h[2],d}function Xe(d,a,h){return d[0]=a[0]*h,d[1]=a[1]*h,d[2]=a[2]*h,d}function Ce(d,a,h){var A=a[0],C=a[1],D=a[2],O=h[0],H=h[1],Z=h[2];return d[0]=C*Z-D*H,d[1]=D*O-A*Z,d[2]=A*H-C*O,d}var _e,Je=Oe;function Et(d,a,h){var A=a[0],C=a[1],D=a[2],O=a[3];return d[0]=h[0]*A+h[4]*C+h[8]*D+h[12]*O,d[1]=h[1]*A+h[5]*C+h[9]*D+h[13]*O,d[2]=h[2]*A+h[6]*C+h[10]*D+h[14]*O,d[3]=h[3]*A+h[7]*C+h[11]*D+h[15]*O,d}function Ze(){var d=new he(4);return he!=Float32Array&&(d[0]=0,d[1]=0,d[2]=0),d[3]=1,d}function xt(d,a,h,A){var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"zyx",D=Math.PI/360;a*=D,A*=D,h*=D;var O=Math.sin(a),H=Math.cos(a),Z=Math.sin(h),re=Math.cos(h),ce=Math.sin(A),de=Math.cos(A);switch(C){case"xyz":d[0]=O*re*de+H*Z*ce,d[1]=H*Z*de-O*re*ce,d[2]=H*re*ce+O*Z*de,d[3]=H*re*de-O*Z*ce;break;case"xzy":d[0]=O*re*de-H*Z*ce,d[1]=H*Z*de-O*re*ce,d[2]=H*re*ce+O*Z*de,d[3]=H*re*de+O*Z*ce;break;case"yxz":d[0]=O*re*de+H*Z*ce,d[1]=H*Z*de-O*re*ce,d[2]=H*re*ce-O*Z*de,d[3]=H*re*de+O*Z*ce;break;case"yzx":d[0]=O*re*de+H*Z*ce,d[1]=H*Z*de+O*re*ce,d[2]=H*re*ce-O*Z*de,d[3]=H*re*de-O*Z*ce;break;case"zxy":d[0]=O*re*de-H*Z*ce,d[1]=H*Z*de+O*re*ce,d[2]=H*re*ce+O*Z*de,d[3]=H*re*de-O*Z*ce;break;case"zyx":d[0]=O*re*de-H*Z*ce,d[1]=H*Z*de+O*re*ce,d[2]=H*re*ce-O*Z*de,d[3]=H*re*de+O*Z*ce;break;default:throw new Error("Unknown angle order "+C)}return d}function sr(){var d=new he(2);return he!=Float32Array&&(d[0]=0,d[1]=0),d}function Mr(d,a){var h=new he(2);return h[0]=d,h[1]=a,h}Se(),_e=new he(4),he!=Float32Array&&(_e[0]=0,_e[1]=0,_e[2]=0,_e[3]=0),Se(),ne(1,0,0),ne(0,1,0),Ze(),Ze(),xe(),sr();let hr=8192;function mi(d,a,h){return a*(hr/(d.tileSize*Math.pow(2,h-d.tileID.overscaledZ)))}function bi(d,a){return(d%a+a)%a}function un(d,a,h){return d*(1-h)+a*h}function Yr(d){if(d<=0)return 0;if(d>=1)return 1;let a=d*d,h=a*d;return 4*(d<.5?h:3*(d-a)+h-.75)}function Xi(d,a,h,A){let C=new I(d,a,h,A);return D=>C.solve(D)}let xi=Xi(.25,.1,.25,1);function ii(d,a,h){return Math.min(h,Math.max(a,d))}function Gn(d,a,h){let A=h-a,C=((d-a)%A+A)%A+a;return C===a?h:C}function Ve(d,...a){for(let h of a)for(let A in h)d[A]=h[A];return d}let nt=1;function Ft(d,a,h){let A={};for(let C in d)A[C]=a.call(this,d[C],C,d);return A}function mr(d,a,h){let A={};for(let C in d)a.call(this,d[C],C,d)&&(A[C]=d[C]);return A}function Xr(d){return Array.isArray(d)?d.map(Xr):typeof d=="object"&&d?Ft(d,Xr):d}let zr={};function ln(d){zr[d]||(typeof console<"u"&&console.warn(d),zr[d]=!0)}function Nn(d,a,h){return(h.y-d.y)*(a.x-d.x)>(a.y-d.y)*(h.x-d.x)}function Co(d){return typeof WorkerGlobalScope<"u"&&d!==void 0&&d instanceof WorkerGlobalScope}let Ho=null;function is(d){return typeof ImageBitmap<"u"&&d instanceof ImageBitmap}let mo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function zs(d,a,h,A,C){return o(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let D=new VideoFrame(d,{timestamp:0});try{let O=D?.format;if(!O||!O.startsWith("BGR")&&!O.startsWith("RGB"))throw new Error(`Unrecognized format ${O}`);let H=O.startsWith("BGR"),Z=new Uint8ClampedArray(A*C*4);if(yield D.copyTo(Z,function(re,ce,de,we,Ee){let De=4*Math.max(-ce,0),ke=(Math.max(0,de)-de)*we*4+De,qe=4*we,st=Math.max(0,ce),kt=Math.max(0,de);return{rect:{x:st,y:kt,width:Math.min(re.width,ce+we)-st,height:Math.min(re.height,de+Ee)-kt},layout:[{offset:ke,stride:qe}]}}(d,a,h,A,C)),H)for(let re=0;re{d.removeEventListener(a,h,A)}}}function ps(d){return d*Math.PI/180}function ws(d){return d/Math.PI*180}let Yt={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},Fe={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},Ne="AbortError";class rt extends Error{constructor(a=Ne){super(a instanceof Error?a.message:a),this.name=Ne,a instanceof Error&&a.stack&&(this.stack=a.stack)}}function Vt(d){return d.name===Ne}let Gt={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function yr(d){return Gt.REGISTERED_PROTOCOLS[d.substring(0,d.indexOf("://"))]}let fr="global-dispatcher";class nr extends Error{constructor(a,h,A,C){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=C}}let xr=()=>Co(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,ti=function(d,a){if(/:\/\//.test(d.url)&&!/^https?:|^file:/.test(d.url)){let A=yr(d.url);if(A)return A(d,a);if(Co(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:d,targetMapId:fr},a)}if(!(/^file:/.test(h=d.url)||/^file:/.test(xr())&&!/^\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(A,C){return o(this,void 0,void 0,function*(){let D=new Request(A.url,{method:A.method||"GET",body:A.body,credentials:A.credentials,headers:A.headers,cache:A.cache,referrer:xr(),signal:C.signal}),O,H;A.type!=="json"||D.headers.has("Accept")||D.headers.set("Accept","application/json");try{O=yield fetch(D)}catch(re){throw Vt(re)?re:new nr(0,re.message,A.url,new Blob)}if(!O.ok){let re=yield O.blob();throw new nr(O.status,O.statusText,A.url,re)}H=A.type==="arrayBuffer"||A.type==="image"?O.arrayBuffer():A.type==="json"?O.json():O.text();let Z=yield H;return C.signal.throwIfAborted(),{data:Z,cacheControl:O.headers.get("Cache-Control"),expires:O.headers.get("Expires")}})}(d,a);if(Co(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:d,mustQueue:!0,targetMapId:fr},a)}var h;return function(A,C){return new Promise((D,O)=>{var H;let Z=new XMLHttpRequest;Z.open(A.method||"GET",A.url,!0),A.type!=="arrayBuffer"&&A.type!=="image"||(Z.responseType="arraybuffer");for(let re in A.headers)Z.setRequestHeader(re,A.headers[re]);A.type==="json"&&(Z.responseType="text",!((H=A.headers)===null||H===void 0)&&H.Accept||Z.setRequestHeader("Accept","application/json")),Z.withCredentials=A.credentials==="include",Z.onerror=()=>{O(new Error(Z.statusText))},Z.onload=()=>{if(!C.signal.aborted)if((Z.status>=200&&Z.status<300||Z.status===0)&&Z.response!==null){let re=Z.response;if(A.type==="json")try{re=JSON.parse(Z.response)}catch(ce){return void O(ce)}D({data:re,cacheControl:Z.getResponseHeader("Cache-Control"),expires:Z.getResponseHeader("Expires")})}else{let re=new Blob([Z.response],{type:Z.getResponseHeader("Content-Type")});O(new nr(Z.status,Z.statusText,A.url,re))}},C.signal.addEventListener("abort",()=>{Z.abort(),O(new rt(C.signal.reason))}),Z.send(A.body)})}(d,a)};function Jr(d){if(!d||d.indexOf("://")<=0||d.indexOf("data:image/")===0||d.indexOf("blob:")===0)return!0;let a=new URL(d),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Wi(d,a,h){h[d]&&h[d].indexOf(a)!==-1||(h[d]=h[d]||[],h[d].push(a))}function fn(d,a,h){if(h&&h[d]){let A=h[d].indexOf(a);A!==-1&&h[d].splice(A,1)}}class Wn{constructor(a,h={}){Ve(this,h),this.type=a}}class bs extends Wn{constructor(a,h={}){super("error",Ve({error:a},h))}}class go{on(a,h){return this._listeners=this._listeners||{},Wi(a,h,this._listeners),{unsubscribe:()=>{this.off(a,h)}}}off(a,h){return fn(a,h,this._listeners),fn(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Wi(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a=="string"&&(a=new Wn(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let C=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let H of C)H.call(this,a);let D=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let H of D)fn(A,H,this._oneTimeListeners),H.call(this,a);let O=this._eventedParent;O&&(Ve(a,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),O.fire(a))}else a instanceof bs&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var wr={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},"font-faces":{type:"array",value:"fontFaces"},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},encoding:{type:"enum",values:{mvt:{},mlt:{}},default:"mvt"},"*":{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:{},"color-relief":{},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_color-relief","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"}},"layout_color-relief":{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:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","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","feature"]},"property-type":"cross-faded-data-driven"},"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:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,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:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",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"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},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 Us=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function ns(d,a){let h={};for(let A in d)A!=="ref"&&(h[A]=d[A]);return Us.forEach(A=>{A in a&&(h[A]=a[A])}),h}function Be(d,a){if(Array.isArray(d)){if(!Array.isArray(a)||d.length!==a.length)return!1;for(let h=0;h`:d.itemType.kind==="value"?"array":`array<${a}>`}return d.kind}let Ds=[si,Or,fi,pr,Di,Ii,po,Mi,uo(Ni),Ls,No,co,wo,Al];function ho(d,a){if(a.kind==="error")return null;if(d.kind==="array"){if(a.kind==="array"&&(a.N===0&&a.itemType.kind==="value"||!ho(d.itemType,a.itemType))&&(typeof d.N!="number"||d.N===a.N))return null}else{if(d.kind===a.kind)return null;if(d.kind==="value"){for(let h of Ds)if(!ho(h,a))return null}}return`Expected ${Qn(d)} but found ${Qn(a)} instead.`}function cs(d,a){return a.some(h=>h.kind===d.kind)}function _l(d,a){return a.some(h=>h==="null"?d===null:h==="array"?Array.isArray(d):h==="object"?d&&!Array.isArray(d)&&typeof d=="object":h===typeof d)}function zc(d,a){return d.kind==="array"&&a.kind==="array"?d.itemType.kind===a.itemType.kind&&typeof d.N=="number":d.kind===a.kind}let yl=.96422,Ya=.82521,md=4/29,os=6/29,ca=3*os*os,mf=os*os*os,Ll=Math.PI/180,Dl=180/Math.PI;function eu(d){return(d%=360)<0&&(d+=360),d}function ua([d,a,h,A]){let C,D,O=Uc((.2225045*(d=Tc(d))+.7168786*(a=Tc(a))+.0606169*(h=Tc(h)))/1);d===a&&a===h?C=D=O:(C=Uc((.4360747*d+.3850649*a+.1430804*h)/yl),D=Uc((.0139322*d+.0971045*a+.7141733*h)/Ya));let H=116*O-16;return[H<0?0:H,500*(C-O),200*(O-D),A]}function Tc(d){return d<=.04045?d/12.92:Math.pow((d+.055)/1.055,2.4)}function Uc(d){return d>mf?Math.pow(d,1/3):d/ca+md}function pm([d,a,h,A]){let C=(d+16)/116,D=isNaN(a)?C:C+a/500,O=isNaN(h)?C:C-h/200;return C=1*Iu(C),D=yl*Iu(D),O=Ya*Iu(O),[pu(3.1338561*D-1.6168667*C-.4906146*O),pu(-.9787684*D+1.9161415*C+.033454*O),pu(.0719453*D-.2289914*C+1.4052427*O),A]}function pu(d){return(d=d<=.00304?12.92*d:1.055*Math.pow(d,1/2.4)-.055)<0?0:d>1?1:d}function Iu(d){return d>os?d*d*d:ca*(d-md)}let Vh=Object.hasOwn||function(d,a){return Object.prototype.hasOwnProperty.call(d,a)};function Ma(d,a){return Vh(d,a)?d[a]:void 0}function Mu(d){return parseInt(d.padEnd(2,d),16)/255}function Sc(d,a){return pc(a?d/100:d,0,1)}function pc(d,a,h){return Math.min(Math.max(a,d),h)}function gf(d){return!d.some(Number.isNaN)}let gd={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]};function jh(d,a,h){return d+h*(a-d)}function Hh(d,a,h){return d.map((A,C)=>jh(A,a[C],h))}class Io{constructor(a,h,A,C=1,D=!0){this.r=a,this.g=h,this.b=A,this.a=C,D||(this.r*=C,this.g*=C,this.b*=C,C||this.overwriteGetter("rgb",[a,h,A,C]))}static parse(a){if(a instanceof Io)return a;if(typeof a!="string")return;let h=function(A){if((A=A.toLowerCase().trim())==="transparent")return[0,0,0,0];let C=Ma(gd,A);if(C){let[O,H,Z]=C;return[O/255,H/255,Z/255,1]}if(A.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let O=A.length<6?1:2,H=1;return[Mu(A.slice(H,H+=O)),Mu(A.slice(H,H+=O)),Mu(A.slice(H,H+=O)),Mu(A.slice(H,H+O)||"ff")]}if(A.startsWith("rgb")){let O=A.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(O){let[H,Z,re,ce,de,we,Ee,De,ke,qe,st,kt]=O,pt=[ce||" ",Ee||" ",qe].join("");if(pt===" "||pt===" /"||pt===",,"||pt===",,,"){let _t=[re,we,ke].join(""),Ht=_t==="%%%"?100:_t===""?255:0;if(Ht){let Qt=[pc(+Z/Ht,0,1),pc(+de/Ht,0,1),pc(+De/Ht,0,1),st?Sc(+st,kt):1];if(gf(Qt))return Qt}}return}}let D=A.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(D){let[O,H,Z,re,ce,de,we,Ee,De]=D,ke=[Z||" ",ce||" ",we].join("");if(ke===" "||ke===" /"||ke===",,"||ke===",,,"){let qe=[+H,pc(+re,0,100),pc(+de,0,100),Ee?Sc(+Ee,De):1];if(gf(qe))return function([st,kt,pt,_t]){function Ht(Qt){let Ir=(Qt+st/30)%12,oi=kt*Math.min(pt,1-pt);return pt-oi*Math.max(-1,Math.min(Ir-3,9-Ir,1))}return st=eu(st),kt/=100,pt/=100,[Ht(0),Ht(8),Ht(4),_t]}(qe)}}}(a);return h?new Io(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:C}=this,D=C||1/0;return this.overwriteGetter("rgb",[a/D,h/D,A/D,C])}get hcl(){return this.overwriteGetter("hcl",function(a){let[h,A,C,D]=ua(a),O=Math.sqrt(A*A+C*C);return[Math.round(1e4*O)?eu(Math.atan2(C,A)*Dl):NaN,O,h,D]}(this.rgb))}get lab(){return this.overwriteGetter("lab",ua(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,C]=this.rgb;return`rgba(${[a,h,A].map(D=>Math.round(255*D)).join(",")},${C})`}static interpolate(a,h,A,C="rgb"){switch(C){case"rgb":{let[D,O,H,Z]=Hh(a.rgb,h.rgb,A);return new Io(D,O,H,Z,!1)}case"hcl":{let[D,O,H,Z]=a.hcl,[re,ce,de,we]=h.hcl,Ee,De;if(isNaN(D)||isNaN(re))isNaN(D)?isNaN(re)?Ee=NaN:(Ee=re,H!==1&&H!==0||(De=ce)):(Ee=D,de!==1&&de!==0||(De=O));else{let pt=re-D;re>D&&pt>180?pt-=360:re180&&(pt+=360),Ee=D+A*pt}let[ke,qe,st,kt]=function([pt,_t,Ht,Qt]){return pt=isNaN(pt)?0:pt*Ll,pm([Ht,Math.cos(pt)*_t,Math.sin(pt)*_t,Qt])}([Ee,De??jh(O,ce,A),jh(H,de,A),jh(Z,we,A)]);return new Io(ke,qe,st,kt,!1)}case"lab":{let[D,O,H,Z]=pm(Hh(a.lab,h.lab,A));return new Io(D,O,H,Z,!1)}}}}Io.black=new Io(0,0,0,1),Io.white=new Io(1,1,1,1),Io.transparent=new Io(0,0,0,0),Io.red=new Io(1,0,0,1);class Sp{constructor(a,h,A){this.sensitivity=a?h?"variant":"case":h?"accent":"base",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}let eg=["bottom","center","top"];class Ep{constructor(a,h,A,C,D,O){this.text=a,this.image=h,this.scale=A,this.fontStack=C,this.textColor=D,this.verticalAlign=O}}class Ql{constructor(a){this.sections=a}static fromString(a){return new Ql([new Ep(a,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof Ql?a:Ql.fromString(a)}toString(){return this.sections.length===0?"":this.sections.map(a=>a.text).join("")}}class Jl{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Jl)return a;if(typeof a=="number")return new Jl([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!="number")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Jl(a)}}toString(){return JSON.stringify(this.values)}static interpolate(a,h,A){return new Jl(Hh(a.values,h.values,A))}}class _a{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof _a)return a;if(typeof a=="number")return new _a([a]);if(Array.isArray(a)){for(let h of a)if(typeof h!="number")return;return new _a(a)}}toString(){return JSON.stringify(this.values)}static interpolate(a,h,A){return new _a(Hh(a.values,h.values,A))}}class Zn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Zn)return a;if(typeof a=="string"){let A=Io.parse(a);return A?new Zn([A]):void 0}if(!Array.isArray(a))return;let h=[];for(let A of a){if(typeof A!="string")return;let C=Io.parse(A);if(!C)return;h.push(C)}return new Zn(h)}toString(){return JSON.stringify(this.values)}static interpolate(a,h,A,C="rgb"){let D=[];if(a.values.length!=h.values.length)throw new Error(`colorArray: Arrays have mismatched length (${a.values.length} vs. ${h.values.length}), cannot interpolate.`);for(let O=0;O=0&&d<=255&&typeof a=="number"&&a>=0&&a<=255&&typeof h=="number"&&h>=0&&h<=255?A===void 0||typeof A=="number"&&A>=0&&A<=1?null:`Invalid rgba value [${[d,a,h,A].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A=="number"?[d,a,h,A]:[d,a,h]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function tu(d){if(d===null||typeof d=="string"||typeof d=="boolean"||typeof d=="number"||d instanceof vl||d instanceof Io||d instanceof Sp||d instanceof Ql||d instanceof Jl||d instanceof _a||d instanceof Zn||d instanceof sl||d instanceof Ol)return!0;if(Array.isArray(d)){for(let a of d)if(!tu(a))return!1;return!0}if(typeof d=="object"){for(let a in d)if(!tu(d[a]))return!1;return!0}return!1}function La(d){if(d===null)return si;if(typeof d=="string")return fi;if(typeof d=="boolean")return pr;if(typeof d=="number")return Or;if(d instanceof Io)return Di;if(d instanceof vl)return Ii;if(d instanceof Sp)return zi;if(d instanceof Ql)return po;if(d instanceof Jl)return Ls;if(d instanceof _a)return No;if(d instanceof Zn)return co;if(d instanceof sl)return Al;if(d instanceof Ol)return wo;if(Array.isArray(d)){let a=d.length,h;for(let A of d){let C=La(A);if(h){if(h===C)continue;h=Ni;break}h=C}return uo(h||Ni,a)}return Mi}function xl(d){let a=typeof d;return d===null?"":a==="string"||a==="number"||a==="boolean"?String(d):d instanceof Io||d instanceof vl||d instanceof Ql||d instanceof Jl||d instanceof _a||d instanceof Zn||d instanceof sl||d instanceof Ol?d.toString():JSON.stringify(d)}class Ws{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!tu(a[1]))return h.error("invalid value");let A=a[1],C=La(A),D=h.expectedType;return C.kind!=="array"||C.N!==0||!D||D.kind!=="array"||typeof D.N=="number"&&D.N!==0||(C=D),new Ws(C,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}let Gh={string:fi,number:Or,boolean:pr,object:Mi};class Ec{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error("Expected at least one argument.");let A,C=1,D=a[0];if(D==="array"){let H,Z;if(a.length>2){let re=a[1];if(typeof re!="string"||!(re in Gh)||re==="object")return h.error('The item type argument of "array" must be one of string, number, boolean',1);H=Gh[re],C++}else H=Ni;if(a.length>3){if(a[2]!==null&&(typeof a[2]!="number"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to "array" must be a positive integer literal',2);Z=a[2],C++}A=uo(H,Z)}else{if(!Gh[D])throw new Error(`Types doesn't contain name = ${D}`);A=Gh[D]}let O=[];for(;Ca.outputDefined())}}let Gf={"to-boolean":pr,"to-color":Di,"to-number":Or,"to-string":fi};class Wh{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error("Expected at least one argument.");let A=a[0];if(!Gf[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A==="to-boolean"||A==="to-string")&&a.length!==2)return h.error("Expected one argument.");let C=Gf[A],D=[];for(let O=1;O4?`Invalid rgba value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:Pu(h[0],h[1],h[2],h[3]),!A))return new Io(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new Gs(A||`Could not parse color from value '${typeof h=="string"?h:JSON.stringify(h)}'`)}case"padding":{let h;for(let A of this.args){h=A.evaluate(a);let C=Jl.parse(h);if(C)return C}throw new Gs(`Could not parse padding from value '${typeof h=="string"?h:JSON.stringify(h)}'`)}case"numberArray":{let h;for(let A of this.args){h=A.evaluate(a);let C=_a.parse(h);if(C)return C}throw new Gs(`Could not parse numberArray from value '${typeof h=="string"?h:JSON.stringify(h)}'`)}case"colorArray":{let h;for(let A of this.args){h=A.evaluate(a);let C=Zn.parse(h);if(C)return C}throw new Gs(`Could not parse colorArray from value '${typeof h=="string"?h:JSON.stringify(h)}'`)}case"variableAnchorOffsetCollection":{let h;for(let A of this.args){h=A.evaluate(a);let C=sl.parse(h);if(C)return C}throw new Gs(`Could not parse variableAnchorOffsetCollection from value '${typeof h=="string"?h:JSON.stringify(h)}'`)}case"number":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let C=Number(h);if(!isNaN(C))return C}throw new Gs(`Could not convert ${JSON.stringify(h)} to number.`)}case"formatted":return Ql.fromString(xl(this.args[0].evaluate(a)));case"resolvedImage":return Ol.fromString(xl(this.args[0].evaluate(a)));case"projectionDefinition":return this.args[0].evaluate(a);default:return xl(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let Hd=["Unknown","Point","LineString","Polygon"];class Cp{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,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"?Hd[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(a){let h=this._parseColorCache.get(a);return h||(h=Io.parse(a),this._parseColorCache.set(a,h)),h}}class Af{constructor(a,h,A=[],C,D=new Hr,O=[]){this.registry=a,this.path=A,this.key=A.map(H=>`[${H}]`).join(""),this.scope=D,this.errors=O,this.expectedType=C,this._isConstant=h}parse(a,h,A,C,D={}){return h?this.concat(h,A,C)._parse(a,D):this._parse(a,D)}_parse(a,h){function A(C,D,O){return O==="assert"?new Ec(D,[C]):O==="coerce"?new Wh(D,[C]):C}if(a!==null&&typeof a!="string"&&typeof a!="boolean"&&typeof a!="number"||(a=["literal",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let C=a[0];if(typeof C!="string")return this.error(`Expression name must be a string, but found ${typeof C} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let D=this.registry[C];if(D){let O=D.parse(a,this);if(!O)return null;if(this.expectedType){let H=this.expectedType,Z=O.type;if(H.kind!=="string"&&H.kind!=="number"&&H.kind!=="boolean"&&H.kind!=="object"&&H.kind!=="array"||Z.kind!=="value"){if(H.kind==="projectionDefinition"&&["string","array"].includes(Z.kind)||["color","formatted","resolvedImage"].includes(H.kind)&&["value","string"].includes(Z.kind)||["padding","numberArray"].includes(H.kind)&&["value","number","array"].includes(Z.kind)||H.kind==="colorArray"&&["value","string","array"].includes(Z.kind)||H.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(Z.kind))O=A(O,H,h.typeAnnotation||"coerce");else if(this.checkSubtype(H,Z))return null}else O=A(O,H,h.typeAnnotation||"assert")}if(!(O instanceof Ws)&&O.type.kind!=="resolvedImage"&&this._isConstant(O)){let H=new Cp;try{O=new Ws(O.type,O.evaluate(H))}catch(Z){return this.error(Z.message),null}}return O}return this.error(`Unknown expression "${C}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(a===void 0?"'undefined' value invalid. Use null instead.":typeof a=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let C=typeof a=="number"?this.path.concat(a):this.path,D=A?this.scope.concat(A):this.scope;return new Af(this.registry,this._isConstant,C,h||null,D,this.errors)}error(a,...h){let A=`${this.key}${h.map(C=>`[${C}]`).join("")}`;this.errors.push(new ui(A,a))}checkSubtype(a,h){let A=ho(a,h);return A&&this.error(A),A}}class ia{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let D=1;D=A.length)throw new Gs(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new Gs(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class Ao{constructor(a,h){this.type=pr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Ni),C=h.parse(a[2],2,Ni);return A&&C?cs(A.type,[pr,fi,Or,si,Ni])?new Ao(A,C):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${Qn(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!_l(h,["boolean","string","number","null"]))throw new Gs(`Expected first argument to be of type boolean, string, number or null, but found ${Qn(La(h))} instead.`);if(!_l(A,["string","array"]))throw new Gs(`Expected second argument to be of type array or string, but found ${Qn(La(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qh{constructor(a,h,A){this.type=Or,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 2 or 3 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Ni),C=h.parse(a[2],2,Ni);if(!A||!C)return null;if(!cs(A.type,[pr,fi,Or,si,Ni]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${Qn(A.type)} instead`);if(a.length===4){let D=h.parse(a[3],3,Or);return D?new qh(A,C,D):null}return new qh(A,C)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!_l(h,["boolean","string","number","null"]))throw new Gs(`Expected first argument to be of type boolean, string, number or null, but found ${Qn(La(h))} instead.`);let C;if(this.fromIndex&&(C=this.fromIndex.evaluate(a)),_l(A,["string"])){let D=A.indexOf(h,C);return D===-1?-1:[...A.slice(0,D)].length}if(_l(A,["array"]))return A.indexOf(h,C);throw new Gs(`Expected second argument to be of type array or string, but found ${Qn(La(A))} instead.`)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class us{constructor(a,h,A,C,D,O){this.inputType=a,this.type=h,this.input=A,this.cases=C,this.outputs=D,this.otherwise=O}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error("Expected an even number of arguments.");let A,C;h.expectedType&&h.expectedType.kind!=="value"&&(C=h.expectedType);let D={},O=[];for(let re=2;reNumber.MAX_SAFE_INTEGER)return we.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof De=="number"&&Math.floor(De)!==De)return we.error("Numeric branch labels must be integer values.");if(A){if(we.checkSubtype(A,La(De)))return null}else A=La(De);if(D[String(De)]!==void 0)return we.error("Branch labels must be unique.");D[String(De)]=O.length}let Ee=h.parse(de,re,C);if(!Ee)return null;C=C||Ee.type,O.push(Ee)}let H=h.parse(a[1],1,Ni);if(!H)return null;let Z=h.parse(a[a.length-1],a.length-1,C);return Z?H.type.kind!=="value"&&h.concat(1).checkSubtype(A,H.type)?null:new us(A,C,H,D,O,Z):null}evaluate(a){let h=this.input.evaluate(a);return(La(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Gd{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error("Expected an odd number of arguments.");let A;h.expectedType&&h.expectedType.kind!=="value"&&(A=h.expectedType);let C=[];for(let O=1;Oh.outputDefined())&&this.otherwise.outputDefined()}}class q{constructor(a,h,A,C){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=C}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 2 or 3 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Ni),C=h.parse(a[2],2,Or);if(!A||!C)return null;if(!cs(A.type,[uo(Ni),fi,Ni]))return h.error(`Expected first argument to be of type array or string, but found ${Qn(A.type)} instead`);if(a.length===4){let D=h.parse(a[3],3,Or);return D?new q(A.type,A,C,D):null}return new q(A.type,A,C)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a),C;if(this.endIndex&&(C=this.endIndex.evaluate(a)),_l(h,["string"]))return[...h].slice(A,C).join("");if(_l(h,["array"]))return h.slice(A,C);throw new Gs(`Expected first argument to be of type array or string, but found ${Qn(La(h))} instead.`)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function oe(d,a){let h=d.length-1,A,C,D=0,O=h,H=0;for(;D<=O;)if(H=Math.floor((D+O)/2),A=d[H],C=d[H+1],A<=a){if(H===h||aa))throw new Gs("Input is not a number.");O=H-1}return 0}class pe{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[C,D]of A)this.labels.push(C),this.outputs.push(D)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error("Expected an even number of arguments.");let A=h.parse(a[1],1,Or);if(!A)return null;let C=[],D=null;h.expectedType&&h.expectedType.kind!=="value"&&(D=h.expectedType);for(let O=1;O=H)return h.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',re);let de=h.parse(Z,ce,D);if(!de)return null;D=D||de.type,C.push([H,de])}return new pe(D,A,C)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let C=this.input.evaluate(a);if(C<=h[0])return A[0].evaluate(a);let D=h.length;return C>=h[D-1]?A[D-1].evaluate(a):A[oe(h,C)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function be(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var He,We,ot=function(){if(We)return He;function d(a,h,A,C){this.cx=3*a,this.bx=3*(A-a)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*h,this.by=3*(C-h)-this.cy,this.ay=1-this.cy-this.by,this.p1x=a,this.p1y=h,this.p2x=A,this.p2y=C}return We=1,He=d,d.prototype={sampleCurveX:function(a){return((this.ax*a+this.bx)*a+this.cx)*a},sampleCurveY:function(a){return((this.ay*a+this.by)*a+this.cy)*a},sampleCurveDerivativeX:function(a){return(3*this.ax*a+2*this.bx)*a+this.cx},solveCurveX:function(a,h){if(h===void 0&&(h=1e-6),a<0)return 0;if(a>1)return 1;for(var A=a,C=0;C<8;C++){var D=this.sampleCurveX(A)-a;if(Math.abs(D)D?H=A:Z=A,A=.5*(Z-H)+H;return A},solve:function(a,h){return this.sampleCurveY(this.solveCurveX(a,h))}},He}(),rr=be(ot);class Ut{constructor(a,h,A,C,D){this.type=a,this.operator=h,this.interpolation=A,this.input=C,this.labels=[],this.outputs=[];for(let[O,H]of D)this.labels.push(O),this.outputs.push(H)}static interpolationFactor(a,h,A,C){let D=0;if(a.name==="exponential")D=cr(h,a.base,A,C);else if(a.name==="linear")D=cr(h,1,A,C);else if(a.name==="cubic-bezier"){let O=a.controlPoints;D=new rr(O[0],O[1],O[2],O[3]).solve(cr(h,1,A,C))}return D}static parse(a,h){let[A,C,D,...O]=a;if(!Array.isArray(C)||C.length===0)return h.error("Expected an interpolation type expression.",1);if(C[0]==="linear")C={name:"linear"};else if(C[0]==="exponential"){let re=C[1];if(typeof re!="number")return h.error("Exponential interpolation requires a numeric base.",1,1);C={name:"exponential",base:re}}else{if(C[0]!=="cubic-bezier")return h.error(`Unknown interpolation type ${String(C[0])}`,1,0);{let re=C.slice(1);if(re.length!==4||re.some(ce=>typeof ce!="number"||ce<0||ce>1))return h.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);C={name:"cubic-bezier",controlPoints:re}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error("Expected an even number of arguments.");if(D=h.parse(D,2,Or),!D)return null;let H=[],Z=null;A!=="interpolate-hcl"&&A!=="interpolate-lab"||h.expectedType==co?h.expectedType&&h.expectedType.kind!=="value"&&(Z=h.expectedType):Z=Di;for(let re=0;re=ce)return h.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',we);let De=h.parse(de,Ee,Z);if(!De)return null;Z=Z||De.type,H.push([ce,De])}return zc(Z,Or)||zc(Z,Ii)||zc(Z,Di)||zc(Z,Ls)||zc(Z,No)||zc(Z,co)||zc(Z,Al)||zc(Z,uo(Or))?new Ut(Z,A,C,D,H):h.error(`Type ${Qn(Z)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let C=this.input.evaluate(a);if(C<=h[0])return A[0].evaluate(a);let D=h.length;if(C>=h[D-1])return A[D-1].evaluate(a);let O=oe(h,C),H=Ut.interpolationFactor(this.interpolation,C,h[O],h[O+1]),Z=A[O].evaluate(a),re=A[O+1].evaluate(a);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return jh(Z,re,H);case"color":return Io.interpolate(Z,re,H);case"padding":return Jl.interpolate(Z,re,H);case"colorArray":return Zn.interpolate(Z,re,H);case"numberArray":return _a.interpolate(Z,re,H);case"variableAnchorOffsetCollection":return sl.interpolate(Z,re,H);case"array":return Hh(Z,re,H);case"projectionDefinition":return vl.interpolate(Z,re,H)}case"interpolate-hcl":switch(this.type.kind){case"color":return Io.interpolate(Z,re,H,"hcl");case"colorArray":return Zn.interpolate(Z,re,H,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return Io.interpolate(Z,re,H,"lab");case"colorArray":return Zn.interpolate(Z,re,H,"lab")}}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function cr(d,a,h,A){let C=A-h,D=d-h;return C===0?0:a===1?D/C:(Math.pow(a,D)-1)/(Math.pow(a,C)-1)}let Fr={color:Io.interpolate,number:jh,padding:Jl.interpolate,numberArray:_a.interpolate,colorArray:Zn.interpolate,variableAnchorOffsetCollection:sl.interpolate,array:Hh};class li{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error("Expected at least one argument.");let A=null,C=h.expectedType;C&&C.kind!=="value"&&(A=C);let D=[];for(let H of a.slice(1)){let Z=h.parse(H,1+D.length,A,void 0,{typeAnnotation:"omit"});if(!Z)return null;A=A||Z.type,D.push(Z)}if(!A)throw new Error("No output type");let O=C&&D.some(H=>ho(C,H.type));return new li(O?Ni:A,D)}evaluate(a){let h,A=null,C=0;for(let D of this.args)if(C++,A=D.evaluate(a),A&&A instanceof Ol&&!A.available&&(h||(h=A.name),A=null,C===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}function vr(d,a){return d==="=="||d==="!="?a.kind==="boolean"||a.kind==="string"||a.kind==="number"||a.kind==="null"||a.kind==="value":a.kind==="string"||a.kind==="number"||a.kind==="value"}function Bi(d,a,h,A){return A.compare(a,h)===0}function gn(d,a,h){let A=d!=="=="&&d!=="!=";return class Fle{constructor(D,O,H){this.type=pr,this.lhs=D,this.rhs=O,this.collator=H,this.hasUntypedArgument=D.type.kind==="value"||O.type.kind==="value"}static parse(D,O){if(D.length!==3&&D.length!==4)return O.error("Expected two or three arguments.");let H=D[0],Z=O.parse(D[1],1,Ni);if(!Z)return null;if(!vr(H,Z.type))return O.concat(1).error(`"${H}" comparisons are not supported for type '${Qn(Z.type)}'.`);let re=O.parse(D[2],2,Ni);if(!re)return null;if(!vr(H,re.type))return O.concat(2).error(`"${H}" comparisons are not supported for type '${Qn(re.type)}'.`);if(Z.type.kind!==re.type.kind&&Z.type.kind!=="value"&&re.type.kind!=="value")return O.error(`Cannot compare types '${Qn(Z.type)}' and '${Qn(re.type)}'.`);A&&(Z.type.kind==="value"&&re.type.kind!=="value"?Z=new Ec(re.type,[Z]):Z.type.kind!=="value"&&re.type.kind==="value"&&(re=new Ec(Z.type,[re])));let ce=null;if(D.length===4){if(Z.type.kind!=="string"&&re.type.kind!=="string"&&Z.type.kind!=="value"&&re.type.kind!=="value")return O.error("Cannot use collator to compare non-string types.");if(ce=O.parse(D[3],3,zi),!ce)return null}return new Fle(Z,re,ce)}evaluate(D){let O=this.lhs.evaluate(D),H=this.rhs.evaluate(D);if(A&&this.hasUntypedArgument){let Z=La(O),re=La(H);if(Z.kind!==re.kind||Z.kind!=="string"&&Z.kind!=="number")throw new Gs(`Expected arguments for "${d}" to be (string, string) or (number, number), but found (${Z.kind}, ${re.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let Z=La(O),re=La(H);if(Z.kind!=="string"||re.kind!=="string")return a(D,O,H)}return this.collator?h(D,O,H,this.collator.evaluate(D)):a(D,O,H)}eachChild(D){D(this.lhs),D(this.rhs),this.collator&&D(this.collator)}outputDefined(){return!0}}}let gs=gn("==",function(d,a,h){return a===h},Bi),Mo=gn("!=",function(d,a,h){return a!==h},function(d,a,h,A){return!Bi(0,a,h,A)}),bl=gn("<",function(d,a,h){return a",function(d,a,h){return a>h},function(d,a,h,A){return A.compare(a,h)>0}),Da=gn("<=",function(d,a,h){return a<=h},function(d,a,h,A){return A.compare(a,h)<=0}),Ka=gn(">=",function(d,a,h){return a>=h},function(d,a,h,A){return A.compare(a,h)>=0});class Yn{constructor(a,h,A){this.type=zi,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error("Expected one argument.");let A=a[1];if(typeof A!="object"||Array.isArray(A))return h.error("Collator options argument must be an object.");let C=h.parse(A["case-sensitive"]!==void 0&&A["case-sensitive"],1,pr);if(!C)return null;let D=h.parse(A["diacritic-sensitive"]!==void 0&&A["diacritic-sensitive"],1,pr);if(!D)return null;let O=null;return A.locale&&(O=h.parse(A.locale,1,fi),!O)?null:new Yn(C,D,O)}evaluate(a){return new Sp(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}class Er{constructor(a,h,A,C,D){this.type=fi,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=C,this.maxFractionDigits=D}static parse(a,h){if(a.length!==3)return h.error("Expected two arguments.");let A=h.parse(a[1],1,Or);if(!A)return null;let C=a[2];if(typeof C!="object"||Array.isArray(C))return h.error("NumberFormat options argument must be an object.");let D=null;if(C.locale&&(D=h.parse(C.locale,1,fi),!D))return null;let O=null;if(C.currency&&(O=h.parse(C.currency,1,fi),!O))return null;let H=null;if(C["min-fraction-digits"]&&(H=h.parse(C["min-fraction-digits"],1,Or),!H))return null;let Z=null;return C["max-fraction-digits"]&&(Z=h.parse(C["max-fraction-digits"],1,Or),!Z)?null:new Er(A,D,O,H,Z)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Gr{constructor(a){this.type=po,this.sections=a}static parse(a,h){if(a.length<2)return h.error("Expected at least one argument.");let A=a[1];if(!Array.isArray(A)&&typeof A=="object")return h.error("First argument must be an image or text section.");let C=[],D=!1;for(let O=1;O<=a.length-1;++O){let H=a[O];if(D&&typeof H=="object"&&!Array.isArray(H)){D=!1;let Z=null;if(H["font-scale"]&&(Z=h.parse(H["font-scale"],1,Or),!Z))return null;let re=null;if(H["text-font"]&&(re=h.parse(H["text-font"],1,uo(fi)),!re))return null;let ce=null;if(H["text-color"]&&(ce=h.parse(H["text-color"],1,Di),!ce))return null;let de=null;if(H["vertical-align"]){if(typeof H["vertical-align"]=="string"&&!eg.includes(H["vertical-align"]))return h.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${H["vertical-align"]}' instead.`);if(de=h.parse(H["vertical-align"],1,fi),!de)return null}let we=C[C.length-1];we.scale=Z,we.font=re,we.textColor=ce,we.verticalAlign=de}else{let Z=h.parse(a[O],1,Ni);if(!Z)return null;let re=Z.type.kind;if(re!=="string"&&re!=="value"&&re!=="null"&&re!=="resolvedImage")return h.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");D=!0,C.push({content:Z,scale:null,font:null,textColor:null,verticalAlign:null})}}return new Gr(C)}evaluate(a){return new Ql(this.sections.map(h=>{let A=h.content.evaluate(a);return La(A)===wo?new Ep("",A,null,null,null,h.verticalAlign?h.verticalAlign.evaluate(a):null):new Ep(xl(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(","):null,h.textColor?h.textColor.evaluate(a):null,h.verticalAlign?h.verticalAlign.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor),h.verticalAlign&&a(h.verticalAlign)}outputDefined(){return!1}}class wi{constructor(a){this.type=wo,this.input=a}static parse(a,h){if(a.length!==2)return h.error("Expected two arguments.");let A=h.parse(a[1],1,fi);return A?new wi(A):h.error("No image name provided.")}evaluate(a){let h=this.input.evaluate(a),A=Ol.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class ni{constructor(a){this.type=Or,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!=="array"&&A.type.kind!=="string"&&A.type.kind!=="value"?h.error(`Expected argument of type string or array, but found ${Qn(A.type)} instead.`):new ni(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h=="string")return[...h].length;if(Array.isArray(h))return h.length;throw new Gs(`Expected value to be of type string or array, but found ${Qn(La(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let b=8192;function Po(d,a){let h=(180+d[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+d[1]*Math.PI/360)))/360,C=Math.pow(2,a.z);return[Math.round(h*C*b),Math.round(A*C*b)]}function _o(d,a){let h=Math.pow(2,a.z);return[(C=(d[0]/b+a.x)/h,360*C-180),(A=(d[1]/b+a.y)/h,360/Math.PI*Math.atan(Math.exp((180-360*A)*Math.PI/180))-90)];var A,C}function Ye(d,a){d[0]=Math.min(d[0],a[0]),d[1]=Math.min(d[1],a[1]),d[2]=Math.max(d[2],a[0]),d[3]=Math.max(d[3],a[1])}function Ms(d,a){return!(d[0]<=a[0]||d[2]>=a[2]||d[1]<=a[1]||d[3]>=a[3])}function ao(d,a,h){let A=d[0]-a[0],C=d[1]-a[1],D=d[0]-h[0],O=d[1]-h[1];return A*O-D*C==0&&A*D<=0&&C*O<=0}function Ps(d,a,h,A){return(C=[A[0]-h[0],A[1]-h[1]])[0]*(D=[a[0]-d[0],a[1]-d[1]])[1]-C[1]*D[0]!=0&&!(!gh(d,a,h,A)||!gh(h,A,d,a));var C,D}function Rs(d,a,h){for(let A of h)for(let C=0;C(C=d)[1]!=(O=H[Z+1])[1]>C[1]&&C[0]<(O[0]-D[0])*(C[1]-D[1])/(O[1]-D[1])+D[0]&&(A=!A)}var C,D,O;return A}function Qs(d,a){for(let h of a)if(Go(d,h))return!0;return!1}function Ts(d,a){for(let h of d)if(!Go(h,a))return!1;for(let h=0;h0&&H<0||O<0&&H>0}function Ss(d,a,h){let A=[];for(let C=0;Ch[2]){let C=.5*A,D=d[0]-h[0]>C?-A:h[0]-d[0]>C?A:0;D===0&&(D=d[0]-h[2]>C?-A:h[2]-d[0]>C?A:0),d[0]+=D}Ye(a,d)}function Qa(d,a,h,A){let C=Math.pow(2,A.z)*b,D=[A.x*b,A.y*b],O=[];for(let H of d)for(let Z of H){let re=[Z.x+D[0],Z.y+D[1]];mc(re,a,h,C),O.push(re)}return O}function Ru(d,a,h,A){let C=Math.pow(2,A.z)*b,D=[A.x*b,A.y*b],O=[];for(let Z of d){let re=[];for(let ce of Z){let de=[ce.x+D[0],ce.y+D[1]];Ye(a,de),re.push(de)}O.push(re)}if(a[2]-a[0]<=C/2){(H=a)[0]=H[1]=1/0,H[2]=H[3]=-1/0;for(let Z of O)for(let re of Z)mc(re,a,h,C)}var H;return O}class gc{constructor(a,h){this.type=pr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(tu(a[1])){let A=a[1];if(A.type==="FeatureCollection"){let C=[];for(let D of A.features){let{type:O,coordinates:H}=D.geometry;O==="Polygon"&&C.push(H),O==="MultiPolygon"&&C.push(...H)}if(C.length)return new gc(A,{type:"MultiPolygon",coordinates:C})}else if(A.type==="Feature"){let C=A.geometry.type;if(C==="Polygon"||C==="MultiPolygon")return new gc(A,A.geometry)}else if(A.type==="Polygon"||A.type==="MultiPolygon")return new gc(A,A)}return h.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(a){if(a.geometry()!=null&&a.canonicalID()!=null){if(a.geometryType()==="Point")return function(h,A){let C=[1/0,1/0,-1/0,-1/0],D=[1/0,1/0,-1/0,-1/0],O=h.canonicalID();if(A.type==="Polygon"){let H=Ss(A.coordinates,D,O),Z=Qa(h.geometry(),C,D,O);if(!Ms(C,D))return!1;for(let re of Z)if(!Go(re,H))return!1}if(A.type==="MultiPolygon"){let H=Ah(A.coordinates,D,O),Z=Qa(h.geometry(),C,D,O);if(!Ms(C,D))return!1;for(let re of Z)if(!Qs(re,H))return!1}return!0}(a,this.geometries);if(a.geometryType()==="LineString")return function(h,A){let C=[1/0,1/0,-1/0,-1/0],D=[1/0,1/0,-1/0,-1/0],O=h.canonicalID();if(A.type==="Polygon"){let H=Ss(A.coordinates,D,O),Z=Ru(h.geometry(),C,D,O);if(!Ms(C,D))return!1;for(let re of Z)if(!Ts(re,H))return!1}if(A.type==="MultiPolygon"){let H=Ah(A.coordinates,D,O),Z=Ru(h.geometry(),C,D,O);if(!Ms(C,D))return!1;for(let re of Z)if(!Os(re,H))return!1}return!0}(a,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let _h=class{constructor(d=[],a=(h,A)=>hA?1:0){if(this.data=d,this.length=this.data.length,this.compare=a,this.length>0)for(let h=(this.length>>1)-1;h>=0;h--)this._down(h)}push(d){this.data.push(d),this._up(this.length++)}pop(){if(this.length===0)return;let d=this.data[0],a=this.data.pop();return--this.length>0&&(this.data[0]=a,this._down(0)),d}peek(){return this.data[0]}_up(d){let{data:a,compare:h}=this,A=a[d];for(;d>0;){let C=d-1>>1,D=a[C];if(h(A,D)>=0)break;a[d]=D,d=C}a[d]=A}_down(d){let{data:a,compare:h}=this,A=this.length>>1,C=a[d];for(;d=0)break;a[d]=a[D],d=D}a[d]=C}};function Fl(d,a,h=0,A=d.length-1,C=qn){for(;A>h;){if(A-h>600){let Z=A-h+1,re=a-h+1,ce=Math.log(Z),de=.5*Math.exp(2*ce/3),we=.5*Math.sqrt(ce*de*(Z-de)/Z)*(re-Z/2<0?-1:1);Fl(d,a,Math.max(h,Math.floor(a-re*de/Z+we)),Math.min(A,Math.floor(a+(Z-re)*de/Z+we)),C)}let D=d[a],O=h,H=A;for(Ac(d,h,a),C(d[A],D)>0&&Ac(d,h,A);O0;)H--}C(d[h],D)===0?Ac(d,h,H):(H++,Ac(d,H,A)),H<=a&&(h=H+1),a<=H&&(A=H-1)}}function Ac(d,a,h){let A=d[a];d[a]=d[h],d[h]=A}function qn(d,a){return da?1:0}function dt(d,a){if(d.length<=1)return[d];let h=[],A,C;for(let D of d){let O=$h(D);O!==0&&(D.area=Math.abs(O),C===void 0&&(C=O<0),C===O<0?(A&&h.push(A),A=[D]):A.push(D))}if(A&&h.push(A),a>1)for(let D=0;D1?(re=a[Z+1][0],ce=a[Z+1][1]):Ee>0&&(re+=de/this.kx*Ee,ce+=we/this.ky*Ee)),de=this.wrap(h[0]-re)*this.kx,we=(h[1]-ce)*this.ky;let De=de*de+we*we;De180;)a-=360;return a}}function et(d,a){return a[0]-d[0]}function yf(d){return d[1]-d[0]+1}function Bu(d,a){return d[1]>=d[0]&&d[1]d[1])return[null,null];let h=yf(d);if(a){if(h===2)return[d,null];let C=Math.floor(h/2);return[[d[0],d[0]+C],[d[0]+C,d[1]]]}if(h===1)return[d,null];let A=Math.floor(h/2)-1;return[[d[0],d[0]+A],[d[0]+A+1,d[1]]]}function qf(d,a){if(!Bu(a,d.length))return[1/0,1/0,-1/0,-1/0];let h=[1/0,1/0,-1/0,-1/0];for(let A=a[0];A<=a[1];++A)Ye(h,d[A]);return h}function Bt(d){let a=[1/0,1/0,-1/0,-1/0];for(let h of d)for(let A of h)Ye(a,A);return a}function ar(d){return d[0]!==-1/0&&d[1]!==-1/0&&d[2]!==1/0&&d[3]!==1/0}function Br(d,a,h){if(!ar(d)||!ar(a))return NaN;let A=0,C=0;return d[2]a[2]&&(A=d[0]-a[2]),d[1]>a[3]&&(C=d[1]-a[3]),d[3]=A)return A;if(Ms(C,D)){if(To(d,a))return 0}else if(To(a,d))return 0;let O=1/0;for(let H of d)for(let Z=0,re=H.length,ce=re-1;Z0;){let Z=O.pop();if(Z[0]>=D)continue;let re=Z[1],ce=a?50:100;if(yf(re)<=ce){if(!Bu(re,d.length))return NaN;if(a){let de=sn(d,re,h,A);if(isNaN(de)||de===0)return de;D=Math.min(D,de)}else for(let de=re[0];de<=re[1];++de){let we=Pn(d[de],h,A);if(D=Math.min(D,we),D===0)return 0}}else{let de=Wf(re,a);Ti(O,D,A,d,H,de[0]),Ti(O,D,A,d,H,de[1])}}return D}function Fs(d,a,h,A,C,D=1/0){let O=Math.min(D,C.distance(d[0],h[0]));if(O===0)return O;let H=new _h([[0,[0,d.length-1],[0,h.length-1]]],et);for(;H.length>0;){let Z=H.pop();if(Z[0]>=O)continue;let re=Z[1],ce=Z[2],de=a?50:100,we=A?50:100;if(yf(re)<=de&&yf(ce)<=we){if(!Bu(re,d.length)&&Bu(ce,h.length))return NaN;let Ee;if(a&&A)Ee=Li(d,re,h,ce,C),O=Math.min(O,Ee);else if(a&&!A){let De=d.slice(re[0],re[1]+1);for(let ke=ce[0];ke<=ce[1];++ke)if(Ee=Ur(h[ke],De,C),O=Math.min(O,Ee),O===0)return O}else if(!a&&A){let De=h.slice(ce[0],ce[1]+1);for(let ke=re[0];ke<=re[1];++ke)if(Ee=Ur(d[ke],De,C),O=Math.min(O,Ee),O===0)return O}else Ee=yi(d,re,h,ce,C),O=Math.min(O,Ee)}else{let Ee=Wf(re,a),De=Wf(ce,A);Kn(H,O,C,d,h,Ee[0],De[0]),Kn(H,O,C,d,h,Ee[0],De[1]),Kn(H,O,C,d,h,Ee[1],De[0]),Kn(H,O,C,d,h,Ee[1],De[1])}}return O}function wl(d){return d.type==="MultiPolygon"?d.coordinates.map(a=>({type:"Polygon",coordinates:a})):d.type==="MultiLineString"?d.coordinates.map(a=>({type:"LineString",coordinates:a})):d.type==="MultiPoint"?d.coordinates.map(a=>({type:"Point",coordinates:a})):[d]}class yo{constructor(a,h){this.type=Or,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'distance' expression requires exactly one argument, but found ${a.length-1} instead.`);if(tu(a[1])){let A=a[1];if(A.type==="FeatureCollection")return new yo(A,A.features.map(C=>wl(C.geometry)).flat());if(A.type==="Feature")return new yo(A,wl(A.geometry));if("type"in A&&"coordinates"in A)return new yo(A,wl(A))}return h.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(a){if(a.geometry()!=null&&a.canonicalID()!=null){if(a.geometryType()==="Point")return function(h,A){let C=h.geometry(),D=C.flat().map(Z=>_o([Z.x,Z.y],h.canonical));if(C.length===0)return NaN;let O=new Ad(D[0][1]),H=1/0;for(let Z of A){switch(Z.type){case"Point":H=Math.min(H,Fs(D,!1,[Z.coordinates],!1,O,H));break;case"LineString":H=Math.min(H,Fs(D,!1,Z.coordinates,!0,O,H));break;case"Polygon":H=Math.min(H,zn(D,!1,Z.coordinates,O,H))}if(H===0)return H}return H}(a,this.geometries);if(a.geometryType()==="LineString")return function(h,A){let C=h.geometry(),D=C.flat().map(Z=>_o([Z.x,Z.y],h.canonical));if(C.length===0)return NaN;let O=new Ad(D[0][1]),H=1/0;for(let Z of A){switch(Z.type){case"Point":H=Math.min(H,Fs(D,!0,[Z.coordinates],!1,O,H));break;case"LineString":H=Math.min(H,Fs(D,!0,Z.coordinates,!0,O,H));break;case"Polygon":H=Math.min(H,zn(D,!0,Z.coordinates,O,H))}if(H===0)return H}return H}(a,this.geometries);if(a.geometryType()==="Polygon")return function(h,A){let C=h.geometry();if(C.length===0||C[0].length===0)return NaN;let D=dt(C,0).map(Z=>Z.map(re=>re.map(ce=>_o([ce.x,ce.y],h.canonical)))),O=new Ad(D[0][0][0][1]),H=1/0;for(let Z of A)for(let re of D){switch(Z.type){case"Point":H=Math.min(H,zn([Z.coordinates],!1,re,O,H));break;case"LineString":H=Math.min(H,zn(Z.coordinates,!0,re,O,H));break;case"Polygon":H=Math.min(H,Hi(re,Z.coordinates,O,H))}if(H===0)return H}return H}(a,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class tc{constructor(a){this.type=Ni,this.key=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=a[1];return A==null?h.error("Global state property must be defined."):typeof A!="string"?h.error(`Global state property must be string, but found ${typeof a[1]} instead.`):new tc(A)}evaluate(a){var h;let A=(h=a.globals)===null||h===void 0?void 0:h.globalState;return A&&Object.keys(A).length!==0?Ma(A,this.key):null}eachChild(){}outputDefined(){return!1}}let Tl={"==":gs,"!=":Mo,">":al,"<":bl,">=":Ka,"<=":Da,array:Ec,at:ms,boolean:Ec,case:Gd,coalesce:li,collator:Yn,format:Gr,image:wi,in:Ao,"index-of":qh,interpolate:Ut,"interpolate-hcl":Ut,"interpolate-lab":Ut,length:ni,let:ia,literal:Ws,match:us,number:Ec,"number-format":Er,object:Ec,slice:q,step:pe,string:Ec,"to-boolean":Wh,"to-color":Wh,"to-number":Wh,"to-string":Wh,var:mh,within:gc,distance:yo,"global-state":tc};class ll{constructor(a,h,A,C){this.name=a,this.type=h,this._evaluate=A,this.args=C}evaluate(a){return this._evaluate(a,this.args)}eachChild(a){this.args.forEach(a)}outputDefined(){return!1}static parse(a,h){let A=a[0],C=ll.definitions[A];if(!C)return h.error(`Unknown expression "${A}". If you wanted a literal array, use ["literal", [...]].`,0);let D=Array.isArray(C)?C[0]:C.type,O=Array.isArray(C)?[[C[1],C[2]]]:C.overloads,H=O.filter(([re])=>!Array.isArray(re)||re.length===a.length-1),Z=null;for(let[re,ce]of H){Z=new Af(h.registry,Pa,h.path,null,h.scope);let de=[],we=!1;for(let Ee=1;Ee{return we=de,Array.isArray(we)?`(${we.map(Qn).join(", ")})`:`(${Qn(we.type)}...)`;var we}).join(" | "),ce=[];for(let de=1;de{h=a?h&&Pa(A):h&&A instanceof Ws}),!!h&&Yi(d)&&qd(d,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function Yi(d){if(d instanceof ll&&(d.name==="get"&&d.args.length===1||d.name==="feature-state"||d.name==="has"&&d.args.length===1||d.name==="properties"||d.name==="geometry-type"||d.name==="id"||/^filter-/.test(d.name))||d instanceof gc||d instanceof yo)return!1;let a=!0;return d.eachChild(h=>{a&&!Yi(h)&&(a=!1)}),a}function Cc(d){if(d instanceof ll&&d.name==="feature-state")return!1;let a=!0;return d.eachChild(h=>{a&&!Cc(h)&&(a=!1)}),a}function qd(d,a){if(d instanceof ll&&a.indexOf(d.name)>=0)return!1;let h=!0;return d.eachChild(A=>{h&&!qd(A,a)&&(h=!1)}),h}function yd(d){return{result:"success",value:d}}function ru(d){return{result:"error",value:d}}function kl(d){return d["property-type"]==="data-driven"||d["property-type"]==="cross-faded-data-driven"}function Ip(d){return!!d.expression&&d.expression.parameters.indexOf("zoom")>-1}function Fi(d){return!!d.expression&&d.expression.interpolated}function Zo(d){return d instanceof Number?"number":d instanceof String?"string":d instanceof Boolean?"boolean":Array.isArray(d)?"array":d===null?"null":typeof d}function vd(d){return typeof d=="object"&&d!==null&&!Array.isArray(d)&&La(d)===Mi}function tg(d){return d}function Zu(d,a){let h=d.stops&&typeof d.stops[0][0]=="object",A=h||!(h||d.property!==void 0),C=d.type||(Fi(a)?"exponential":"interval"),D=function(ce){switch(ce.type){case"color":return Io.parse;case"padding":return Jl.parse;case"numberArray":return _a.parse;case"colorArray":return Zn.parse;default:return null}}(a);if(D&&((d=ei({},d)).stops&&(d.stops=d.stops.map(ce=>[ce[0],D(ce[1])])),d.default=D(d.default?d.default:a.default)),d.colorSpace&&(O=d.colorSpace)!=="rgb"&&O!=="hcl"&&O!=="lab")throw new Error(`Unknown color space: "${d.colorSpace}"`);var O;let H=function(ce){switch(ce){case"exponential":return ha;case"interval":return ig;case"categorical":return rg;case"identity":return mu;default:throw new Error(`Unknown function type "${ce}"`)}}(C),Z,re;if(C==="categorical"){Z=Object.create(null);for(let ce of d.stops)Z[ce[0]]=ce[1];re=typeof d.stops[0][0]}if(h){let ce={},de=[];for(let De=0;DeDe[0]),evaluate:({zoom:De},ke)=>ha({stops:we,base:d.base},a,De).evaluate(De,ke)}}if(A){let ce=C==="exponential"?{name:"exponential",base:d.base!==void 0?d.base:1}:null;return{kind:"camera",interpolationType:ce,interpolationFactor:Ut.interpolationFactor.bind(void 0,ce),zoomStops:d.stops.map(de=>de[0]),evaluate:({zoom:de})=>H(d,a,de,Z,re)}}return{kind:"source",evaluate(ce,de){let we=de&&de.properties?de.properties[d.property]:void 0;return we===void 0?Ic(d.default,a.default):H(d,a,we,Z,re)}}}function Ic(d,a,h){return d!==void 0?d:a!==void 0?a:h!==void 0?h:void 0}function rg(d,a,h,A,C){return Ic(typeof h===C?A[h]:void 0,d.default,a.default)}function ig(d,a,h){if(Zo(h)!=="number")return Ic(d.default,a.default);let A=d.stops.length;if(A===1||h<=d.stops[0][0])return d.stops[0][1];if(h>=d.stops[A-1][0])return d.stops[A-1][1];let C=oe(d.stops.map(D=>D[0]),h);return d.stops[C][1]}function ha(d,a,h){let A=d.base!==void 0?d.base:1;if(Zo(h)!=="number")return Ic(d.default,a.default);let C=d.stops.length;if(C===1||h<=d.stops[0][0])return d.stops[0][1];if(h>=d.stops[C-1][0])return d.stops[C-1][1];let D=oe(d.stops.map(ce=>ce[0]),h),O=function(ce,de,we,Ee){let De=Ee-we,ke=ce-we;return De===0?0:de===1?ke/De:(Math.pow(de,ke)-1)/(Math.pow(de,De)-1)}(h,A,d.stops[D][0],d.stops[D+1][0]),H=d.stops[D][1],Z=d.stops[D+1][1],re=Fr[a.type]||tg;return typeof H.evaluate=="function"?{evaluate(...ce){let de=H.evaluate.apply(void 0,ce),we=Z.evaluate.apply(void 0,ce);if(de!==void 0&&we!==void 0)return re(de,we,O,d.colorSpace)}}:re(H,Z,O,d.colorSpace)}function mu(d,a,h){switch(a.type){case"color":h=Io.parse(h);break;case"formatted":h=Ql.fromString(h.toString());break;case"resolvedImage":h=Ol.fromString(h.toString());break;case"padding":h=Jl.parse(h);break;case"colorArray":h=Zn.parse(h);break;case"numberArray":h=_a.parse(h);break;default:Zo(h)===a.type||a.type==="enum"&&a.values[h]||(h=void 0)}return Ic(h,d.default,a.default)}ll.register(Tl,{error:[{kind:"error"},[fi],(d,[a])=>{throw new Gs(a.evaluate(d))}],typeof:[fi,[Ni],(d,[a])=>Qn(La(a.evaluate(d)))],"to-rgba":[uo(Or,4),[Di],(d,[a])=>{let[h,A,C,D]=a.evaluate(d).rgb;return[255*h,255*A,255*C,D]}],rgb:[Di,[Or,Or,Or],Oa],rgba:[Di,[Or,Or,Or,Or],Oa],has:{type:pr,overloads:[[[fi],(d,[a])=>Sl(a.evaluate(d),d.properties())],[[fi,Mi],(d,[a,h])=>Sl(a.evaluate(d),h.evaluate(d))]]},get:{type:Ni,overloads:[[[fi],(d,[a])=>_d(a.evaluate(d),d.properties())],[[fi,Mi],(d,[a,h])=>_d(a.evaluate(d),h.evaluate(d))]]},"feature-state":[Ni,[fi],(d,[a])=>_d(a.evaluate(d),d.featureState||{})],properties:[Mi,[],d=>d.properties()],"geometry-type":[fi,[],d=>d.geometryType()],id:[Ni,[],d=>d.id()],zoom:[Or,[],d=>d.globals.zoom],"heatmap-density":[Or,[],d=>d.globals.heatmapDensity||0],elevation:[Or,[],d=>d.globals.elevation||0],"line-progress":[Or,[],d=>d.globals.lineProgress||0],accumulated:[Ni,[],d=>d.globals.accumulated===void 0?null:d.globals.accumulated],"+":[Or,vf(Or),(d,a)=>{let h=0;for(let A of a)h+=A.evaluate(d);return h}],"*":[Or,vf(Or),(d,a)=>{let h=1;for(let A of a)h*=A.evaluate(d);return h}],"-":{type:Or,overloads:[[[Or,Or],(d,[a,h])=>a.evaluate(d)-h.evaluate(d)],[[Or],(d,[a])=>-a.evaluate(d)]]},"/":[Or,[Or,Or],(d,[a,h])=>a.evaluate(d)/h.evaluate(d)],"%":[Or,[Or,Or],(d,[a,h])=>a.evaluate(d)%h.evaluate(d)],ln2:[Or,[],()=>Math.LN2],pi:[Or,[],()=>Math.PI],e:[Or,[],()=>Math.E],"^":[Or,[Or,Or],(d,[a,h])=>Math.pow(a.evaluate(d),h.evaluate(d))],sqrt:[Or,[Or],(d,[a])=>Math.sqrt(a.evaluate(d))],log10:[Or,[Or],(d,[a])=>Math.log(a.evaluate(d))/Math.LN10],ln:[Or,[Or],(d,[a])=>Math.log(a.evaluate(d))],log2:[Or,[Or],(d,[a])=>Math.log(a.evaluate(d))/Math.LN2],sin:[Or,[Or],(d,[a])=>Math.sin(a.evaluate(d))],cos:[Or,[Or],(d,[a])=>Math.cos(a.evaluate(d))],tan:[Or,[Or],(d,[a])=>Math.tan(a.evaluate(d))],asin:[Or,[Or],(d,[a])=>Math.asin(a.evaluate(d))],acos:[Or,[Or],(d,[a])=>Math.acos(a.evaluate(d))],atan:[Or,[Or],(d,[a])=>Math.atan(a.evaluate(d))],min:[Or,vf(Or),(d,a)=>Math.min(...a.map(h=>h.evaluate(d)))],max:[Or,vf(Or),(d,a)=>Math.max(...a.map(h=>h.evaluate(d)))],abs:[Or,[Or],(d,[a])=>Math.abs(a.evaluate(d))],round:[Or,[Or],(d,[a])=>{let h=a.evaluate(d);return h<0?-Math.round(-h):Math.round(h)}],floor:[Or,[Or],(d,[a])=>Math.floor(a.evaluate(d))],ceil:[Or,[Or],(d,[a])=>Math.ceil(a.evaluate(d))],"filter-==":[pr,[fi,Ni],(d,[a,h])=>d.properties()[a.value]===h.value],"filter-id-==":[pr,[Ni],(d,[a])=>d.id()===a.value],"filter-type-==":[pr,[fi],(d,[a])=>d.geometryType()===a.value],"filter-<":[pr,[fi,Ni],(d,[a,h])=>{let A=d.properties()[a.value],C=h.value;return typeof A==typeof C&&A{let h=d.id(),A=a.value;return typeof h==typeof A&&h":[pr,[fi,Ni],(d,[a,h])=>{let A=d.properties()[a.value],C=h.value;return typeof A==typeof C&&A>C}],"filter-id->":[pr,[Ni],(d,[a])=>{let h=d.id(),A=a.value;return typeof h==typeof A&&h>A}],"filter-<=":[pr,[fi,Ni],(d,[a,h])=>{let A=d.properties()[a.value],C=h.value;return typeof A==typeof C&&A<=C}],"filter-id-<=":[pr,[Ni],(d,[a])=>{let h=d.id(),A=a.value;return typeof h==typeof A&&h<=A}],"filter->=":[pr,[fi,Ni],(d,[a,h])=>{let A=d.properties()[a.value],C=h.value;return typeof A==typeof C&&A>=C}],"filter-id->=":[pr,[Ni],(d,[a])=>{let h=d.id(),A=a.value;return typeof h==typeof A&&h>=A}],"filter-has":[pr,[Ni],(d,[a])=>a.value in d.properties()],"filter-has-id":[pr,[],d=>d.id()!==null&&d.id()!==void 0],"filter-type-in":[pr,[uo(fi)],(d,[a])=>a.value.indexOf(d.geometryType())>=0],"filter-id-in":[pr,[uo(Ni)],(d,[a])=>a.value.indexOf(d.id())>=0],"filter-in-small":[pr,[fi,uo(Ni)],(d,[a,h])=>h.value.indexOf(d.properties()[a.value])>=0],"filter-in-large":[pr,[fi,uo(Ni)],(d,[a,h])=>function(A,C,D,O){for(;D<=O;){let H=D+O>>1;if(C[H]===A)return!0;C[H]>A?O=H-1:D=H+1}return!1}(d.properties()[a.value],h.value,0,h.value.length-1)],all:{type:pr,overloads:[[[pr,pr],(d,[a,h])=>a.evaluate(d)&&h.evaluate(d)],[vf(pr),(d,a)=>{for(let h of a)if(!h.evaluate(d))return!1;return!0}]]},any:{type:pr,overloads:[[[pr,pr],(d,[a,h])=>a.evaluate(d)||h.evaluate(d)],[vf(pr),(d,a)=>{for(let h of a)if(h.evaluate(d))return!0;return!1}]]},"!":[pr,[pr],(d,[a])=>!a.evaluate(d)],"is-supported-script":[pr,[fi],(d,[a])=>{let h=d.globals&&d.globals.isSupportedScript;return!h||h(a.evaluate(d))}],upcase:[fi,[fi],(d,[a])=>a.evaluate(d).toUpperCase()],downcase:[fi,[fi],(d,[a])=>a.evaluate(d).toLowerCase()],concat:[fi,vf(Ni),(d,a)=>a.map(h=>xl(h.evaluate(d))).join("")],"resolved-locale":[fi,[zi],(d,[a])=>a.evaluate(d).resolvedLocale()]});class Mc{constructor(a,h,A){this.expression=a,this._warningHistory={},this._evaluator=new Cp,this._defaultValue=h?function(C){if(C.type==="color"&&vd(C.default))return new Io(0,0,0,0);switch(C.type){case"color":return Io.parse(C.default)||null;case"padding":return Jl.parse(C.default)||null;case"numberArray":return _a.parse(C.default)||null;case"colorArray":return Zn.parse(C.default)||null;case"variableAnchorOffsetCollection":return sl.parse(C.default)||null;case"projectionDefinition":return vl.parse(C.default)||null;default:return C.default===void 0?null:C.default}}(h):null,this._enumValues=h&&h.type==="enum"?h.values:null,this._globalState=A}evaluateWithoutErrorHandling(a,h,A,C,D,O){return this._globalState&&(a=fa(a,this._globalState)),this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=C,this._evaluator.availableImages=D||null,this._evaluator.formattedSection=O,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,C,D,O){this._globalState&&(a=fa(a,this._globalState)),this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=C,this._evaluator.availableImages=D||null,this._evaluator.formattedSection=O||null;try{let H=this.expression.evaluate(this._evaluator);if(H==null||typeof H=="number"&&H!=H)return this._defaultValue;if(this._enumValues&&!(H in this._enumValues))throw new Gs(`Expected value to be one of ${Object.keys(this._enumValues).map(Z=>JSON.stringify(Z)).join(", ")}, but found ${JSON.stringify(H)} instead.`);return H}catch(H){return this._warningHistory[H.message]||(this._warningHistory[H.message]=!0,typeof console<"u"&&console.warn(H.message)),this._defaultValue}}}function yh(d){return Array.isArray(d)&&d.length>0&&typeof d[0]=="string"&&d[0]in Tl}function $d(d,a,h){let A=new Af(Tl,Pa,[],a?function(D){let O={color:Di,string:fi,number:Or,enum:fi,boolean:pr,formatted:po,padding:Ls,numberArray:No,colorArray:co,projectionDefinition:Ii,resolvedImage:wo,variableAnchorOffsetCollection:Al};return D.type==="array"?uo(O[D.value]||Ni,D.length):O[D.type]}(a):void 0),C=A.parse(d,void 0,void 0,void 0,a&&a.type==="string"?{typeAnnotation:"coerce"}:void 0);return C?yd(new Mc(C,a,h)):ru(A.errors)}class $f{constructor(a,h,A){this.kind=a,this._styleExpression=h,this.isStateDependent=a!=="constant"&&!Cc(h.expression),this.globalStateRefs=Nl(h.expression),this._globalState=A}evaluateWithoutErrorHandling(a,h,A,C,D,O){return this._globalState&&(a=fa(a,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(a,h,A,C,D,O)}evaluate(a,h,A,C,D,O){return this._globalState&&(a=fa(a,this._globalState)),this._styleExpression.evaluate(a,h,A,C,D,O)}}class Yu{constructor(a,h,A,C,D){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!=="camera"&&!Cc(h.expression),this.globalStateRefs=Nl(h.expression),this.interpolationType=C,this._globalState=D}evaluateWithoutErrorHandling(a,h,A,C,D,O){return this._globalState&&(a=fa(a,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(a,h,A,C,D,O)}evaluate(a,h,A,C,D,O){return this._globalState&&(a=fa(a,this._globalState)),this._styleExpression.evaluate(a,h,A,C,D,O)}interpolationFactor(a,h,A){return this.interpolationType?Ut.interpolationFactor(this.interpolationType,a,h,A):0}}function gu(d,a,h){let A=$d(d,a,h);if(A.result==="error")return A;let C=A.value.expression,D=Yi(C);if(!D&&!kl(a))return ru([new ui("","data expressions not supported")]);let O=qd(C,["zoom"]);if(!O&&!Ip(a))return ru([new ui("","zoom expressions not supported")]);let H=Lu(C);return H||O?H instanceof ui?ru([H]):H instanceof Ut&&!Fi(a)?ru([new ui("",'"interpolate" expressions cannot be used with this property')]):yd(H?new Yu(D?"camera":"composite",A.value,H.labels,H instanceof Ut?H.interpolation:void 0,h):new $f(D?"constant":"source",A.value,h)):ru([new ui("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class So{constructor(a,h){this._parameters=a,this._specification=h,ei(this,Zu(this._parameters,this._specification))}static deserialize(a){return new So(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Lu(d){let a=null;if(d instanceof ia)a=Lu(d.result);else if(d instanceof li){for(let h of d.args)if(a=Lu(h),a)break}else(d instanceof pe||d instanceof Ut)&&d.input instanceof ll&&d.input.name==="zoom"&&(a=d);return a instanceof ui||d.eachChild(h=>{let A=Lu(h);A instanceof ui?a=A:!a&&A?a=new ui("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):a&&A&&a!==A&&(a=new ui("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),a}function Nl(d,a=new Set){return d instanceof tc&&a.add(d.key),d.eachChild(h=>{Nl(h,a)}),a}function fa(d,a){let{zoom:h,heatmapDensity:A,elevation:C,lineProgress:D,isSupportedScript:O,accumulated:H}=d??{};return{zoom:h,heatmapDensity:A,elevation:C,lineProgress:D,isSupportedScript:O,accumulated:H,globalState:a}}function xf(d){if(d===!0||d===!1)return!0;if(!Array.isArray(d)||d.length===0)return!1;switch(d[0]){case"has":return d.length>=2&&d[1]!=="$id"&&d[1]!=="$type";case"in":return d.length>=3&&(typeof d[1]!="string"||Array.isArray(d[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return d.length!==3||Array.isArray(d[1])||Array.isArray(d[2]);case"any":case"all":for(let a of d.slice(1))if(!xf(a)&&typeof a!="boolean")return!1;return!0;default:return!0}}let Xf={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Pc(d,a){if(d==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};xf(d)||(d=An(d));let h=$d(d,Xf,a);if(h.result==="error")throw new Error(h.value.map(A=>`${A.key}: ${A.message}`).join(", "));return{filter:(A,C,D)=>h.value.evaluate(A,C,{},D),needGeometry:Ku(d),getGlobalStateRefs:()=>Nl(h.value.expression)}}function El(d,a){return da?1:0}function Ku(d){if(!Array.isArray(d))return!1;if(d[0]==="within"||d[0]==="distance")return!0;for(let a=1;a"||a==="<="||a===">="?nn(d[1],d[2],a):a==="any"?(h=d.slice(1),["any"].concat(h.map(An))):a==="all"?["all"].concat(d.slice(1).map(An)):a==="none"?["all"].concat(d.slice(1).map(An).map(Au)):a==="in"?Xd(d[1],d.slice(2)):a==="!in"?Au(Xd(d[1],d.slice(2))):a==="has"?Vc(d[1]):a!=="!has"||Au(Vc(d[1]));var h}function nn(d,a,h){switch(d){case"$type":return[`filter-type-${h}`,a];case"$id":return[`filter-id-${h}`,a];default:return[`filter-${h}`,d,a]}}function Xd(d,a){if(a.length===0)return!1;switch(d){case"$type":return["filter-type-in",["literal",a]];case"$id":return["filter-id-in",["literal",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?["filter-in-large",d,["literal",a.sort(El)]]:["filter-in-small",d,["literal",a]]}}function Vc(d){switch(d){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",d]}}function Au(d){return["!",d]}function Cl(d){let a=typeof d;if(a==="number"||a==="boolean"||a==="string"||d==null)return JSON.stringify(d);if(Array.isArray(d)){let C="[";for(let D of d)C+=`${Cl(D)},`;return`${C}]`}let h=Object.keys(d).sort(),A="{";for(let C=0;CA.maximum?[new Ct(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Pp(d){let a=d.valueSpec,h=Ha(d.value.type),A,C,D,O={},H=h!=="categorical"&&d.value.property===void 0,Z=!H,re=Zo(d.value.stops)==="array"&&Zo(d.value.stops[0])==="array"&&Zo(d.value.stops[0][0])==="object",ce=da({key:d.key,value:d.value,valueSpec:d.styleSpec.function,validateSpec:d.validateSpec,style:d.style,styleSpec:d.styleSpec,objectElementValidators:{stops:function(Ee){if(h==="identity")return[new Ct(Ee.key,Ee.value,'identity function may not have a "stops" property')];let De=[],ke=Ee.value;return De=De.concat(Mp({key:Ee.key,value:ke,valueSpec:Ee.valueSpec,validateSpec:Ee.validateSpec,style:Ee.style,styleSpec:Ee.styleSpec,arrayElementValidator:de})),Zo(ke)==="array"&&ke.length===0&&De.push(new Ct(Ee.key,ke,"array must have at least one stop")),De},default:function(Ee){return Ee.validateSpec({key:Ee.key,value:Ee.value,valueSpec:a,validateSpec:Ee.validateSpec,style:Ee.style,styleSpec:Ee.styleSpec})}}});return h==="identity"&&H&&ce.push(new Ct(d.key,d.value,'missing required property "property"')),h==="identity"||d.value.stops||ce.push(new Ct(d.key,d.value,'missing required property "stops"')),h==="exponential"&&d.valueSpec.expression&&!Fi(d.valueSpec)&&ce.push(new Ct(d.key,d.value,"exponential functions not supported")),d.styleSpec.$version>=8&&(Z&&!kl(d.valueSpec)?ce.push(new Ct(d.key,d.value,"property functions not supported")):H&&!Ip(d.valueSpec)&&ce.push(new Ct(d.key,d.value,"zoom functions not supported"))),h!=="categorical"&&!re||d.value.property!==void 0||ce.push(new Ct(d.key,d.value,'"property" property is required')),ce;function de(Ee){let De=[],ke=Ee.value,qe=Ee.key;if(Zo(ke)!=="array")return[new Ct(qe,ke,`array expected, ${Zo(ke)} found`)];if(ke.length!==2)return[new Ct(qe,ke,`array length 2 expected, length ${ke.length} found`)];if(re){if(Zo(ke[0])!=="object")return[new Ct(qe,ke,`object expected, ${Zo(ke[0])} found`)];if(ke[0].zoom===void 0)return[new Ct(qe,ke,"object stop key must have zoom")];if(ke[0].value===void 0)return[new Ct(qe,ke,"object stop key must have value")];if(D&&D>Ha(ke[0].zoom))return[new Ct(qe,ke[0].zoom,"stop zoom values must appear in ascending order")];Ha(ke[0].zoom)!==D&&(D=Ha(ke[0].zoom),C=void 0,O={}),De=De.concat(da({key:`${qe}[0]`,value:ke[0],valueSpec:{zoom:{}},validateSpec:Ee.validateSpec,style:Ee.style,styleSpec:Ee.styleSpec,objectElementValidators:{zoom:Yh,value:we}}))}else De=De.concat(we({key:`${qe}[0]`,value:ke[0],validateSpec:Ee.validateSpec,style:Ee.style,styleSpec:Ee.styleSpec},ke));return yh(As(ke[1]))?De.concat([new Ct(`${qe}[1]`,ke[1],"expressions are not allowed in function stops.")]):De.concat(Ee.validateSpec({key:`${qe}[1]`,value:ke[1],valueSpec:a,validateSpec:Ee.validateSpec,style:Ee.style,styleSpec:Ee.styleSpec}))}function we(Ee,De){let ke=Zo(Ee.value),qe=Ha(Ee.value),st=Ee.value!==null?Ee.value:De;if(A){if(ke!==A)return[new Ct(Ee.key,st,`${ke} stop domain type must match previous stop domain type ${A}`)]}else A=ke;if(ke!=="number"&&ke!=="string"&&ke!=="boolean")return[new Ct(Ee.key,st,"stop domain value must be a number, string, or boolean")];if(ke!=="number"&&h!=="categorical"){let kt=`number expected, ${ke} found`;return kl(a)&&h===void 0&&(kt+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Ct(Ee.key,st,kt)]}return h!=="categorical"||ke!=="number"||isFinite(qe)&&Math.floor(qe)===qe?h!=="categorical"&&ke==="number"&&C!==void 0&&qenew Ct(`${d.key}${A.key}`,d.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(d.expressionContext==="property"&&d.propertyKey==="text-font"&&!h.outputDefined())return[new Ct(d.key,d.value,`Invalid data expression for "${d.propertyKey}". Output values must be contained as literals within the expression.`)];if(d.expressionContext==="property"&&d.propertyType==="layout"&&!Cc(h))return[new Ct(d.key,d.value,'"feature-state" data expressions are not supported with layout properties.')];if(d.expressionContext==="filter"&&!Cc(h))return[new Ct(d.key,d.value,'"feature-state" data expressions are not supported with filters.')];if(d.expressionContext&&d.expressionContext.indexOf("cluster")===0){if(!qd(h,["zoom","feature-state"]))return[new Ct(d.key,d.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(d.expressionContext==="cluster-initial"&&!Yi(h))return[new Ct(d.key,d.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Rc(d){let a=d.key,h=d.value,A=Zo(h);return A!=="string"?[new Ct(a,h,`color expected, ${A} found`)]:Io.parse(String(h))?[]:[new Ct(a,h,`color expected, "${h}" found`)]}function vh(d){let a=d.key,h=d.value,A=d.valueSpec,C=[];return Array.isArray(A.values)?A.values.indexOf(Ha(h))===-1&&C.push(new Ct(a,h,`expected one of [${A.values.join(", ")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Ha(h))===-1&&C.push(new Ct(a,h,`expected one of [${Object.keys(A.values).join(", ")}], ${JSON.stringify(h)} found`)),C}function _u(d){return xf(As(d.value))?_c(ei({},d,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Zf(d)}function Zf(d){let a=d.value,h=d.key;if(Zo(a)!=="array")return[new Ct(h,a,`array expected, ${Zo(a)} found`)];let A=d.styleSpec,C,D=[];if(a.length<1)return[new Ct(h,a,"filter array must have at least 1 element")];switch(D=D.concat(vh({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:d.style,styleSpec:d.styleSpec})),Ha(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&Ha(a[1])==="$type"&&D.push(new Ct(h,a,`"$type" cannot be use with operator "${a[0]}"`));case"==":case"!=":a.length!==3&&D.push(new Ct(h,a,`filter array for operator "${a[0]}" must have 3 elements`));case"in":case"!in":a.length>=2&&(C=Zo(a[1]),C!=="string"&&D.push(new Ct(`${h}[1]`,a[1],`string expected, ${C} found`)));for(let O=2;O{re in h&&a.push(new Ct(A,h[re],`"${re}" is prohibited for ref layers`))}),C.layers.forEach(re=>{Ha(re.id)===H&&(Z=re)}),Z?Z.ref?a.push(new Ct(A,h.ref,"ref cannot reference another ref layer")):O=Ha(Z.type):a.push(new Ct(A,h.ref,`ref layer "${H}" not found`))}else if(O!=="background")if(h.source){let Z=C.sources&&C.sources[h.source],re=Z&&Ha(Z.type);Z?re==="vector"&&O==="raster"?a.push(new Ct(A,h.source,`layer "${h.id}" requires a raster source`)):re!=="raster-dem"&&O==="hillshade"||re!=="raster-dem"&&O==="color-relief"?a.push(new Ct(A,h.source,`layer "${h.id}" requires a raster-dem source`)):re==="raster"&&O!=="raster"?a.push(new Ct(A,h.source,`layer "${h.id}" requires a vector source`)):re!=="vector"||h["source-layer"]?re==="raster-dem"&&O!=="hillshade"&&O!=="color-relief"?a.push(new Ct(A,h.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):O!=="line"||!h.paint||!h.paint["line-gradient"]||re==="geojson"&&Z.lineMetrics||a.push(new Ct(A,h,`layer "${h.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):a.push(new Ct(A,h,`layer "${h.id}" must specify a "source-layer"`)):a.push(new Ct(A,h.source,`source "${h.source}" not found`))}else a.push(new Ct(A,h,'missing required property "source"'));return a=a.concat(da({key:A,value:h,valueSpec:D.layer,style:d.style,styleSpec:d.styleSpec,validateSpec:d.validateSpec,objectElementValidators:{"*":()=>[],type:()=>d.validateSpec({key:`${A}.type`,value:h.type,valueSpec:D.layer.type,style:d.style,styleSpec:d.styleSpec,validateSpec:d.validateSpec,object:h,objectKey:"type"}),filter:_u,layout:Z=>da({layer:h,key:Z.key,value:Z.value,style:Z.style,styleSpec:Z.styleSpec,validateSpec:Z.validateSpec,objectElementValidators:{"*":re=>mm(ei({layerType:O},re))}}),paint:Z=>da({layer:h,key:Z.key,value:Z.value,style:Z.style,styleSpec:Z.styleSpec,validateSpec:Z.validateSpec,objectElementValidators:{"*":re=>xd(ei({layerType:O},re))}})}})),a}function Qu(d){let a=d.value,h=d.key,A=Zo(a);return A!=="string"?[new Ct(h,a,`string expected, ${A} found`)]:[]}let Yd={promoteId:function({key:d,value:a}){if(Zo(a)==="string")return Qu({key:d,value:a});{let h=[];for(let A in a)h.push(...Qu({key:`${d}.${A}`,value:a[A]}));return h}}};function Kh(d){let a=d.value,h=d.key,A=d.styleSpec,C=d.style,D=d.validateSpec;if(!a.type)return[new Ct(h,a,'"type" is required')];let O=Ha(a.type),H;switch(O){case"vector":case"raster":return H=da({key:h,value:a,valueSpec:A[`source_${O.replace("-","_")}`],style:d.style,styleSpec:A,objectElementValidators:Yd,validateSpec:D}),H;case"raster-dem":return H=function(Z){var re;let ce=(re=Z.sourceName)!==null&&re!==void 0?re:"",de=Z.value,we=Z.styleSpec,Ee=we.source_raster_dem,De=Z.style,ke=[],qe=Zo(de);if(de===void 0)return ke;if(qe!=="object")return ke.push(new Ct("source_raster_dem",de,`object expected, ${qe} found`)),ke;let st=Ha(de.encoding)==="custom",kt=["redFactor","greenFactor","blueFactor","baseShift"],pt=Z.value.encoding?`"${Z.value.encoding}"`:"Default";for(let _t in de)!st&&kt.includes(_t)?ke.push(new Ct(_t,de[_t],`In "${ce}": "${_t}" is only valid when "encoding" is set to "custom". ${pt} encoding found`)):Ee[_t]?ke=ke.concat(Z.validateSpec({key:_t,value:de[_t],valueSpec:Ee[_t],validateSpec:Z.validateSpec,style:De,styleSpec:we})):ke.push(new Ct(_t,de[_t],`unknown property "${_t}"`));return ke}({sourceName:h,value:a,style:d.style,styleSpec:A,validateSpec:D}),H;case"geojson":if(H=da({key:h,value:a,valueSpec:A.source_geojson,style:C,styleSpec:A,validateSpec:D,objectElementValidators:Yd}),a.cluster)for(let Z in a.clusterProperties){let[re,ce]=a.clusterProperties[Z],de=typeof re=="string"?[re,["accumulated"],["get",Z]]:re;H.push(..._c({key:`${h}.${Z}.map`,value:ce,expressionContext:"cluster-map"})),H.push(..._c({key:`${h}.${Z}.reduce`,value:de,expressionContext:"cluster-reduce"}))}return H;case"video":return da({key:h,value:a,valueSpec:A.source_video,style:C,validateSpec:D,styleSpec:A});case"image":return da({key:h,value:a,valueSpec:A.source_image,style:C,validateSpec:D,styleSpec:A});case"canvas":return[new Ct(h,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return vh({key:`${h}.type`,value:a.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function bh(d){let a=d.value,h=d.styleSpec,A=h.light,C=d.style,D=[],O=Zo(a);if(a===void 0)return D;if(O!=="object")return D=D.concat([new Ct("light",a,`object expected, ${O} found`)]),D;for(let H in a){let Z=H.match(/^(.*)-transition$/);D=D.concat(Z&&A[Z[1]]&&A[Z[1]].transition?d.validateSpec({key:H,value:a[H],valueSpec:h.transition,validateSpec:d.validateSpec,style:C,styleSpec:h}):A[H]?d.validateSpec({key:H,value:a[H],valueSpec:A[H],validateSpec:d.validateSpec,style:C,styleSpec:h}):[new Ct(H,a[H],`unknown property "${H}"`)])}return D}function Rp(d){let a=d.value,h=d.styleSpec,A=h.sky,C=d.style,D=Zo(a);if(a===void 0)return[];if(D!=="object")return[new Ct("sky",a,`object expected, ${D} found`)];let O=[];for(let H in a)O=O.concat(A[H]?d.validateSpec({key:H,value:a[H],valueSpec:A[H],style:C,styleSpec:h}):[new Ct(H,a[H],`unknown property "${H}"`)]);return O}function bf(d){let a=d.value,h=d.styleSpec,A=h.terrain,C=d.style,D=[],O=Zo(a);if(a===void 0)return D;if(O!=="object")return D=D.concat([new Ct("terrain",a,`object expected, ${O} found`)]),D;for(let H in a)D=D.concat(A[H]?d.validateSpec({key:H,value:a[H],valueSpec:A[H],validateSpec:d.validateSpec,style:C,styleSpec:h}):[new Ct(H,a[H],`unknown property "${H}"`)]);return D}function Du(d){let a=[],h=d.value,A=d.key;if(Array.isArray(h)){let C=[],D=[];for(let O in h)h[O].id&&C.includes(h[O].id)&&a.push(new Ct(A,h,`all the sprites' ids must be unique, but ${h[O].id} is duplicated`)),C.push(h[O].id),h[O].url&&D.includes(h[O].url)&&a.push(new Ct(A,h,`all the sprites' URLs must be unique, but ${h[O].url} is duplicated`)),D.push(h[O].url),a=a.concat(da({key:`${A}[${O}]`,value:h[O],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:d.validateSpec}));return a}return Qu({key:A,value:h})}function Bp(d){return a=d.value,Boolean(a)&&a.constructor===Object?[]:[new Ct(d.key,d.value,`object expected, ${Zo(d.value)} found`)];var a}let Kd={"*":()=>[],array:Mp,boolean:function(d){let a=d.value,h=d.key,A=Zo(a);return A!=="boolean"?[new Ct(h,a,`boolean expected, ${A} found`)]:[]},number:Yh,color:Rc,constants:ng,enum:vh,filter:_u,function:Pp,layer:xh,object:da,source:Kh,light:bh,sky:Rp,terrain:bf,projection:function(d){let a=d.value,h=d.styleSpec,A=h.projection,C=d.style,D=Zo(a);if(a===void 0)return[];if(D!=="object")return[new Ct("projection",a,`object expected, ${D} found`)];let O=[];for(let H in a)O=O.concat(A[H]?d.validateSpec({key:H,value:a[H],valueSpec:A[H],style:C,styleSpec:h}):[new Ct(H,a[H],`unknown property "${H}"`)]);return O},projectionDefinition:function(d){let a=d.key,h=d.value;h=h instanceof String?h.valueOf():h;let A=Zo(h);return A!=="array"||function(C){return Array.isArray(C)&&C.length===3&&typeof C[0]=="string"&&typeof C[1]=="string"&&typeof C[2]=="number"}(h)||function(C){return!!["interpolate","step","literal"].includes(C[0])}(h)?["array","string"].includes(A)?[]:[new Ct(a,h,`projection expected, invalid type "${A}" found`)]:[new Ct(a,h,`projection expected, invalid array ${JSON.stringify(h)} found`)]},string:Qu,formatted:function(d){return Qu(d).length===0?[]:_c(d)},resolvedImage:function(d){return Qu(d).length===0?[]:_c(d)},padding:function(d){let a=d.key,h=d.value;if(Zo(h)==="array"){if(h.length<1||h.length>4)return[new Ct(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:"number"},C=[];for(let D=0;D[]}})),d.constants&&(h=h.concat(ng({key:"constants",value:d.constants}))),S(h)}function M(d){return function(a){return d(Object.assign({},a,{validateSpec:Yf}))}}function S(d){return[].concat(d).sort((a,h)=>a.line-h.line)}function L(d){return function(...a){return S(d.apply(this,a))}}w.source=L(M(Kh)),w.sprite=L(M(Du)),w.glyphs=L(M(Qh)),w.light=L(M(bh)),w.sky=L(M(Rp)),w.terrain=L(M(bf)),w.state=L(M(Bp)),w.layer=L(M(xh)),w.filter=L(M(_u)),w.paintProperty=L(M(xd)),w.layoutProperty=L(M(mm));let Y=wr,ie=w,ae=ie.light,ge=ie.sky,Pe=ie.paintProperty,Ue=ie.layoutProperty;function ct(d,a){let h=!1;if(a&&a.length)for(let A of a)d.fire(new bs(new Error(A.message))),h=!0;return h}class ft{constructor(a,h,A){let C=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let O=new Int32Array(this.arrayBuffer);a=O[0],this.d=(h=O[1])+2*(A=O[2]);for(let Z=0;Z=de[De+0]&&C>=de[De+1])?(H[Ee]=!0,O.push(ce[Ee])):H[Ee]=!1}}}}_forEachCell(a,h,A,C,D,O,H,Z){let re=this._convertToCellCoord(a),ce=this._convertToCellCoord(h),de=this._convertToCellCoord(A),we=this._convertToCellCoord(C);for(let Ee=re;Ee<=de;Ee++)for(let De=ce;De<=we;De++){let ke=this.d*De+Ee;if((!Z||Z(this._convertFromCellCoord(Ee),this._convertFromCellCoord(De),this._convertFromCellCoord(Ee+1),this._convertFromCellCoord(De+1)))&&D.call(this,a,h,A,C,ke,O,H,Z))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let O=0;O=0)continue;let O=d[D];C[D]=gt[h].shallow.indexOf(D)>=0?O:Zt(O,a)}d instanceof Error&&(C.message=d.message)}if(C.$name)throw new Error("$name property is reserved for worker serialization logic.");return h!=="Object"&&(C.$name=h),C}function ir(d){if(St(d))return d;if(Array.isArray(d))return d.map(ir);if(typeof d!="object")throw new Error("can't deserialize object of type "+typeof d);let a=Wt(d)||"Object";if(!gt[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=gt[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(d);let A=Object.create(h.prototype);for(let C of Object.keys(d)){if(C==="$name")continue;let D=d[C];A[C]=gt[a].shallow.indexOf(C)>=0?D:ir(D)}return A}class dr{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoom{try{return new RegExp(`\\p{sc=${h}}`,"u").source}catch{return null}}).filter(h=>h);return new RegExp(a.join("|"),"u")}let $i=Si(["Arab","Dupl","Mong","Ougr","Syrc"]);function bn(d){return!$i.test(String.fromCodePoint(d))}function Tn(d){return!(Lr(d)||(a=d,/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(a))));var a}let xn=Si(["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 zo(d){return xn.test(String.fromCodePoint(d))}function qi(d,a){return!(!a&&zo(d)||/[\u0900-\u0DFF\u0F00-\u109F\u1780-\u17FF]/gim.test(String.fromCodePoint(d)))}function Sn(d){for(let a of d)if(zo(a.codePointAt(0)))return!0;return!1}let $n=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(d){this.pluginStatus=d.pluginStatus,this.pluginURL=d.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(d){if($n.isParsed())throw new Error("RTL text plugin already registered.");this.applyArabicShaping=d.applyArabicShaping,this.processBidirectionalText=d.processBidirectionalText,this.processStyledBidirectionalText=d.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(d,a){return o(this,void 0,void 0,function*(){if(this.isParsed())return this.getState();if(d.pluginStatus!=="loading")return this.setState(d),d;let h=d.pluginURL,A=new Promise(D=>{this.loadScriptResolve=D});a(h);let C=new Promise(D=>setTimeout(()=>D(),this.TIMEOUT));if(yield Promise.race([A,C]),this.isParsed()){let D={pluginStatus:"loaded",pluginURL:h};return this.setState(D),D}throw this.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${h}`)})}};class Gi{constructor(a,h){this.isSupportedScript=Hn,this.zoom=a,h?(this.now=h.now||0,this.fadeDuration=h.fadeDuration||0,this.zoomHistory=h.zoomHistory||new dr,this.transition=h.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new dr,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}function Hn(d){return function(a,h){for(let A of a)if(!qi(A.codePointAt(0),h))return!1;return!0}(d,$n.getRTLTextPluginStatus()==="loaded")}let eo="-transition";class Dn{constructor(a,h,A){this.property=a,this.value=h,this.expression=function(C,D,O){if(vd(C))return new So(C,D);if(yh(C)){let H=gu(C,D,O);if(H.result==="error")throw new Error(H.value.map(Z=>`${Z.key}: ${Z.message}`).join(", "));return H.value}{let H=C;return D.type==="color"&&typeof C=="string"?H=Io.parse(C):D.type!=="padding"||typeof C!="number"&&!Array.isArray(C)?D.type!=="numberArray"||typeof C!="number"&&!Array.isArray(C)?D.type!=="colorArray"||typeof C!="string"&&!Array.isArray(C)?D.type==="variableAnchorOffsetCollection"&&Array.isArray(C)?H=sl.parse(C):D.type==="projectionDefinition"&&typeof C=="string"&&(H=vl.parse(C)):H=Zn.parse(C):H=_a.parse(C):H=Jl.parse(C),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>H}}}(h===void 0?a.specification.default:h,a.specification,A)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class Rn{constructor(a,h){this.property=a,this.value=new Dn(a,void 0,h)}transitioned(a,h){return new Ga(this.property,this.value,h,Ve({},a.transition,this.transition),a.now)}untransitioned(){return new Ga(this.property,this.value,null,{},0)}}class Il{constructor(a,h){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues),this._globalState=h}getValue(a){return Xr(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new Rn(this._values[a].property,this._globalState)),this._values[a].value=new Dn(this._values[a].property,h===null?void 0:Xr(h),this._globalState)}getTransition(a){return Xr(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new Rn(this._values[a].property,this._globalState)),this._values[a].transition=Xr(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let C=this.getTransition(h);C!==void 0&&(a[`${h}${eo}`]=C)}return a}transitioned(a,h){let A=new yc(this._properties);for(let C of Object.keys(this._values))A._values[C]=this._values[C].transitioned(a,h._values[C]);return A}untransitioned(){let a=new yc(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class Ga{constructor(a,h,A,C,D){this.property=a,this.value=h,this.begin=D+C.delay||0,this.end=this.begin+C.duration||0,a.specification.transition&&(C.delay||C.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let C=a.now||0,D=this.value.possiblyEvaluate(a,h,A),O=this.prior;if(O){if(C>this.end)return this.prior=null,D;if(this.value.isDataDriven())return this.prior=null,D;if(CC.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class jc{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,C){if(a.value!==void 0){if(a.expression.kind==="constant"){let D=a.expression.evaluate(h,null,{},A,C);return this._calculate(D,D,D,h)}return this._calculate(a.expression.evaluate(new Gi(Math.floor(h.zoom-1),h)),a.expression.evaluate(new Gi(Math.floor(h.zoom),h)),a.expression.evaluate(new Gi(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,C){return C.zoom>C.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Hc{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,C){return!!a.expression.evaluate(h,null,{},A,C)}interpolate(){return!1}}class Fa{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let C=this.defaultPropertyValues[h]=new Dn(A,void 0,void 0),D=this.defaultTransitionablePropertyValues[h]=new Rn(A,void 0);this.defaultTransitioningPropertyValues[h]=D.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=C.possiblyEvaluate({})}}}ut("DataDrivenProperty",_n),ut("DataConstantProperty",tn),ut("CrossFadedDataDrivenProperty",Ju),ut("CrossFadedProperty",jc),ut("ColorRampProperty",Hc);class Gc extends go{constructor(a,h,A){if(super(),this.id=a.id,this.type=a.type,this._globalState=A,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},a.type!=="custom"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!=="background"&&(this.source=a.source,this.sourceLayer=a["source-layer"],this.filter=a.filter,this._featureFilter=Pc(a.filter,A)),h.layout&&(this._unevaluatedLayout=new cl(h.layout,A)),h.paint)){this._transitionablePaint=new Il(h.paint,A);for(let C in a.paint)this.setPaintProperty(C,a.paint[C],{validate:!1});for(let C in a.layout)this.setLayoutProperty(C,a.layout[C],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ta(h.paint)}}setFilter(a){this.filter=a,this._featureFilter=Pc(a,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a==="visibility"?this.visibility:this._unevaluatedLayout.getValue(a)}getLayoutAffectingGlobalStateRefs(){let a=new Set;if(this._unevaluatedLayout)for(let h in this._unevaluatedLayout._values){let A=this._unevaluatedLayout._values[h];for(let C of A.getGlobalStateRefs())a.add(C)}for(let h of this._featureFilter.getGlobalStateRefs())a.add(h);return a}getPaintAffectingGlobalStateRefs(){var a;let h=new globalThis.Map;if(this._transitionablePaint)for(let A in this._transitionablePaint._values){let C=this._transitionablePaint._values[A].value;for(let D of C.getGlobalStateRefs()){let O=(a=h.get(D))!==null&&a!==void 0?a:[];O.push({name:A,value:C.value}),h.set(D,O)}}return h}setLayoutProperty(a,h,A={}){h!=null&&this._validate(Ue,`layers.${this.id}.layout.${a}`,a,h,A)||(a!=="visibility"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(eo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(Pe,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(eo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let C=this._transitionablePaint._values[a],D=C.property.specification["property-type"]==="cross-faded-data-driven",O=C.value.isDataDriven(),H=C.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let Z=this._transitionablePaint._values[a].value;return Z.isDataDriven()||O||D||this._handleOverridablePaintPropertyUpdate(a,H,Z)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a,h=!1){return!!(this.minzoom&&a<(h?Math.floor(this.minzoom):this.minzoom))||!!(this.maxzoom&&a>=this.maxzoom)||this.visibility==="none"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={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&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),mr(a,(h,A)=>!(h===void 0||A==="layout"&&!Object.keys(h).length||A==="paint"&&!Object.keys(h).length))}_validate(a,h,A,C,D={}){return(!D||D.validate!==!1)&&ct(this,a.call(ie,{key:h,layerType:this.type,objectKey:A,value:C,styleSpec:wr,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Vs&&kl(h.property.specification)&&(h.value.kind==="source"||h.value.kind==="composite")&&h.value.isStateDependent)return!0}return!1}}let bd;var wd={get paint(){return bd=bd||new Fa({"raster-opacity":new tn(wr.paint_raster["raster-opacity"]),"raster-hue-rotate":new tn(wr.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new tn(wr.paint_raster["raster-brightness-min"]),"raster-brightness-max":new tn(wr.paint_raster["raster-brightness-max"]),"raster-saturation":new tn(wr.paint_raster["raster-saturation"]),"raster-contrast":new tn(wr.paint_raster["raster-contrast"]),"raster-resampling":new tn(wr.paint_raster["raster-resampling"]),"raster-fade-duration":new tn(wr.paint_raster["raster-fade-duration"])})}};class Td extends Gc{constructor(a,h){super(a,wd,h)}}let Ou={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class iu{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Sa{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_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(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function na(d,a=1){let h=0,A=0;return{members:d.map(C=>{let D=Ou[C.type].BYTES_PER_ELEMENT,O=h=zl(h,Math.max(a,D)),H=C.components||1;return A=Math.max(A,D),h+=D*H,{name:C.name,type:C.type,components:H,offset:O}}),size:zl(h,Math.max(A,a)),alignment:a}}function zl(d,a){return Math.ceil(d/a)*a}class eh extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let C=2*a;return this.int16[C+0]=h,this.int16[C+1]=A,a}}eh.prototype.bytesPerElement=4,ut("StructArrayLayout2i4",eh);class Jh extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let C=this.length;return this.resize(C+1),this.emplace(C,a,h,A)}emplace(a,h,A,C){let D=3*a;return this.int16[D+0]=h,this.int16[D+1]=A,this.int16[D+2]=C,a}}Jh.prototype.bytesPerElement=6,ut("StructArrayLayout3i6",Jh);class Ul extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,C)}emplace(a,h,A,C,D){let O=4*a;return this.int16[O+0]=h,this.int16[O+1]=A,this.int16[O+2]=C,this.int16[O+3]=D,a}}Ul.prototype.bytesPerElement=8,ut("StructArrayLayout4i8",Ul);class _s extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O){let H=this.length;return this.resize(H+1),this.emplace(H,a,h,A,C,D,O)}emplace(a,h,A,C,D,O,H){let Z=6*a;return this.int16[Z+0]=h,this.int16[Z+1]=A,this.int16[Z+2]=C,this.int16[Z+3]=D,this.int16[Z+4]=O,this.int16[Z+5]=H,a}}_s.prototype.bytesPerElement=12,ut("StructArrayLayout2i4i12",_s);class yu extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O){let H=this.length;return this.resize(H+1),this.emplace(H,a,h,A,C,D,O)}emplace(a,h,A,C,D,O,H){let Z=4*a,re=8*a;return this.int16[Z+0]=h,this.int16[Z+1]=A,this.uint8[re+4]=C,this.uint8[re+5]=D,this.uint8[re+6]=O,this.uint8[re+7]=H,a}}yu.prototype.bytesPerElement=8,ut("StructArrayLayout2i4ub8",yu);class Ml extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let C=2*a;return this.float32[C+0]=h,this.float32[C+1]=A,a}}Ml.prototype.bytesPerElement=8,ut("StructArrayLayout2f8",Ml);class ef extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O,H,Z,re,ce){let de=this.length;return this.resize(de+1),this.emplace(de,a,h,A,C,D,O,H,Z,re,ce)}emplace(a,h,A,C,D,O,H,Z,re,ce,de){let we=10*a;return this.uint16[we+0]=h,this.uint16[we+1]=A,this.uint16[we+2]=C,this.uint16[we+3]=D,this.uint16[we+4]=O,this.uint16[we+5]=H,this.uint16[we+6]=Z,this.uint16[we+7]=re,this.uint16[we+8]=ce,this.uint16[we+9]=de,a}}ef.prototype.bytesPerElement=20,ut("StructArrayLayout10ui20",ef);class t0 extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O,H,Z){let re=this.length;return this.resize(re+1),this.emplace(re,a,h,A,C,D,O,H,Z)}emplace(a,h,A,C,D,O,H,Z,re){let ce=8*a;return this.uint16[ce+0]=h,this.uint16[ce+1]=A,this.uint16[ce+2]=C,this.uint16[ce+3]=D,this.uint16[ce+4]=O,this.uint16[ce+5]=H,this.uint16[ce+6]=Z,this.uint16[ce+7]=re,a}}t0.prototype.bytesPerElement=16,ut("StructArrayLayout8ui16",t0);class Lp extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O,H,Z,re,ce,de,we){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,a,h,A,C,D,O,H,Z,re,ce,de,we)}emplace(a,h,A,C,D,O,H,Z,re,ce,de,we,Ee){let De=12*a;return this.int16[De+0]=h,this.int16[De+1]=A,this.int16[De+2]=C,this.int16[De+3]=D,this.uint16[De+4]=O,this.uint16[De+5]=H,this.uint16[De+6]=Z,this.uint16[De+7]=re,this.int16[De+8]=ce,this.int16[De+9]=de,this.int16[De+10]=we,this.int16[De+11]=Ee,a}}Lp.prototype.bytesPerElement=24,ut("StructArrayLayout4i4ui4i24",Lp);class th extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let C=this.length;return this.resize(C+1),this.emplace(C,a,h,A)}emplace(a,h,A,C){let D=3*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=C,a}}th.prototype.bytesPerElement=12,ut("StructArrayLayout3f12",th);class Kf extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}Kf.prototype.bytesPerElement=4,ut("StructArrayLayout1ul4",Kf);class wf extends Sa{_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(a,h,A,C,D,O,H,Z,re){let ce=this.length;return this.resize(ce+1),this.emplace(ce,a,h,A,C,D,O,H,Z,re)}emplace(a,h,A,C,D,O,H,Z,re,ce){let de=10*a,we=5*a;return this.int16[de+0]=h,this.int16[de+1]=A,this.int16[de+2]=C,this.int16[de+3]=D,this.int16[de+4]=O,this.int16[de+5]=H,this.uint32[we+3]=Z,this.uint16[de+8]=re,this.uint16[de+9]=ce,a}}wf.prototype.bytesPerElement=20,ut("StructArrayLayout6i1ul2ui20",wf);class tf extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O){let H=this.length;return this.resize(H+1),this.emplace(H,a,h,A,C,D,O)}emplace(a,h,A,C,D,O,H){let Z=6*a;return this.int16[Z+0]=h,this.int16[Z+1]=A,this.int16[Z+2]=C,this.int16[Z+3]=D,this.int16[Z+4]=O,this.int16[Z+5]=H,a}}tf.prototype.bytesPerElement=12,ut("StructArrayLayout2i2i2i12",tf);class Tf extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D){let O=this.length;return this.resize(O+1),this.emplace(O,a,h,A,C,D)}emplace(a,h,A,C,D,O){let H=4*a,Z=8*a;return this.float32[H+0]=h,this.float32[H+1]=A,this.float32[H+2]=C,this.int16[Z+6]=D,this.int16[Z+7]=O,a}}Tf.prototype.bytesPerElement=16,ut("StructArrayLayout2f1f2i16",Tf);class og extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,C,D,O){let H=this.length;return this.resize(H+1),this.emplace(H,a,h,A,C,D,O)}emplace(a,h,A,C,D,O,H){let Z=16*a,re=4*a,ce=8*a;return this.uint8[Z+0]=h,this.uint8[Z+1]=A,this.float32[re+1]=C,this.float32[re+2]=D,this.int16[ce+6]=O,this.int16[ce+7]=H,a}}og.prototype.bytesPerElement=16,ut("StructArrayLayout2ub2f2i16",og);class Fu extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let C=this.length;return this.resize(C+1),this.emplace(C,a,h,A)}emplace(a,h,A,C){let D=3*a;return this.uint16[D+0]=h,this.uint16[D+1]=A,this.uint16[D+2]=C,a}}Fu.prototype.bytesPerElement=6,ut("StructArrayLayout3ui6",Fu);class Vl extends Sa{_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(a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st){let kt=this.length;return this.resize(kt+1),this.emplace(kt,a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st)}emplace(a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st,kt){let pt=24*a,_t=12*a,Ht=48*a;return this.int16[pt+0]=h,this.int16[pt+1]=A,this.uint16[pt+2]=C,this.uint16[pt+3]=D,this.uint32[_t+2]=O,this.uint32[_t+3]=H,this.uint32[_t+4]=Z,this.uint16[pt+10]=re,this.uint16[pt+11]=ce,this.uint16[pt+12]=de,this.float32[_t+7]=we,this.float32[_t+8]=Ee,this.uint8[Ht+36]=De,this.uint8[Ht+37]=ke,this.uint8[Ht+38]=qe,this.uint32[_t+10]=st,this.int16[pt+22]=kt,a}}Vl.prototype.bytesPerElement=48,ut("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Vl);class M_ extends Sa{_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(a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st,kt,pt,_t,Ht,Qt,Ir,oi,Kr,gi,ji,vi){let Qr=this.length;return this.resize(Qr+1),this.emplace(Qr,a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st,kt,pt,_t,Ht,Qt,Ir,oi,Kr,gi,ji,vi)}emplace(a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke,qe,st,kt,pt,_t,Ht,Qt,Ir,oi,Kr,gi,ji,vi,Qr){let jr=32*a,dn=16*a;return this.int16[jr+0]=h,this.int16[jr+1]=A,this.int16[jr+2]=C,this.int16[jr+3]=D,this.int16[jr+4]=O,this.int16[jr+5]=H,this.int16[jr+6]=Z,this.int16[jr+7]=re,this.uint16[jr+8]=ce,this.uint16[jr+9]=de,this.uint16[jr+10]=we,this.uint16[jr+11]=Ee,this.uint16[jr+12]=De,this.uint16[jr+13]=ke,this.uint16[jr+14]=qe,this.uint16[jr+15]=st,this.uint16[jr+16]=kt,this.uint16[jr+17]=pt,this.uint16[jr+18]=_t,this.uint16[jr+19]=Ht,this.uint16[jr+20]=Qt,this.uint16[jr+21]=Ir,this.uint16[jr+22]=oi,this.uint32[dn+12]=Kr,this.float32[dn+13]=gi,this.float32[dn+14]=ji,this.uint16[jr+30]=vi,this.uint16[jr+31]=Qr,a}}M_.prototype.bytesPerElement=64,ut("StructArrayLayout8i15ui1ul2f2ui64",M_);class sg extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}sg.prototype.bytesPerElement=4,ut("StructArrayLayout1f4",sg);class gm extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let C=this.length;return this.resize(C+1),this.emplace(C,a,h,A)}emplace(a,h,A,C){let D=3*a;return this.uint16[6*a+0]=h,this.float32[D+1]=A,this.float32[D+2]=C,a}}gm.prototype.bytesPerElement=12,ut("StructArrayLayout1ui2f12",gm);class P_ extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let C=this.length;return this.resize(C+1),this.emplace(C,a,h,A)}emplace(a,h,A,C){let D=4*a;return this.uint32[2*a+0]=h,this.uint16[D+2]=A,this.uint16[D+3]=C,a}}P_.prototype.bytesPerElement=8,ut("StructArrayLayout1ul2ui8",P_);class R_ extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let C=2*a;return this.uint16[C+0]=h,this.uint16[C+1]=A,a}}R_.prototype.bytesPerElement=4,ut("StructArrayLayout2ui4",R_);class tA extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}tA.prototype.bytesPerElement=2,ut("StructArrayLayout1ui2",tA);class r0 extends Sa{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,C){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,C)}emplace(a,h,A,C,D){let O=4*a;return this.float32[O+0]=h,this.float32[O+1]=A,this.float32[O+2]=C,this.float32[O+3]=D,a}}r0.prototype.bytesPerElement=16,ut("StructArrayLayout4f16",r0);class z extends iu{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 s(this.anchorPointX,this.anchorPointY)}}z.prototype.size=20;class l extends wf{get(a){return new z(this,a)}}ut("CollisionBoxArray",l);class m extends iu{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(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}m.prototype.size=48;class T extends Vl{get(a){return new m(this,a)}}ut("PlacedSymbolArray",T);class P extends iu{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(a){this._structArray.uint32[this._pos4+12]=a}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]}}P.prototype.size=64;class V extends M_{get(a){return new P(this,a)}}ut("SymbolInstanceArray",V);class W extends sg{getoffsetX(a){return this.float32[1*a+0]}}ut("GlyphOffsetArray",W);class te extends Jh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}ut("SymbolLineVertexArray",te);class se extends iu{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]}}se.prototype.size=12;class fe extends gm{get(a){return new se(this,a)}}ut("TextAnchorOffsetArray",fe);class ye extends iu{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]}}ye.prototype.size=8;class Re extends P_{get(a){return new ye(this,a)}}ut("FeatureIndexArray",Re);class Me extends eh{}class je extends eh{}class tt extends eh{}class yt extends _s{}class At extends yu{}class vt extends Ml{}class Lt extends ef{}class Kt extends t0{}class It extends Lp{}class Xt extends th{}class Rt extends Kf{}class zt extends tf{}class jt extends og{}class br extends Fu{}class Cr extends R_{}let Rr=na([{name:"a_pos",components:2,type:"Int16"}],4),{members:Pr}=Rr;class Ai{constructor(a=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=a}prepareSegment(a,h,A,C){let D=this.segments[this.segments.length-1];return a>Ai.MAX_VERTEX_ARRAY_LENGTH&&ln(`Max vertices per segment is ${Ai.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${Ai.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!D||D.vertexLength+a>Ai.MAX_VERTEX_ARRAY_LENGTH||D.sortKey!==C?this.createNewSegment(h,A,C):D}createNewSegment(a,h,A){let C={vertexOffset:a.length,primitiveOffset:h.length,vertexLength:0,primitiveLength:0,vaos:{}};return A!==void 0&&(C.sortKey=A),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(C),C}getOrCreateLatestSegment(a,h,A){return this.prepareSegment(0,a,h,A)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,C){return new Ai([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:C,vaos:{},sortKey:0}])}}function _i(d,a){return 256*(d=ii(Math.floor(d),0,255))+ii(Math.floor(a),0,255)}Ai.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,ut("SegmentVector",Ai);let hi=na([{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"}]),hn=na([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]);var fo,$r,di,oa={exports:{}},Ja={exports:{}},ya={exports:{}},jl=function(){if(di)return oa.exports;di=1;var d=(fo||(fo=1,Ja.exports=function(h,A){var C,D,O,H,Z,re,ce,de;for(D=h.length-(C=3&h.length),O=A,Z=3432918353,re=461845907,de=0;de>>16)*Z&65535)<<16)&4294967295)<<15|ce>>>17))*re+(((ce>>>16)*re&65535)<<16)&4294967295)<<13|O>>>19))+((5*(O>>>16)&65535)<<16)&4294967295))+((58964+(H>>>16)&65535)<<16);switch(ce=0,C){case 3:ce^=(255&h.charCodeAt(de+2))<<16;case 2:ce^=(255&h.charCodeAt(de+1))<<8;case 1:O^=ce=(65535&(ce=(ce=(65535&(ce^=255&h.charCodeAt(de)))*Z+(((ce>>>16)*Z&65535)<<16)&4294967295)<<15|ce>>>17))*re+(((ce>>>16)*re&65535)<<16)&4294967295}return O^=h.length,O=2246822507*(65535&(O^=O>>>16))+((2246822507*(O>>>16)&65535)<<16)&4294967295,O=3266489909*(65535&(O^=O>>>13))+((3266489909*(O>>>16)&65535)<<16)&4294967295,(O^=O>>>16)>>>0}),Ja.exports),a=($r||($r=1,ya.exports=function(h,A){for(var C,D=h.length,O=A^D,H=0;D>=4;)C=1540483477*(65535&(C=255&h.charCodeAt(H)|(255&h.charCodeAt(++H))<<8|(255&h.charCodeAt(++H))<<16|(255&h.charCodeAt(++H))<<24))+((1540483477*(C>>>16)&65535)<<16),O=1540483477*(65535&O)+((1540483477*(O>>>16)&65535)<<16)^(C=1540483477*(65535&(C^=C>>>24))+((1540483477*(C>>>16)&65535)<<16)),D-=4,++H;switch(D){case 3:O^=(255&h.charCodeAt(H+2))<<16;case 2:O^=(255&h.charCodeAt(H+1))<<8;case 1:O=1540483477*(65535&(O^=255&h.charCodeAt(H)))+((1540483477*(O>>>16)&65535)<<16)}return O=1540483477*(65535&(O^=O>>>13))+((1540483477*(O>>>16)&65535)<<16),(O^=O>>>15)>>>0}),ya.exports);return oa.exports=d,oa.exports.murmur3=d,oa.exports.murmur2=a,oa.exports}(),qs=c(jl);class Wa{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,C){this.ids.push(Hl(a)),this.positions.push(h,A,C)}getPositions(a){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let h=Hl(a),A=0,C=this.ids.length-1;for(;A>1;this.ids[O]>=h?C=O:A=O+1}let D=[];for(;this.ids[A]===h;)D.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return D}static serialize(a,h){let A=new Float64Array(a.ids),C=new Uint32Array(a.positions);return Ea(A,C,0,A.length-1),h&&h.push(A.buffer,C.buffer),{ids:A,positions:C}}static deserialize(a){let h=new Wa;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function Hl(d){let a=+d;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:qs(String(d))}function Ea(d,a,h,A){for(;h>1],D=h-1,O=A+1;for(;;){do D++;while(d[D]C);if(D>=O)break;v(d,D,O),v(a,3*D,3*O),v(a,3*D+1,3*O+1),v(a,3*D+2,3*O+2)}O-h`u_${C}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type==="color"?new N(a,h):new E(a,h)}}class ue{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setConstantDashPositions(a,h){this.dashTo=[0,a.y,a.height,a.width],this.dashFrom=[0,h.y,h.height,h.width]}setUniform(a,h,A,C){let D=null;C==="u_pattern_to"?D=this.patternTo:C==="u_pattern_from"?D=this.patternFrom:C==="u_dasharray_to"?D=this.dashTo:C==="u_dasharray_from"?D=this.dashFrom:C==="u_pixel_ratio_to"?D=this.pixelRatioTo:C==="u_pixel_ratio_from"&&(D=this.pixelRatioFrom),D!==null&&a.set(D)}getBinding(a,h,A){return A.substr(0,9)==="u_pattern"||A.substr(0,12)==="u_dasharray_"?new B(a,h):new E(a,h)}}class Ae{constructor(a,h,A,C){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:"Float32",components:A==="color"?2:1,offset:0})),this.paintVertexArray=new C}populatePaintArray(a,h,A){let C=this.paintVertexArray.length,D=this.expression.evaluate(new Gi(0,A),h,{},A.canonical,[],A.formattedSection);this.paintVertexArray.resize(a),this._setPaintValue(C,a,D)}updatePaintArray(a,h,A,C,D){let O=this.expression.evaluate(new Gi(0,D),A,C);this._setPaintValue(a,h,O)}_setPaintValue(a,h,A){if(this.type==="color"){let C=X(A);for(let D=a;D`u_${H}_t`),this.type=A,this.useIntegerZoom=C,this.zoom=D,this.maxValue=0,this.paintVertexAttributes=h.map(H=>({name:`a_${H}`,type:"Float32",components:A==="color"?4:2,offset:0})),this.paintVertexArray=new O}populatePaintArray(a,h,A){let C=this.expression.evaluate(new Gi(this.zoom,A),h,{},A.canonical,[],A.formattedSection),D=this.expression.evaluate(new Gi(this.zoom+1,A),h,{},A.canonical,[],A.formattedSection),O=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(O,a,C,D)}updatePaintArray(a,h,A,C,D){let O=this.expression.evaluate(new Gi(this.zoom,D),A,C),H=this.expression.evaluate(new Gi(this.zoom+1,D),A,C);this._setPaintValue(a,h,O,H)}_setPaintValue(a,h,A,C){if(this.type==="color"){let D=X(A),O=X(C);for(let H=a;H`#define HAS_UNIFORM_${C}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof Ae||A instanceof Te)for(let C=0;C!0){this.programConfigurations={};for(let C of a)this.programConfigurations[C.id]=new Tt(C,h,A);this.needsUpload=!1,this._featureMap=new Wa,this._bufferOffset=0}populatePaintArrays(a,h,A,C){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,C);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,C){for(let D of A)this.needsUpload=this.programConfigurations[D.id].updatePaintArrays(a,this._featureMap,h,D,C)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Ar(d,a){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-dasharray":["dasharray_to","dasharray_from"],"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"]}[d]||[d.replace(`${a}-`,"").replace(/-/g,"_")]}function qr(d,a,h){let A={color:{source:Ml,composite:r0},number:{source:sg,composite:Ml}},C=function(D){return{"line-pattern":{source:Lt,composite:Lt},"fill-pattern":{source:Lt,composite:Lt},"fill-extrusion-pattern":{source:Lt,composite:Lt},"line-dasharray":{source:Kt,composite:Kt}}[D]}(d);return C&&C[h]||A[a][h]}ut("ConstantBinder",Q),ut("CrossFadedConstantBinder",ue),ut("SourceExpressionBinder",Ae),ut("CrossFadedPatternBinder",bt),ut("CrossFadedDasharrayBinder",wt),ut("CompositeExpressionBinder",Te),ut("ProgramConfiguration",Tt,{omit:["_buffers"]}),ut("ProgramConfigurationSet",er);let _r=Math.pow(2,14)-1,Sr=-_r-1;function or(d){let a=hr/d.extent,h=d.loadGeometry();for(let A=0;AO.x+1||ZO.y+1)&&ln("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return h}function Pi(d,a){return{type:d.type,id:d.id,properties:d.properties,geometry:a?or(d):[]}}let En=-32768;function wn(d,a,h,A,C){d.emplaceBack(En+8*a+A,En+8*h+C)}class vo{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasDependencies=!1,this.layoutVertexArray=new je,this.indexArray=new br,this.segments=new Ai,this.programConfigurations=new er(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let C=this.layers[0],D=[],O=null,H=!1,Z=C.type==="heatmap";if(C.type==="circle"){let ce=C;O=ce.layout.get("circle-sort-key"),H=!O.isConstant(),Z=Z||ce.paint.get("circle-pitch-alignment")==="map"}let re=Z?h.subdivisionGranularity.circle:1;for(let{feature:ce,id:de,index:we,sourceLayerIndex:Ee}of a){let De=this.layers[0]._featureFilter.needGeometry,ke=Pi(ce,De);if(!this.layers[0]._featureFilter.filter(new Gi(this.zoom),ke,A))continue;let qe=H?O.evaluate(ke,{},A):void 0,st={id:de,properties:ce.properties,type:ce.type,sourceLayerIndex:Ee,index:we,geometry:De?ke.geometry:or(ce),patterns:{},sortKey:qe};D.push(st)}H&&D.sort((ce,de)=>ce.sortKey-de.sortKey);for(let ce of D){let{geometry:de,index:we,sourceLayerIndex:Ee}=ce,De=a[we].feature;this.addFeature(ce,de,we,A,re),h.featureIndex.insert(De,de,we,Ee,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,{imagePositions:A})}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,Pr),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,C,D=1){let O;switch(D){case 1:O=[0,7];break;case 3:O=[0,2,5,7];break;case 5:O=[0,1,3,4,6,7];break;case 7:O=[0,1,2,3,4,5,6,7];break;default:throw new Error(`Invalid circle bucket granularity: ${D}; valid values are 1, 3, 5, 7.`)}let H=O.length;for(let Z of h)for(let re of Z){let ce=re.x,de=re.y;if(ce<0||ce>=hr||de<0||de>=hr)continue;let we=this.segments.prepareSegment(H*H,this.layoutVertexArray,this.indexArray,a.sortKey),Ee=we.vertexLength;for(let De=0;De1){if(Oi(d,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(C)._add(a))}function va(d,a){let h,A,C,D=!1;for(let O=0;Oa.y!=C.y>a.y&&a.x<(C.x-A.x)*(a.y-A.y)/(C.y-A.y)+A.x&&(D=!D)}return D}function Bo(d,a){let h=!1;for(let A=0,C=d.length-1;Aa.y!=O.y>a.y&&a.x<(O.x-D.x)*(a.y-D.y)/(O.y-D.y)+D.x&&(h=!h)}return h}function ib(d,a,h){let A=h[0],C=h[2];if(d.xC.x&&a.x>C.x||d.yC.y&&a.y>C.y)return!1;let D=Nn(d,a,h[0]);return D!==Nn(d,a,h[1])||D!==Nn(d,a,h[2])||D!==Nn(d,a,h[3])}function Sd(d,a,h){let A=a.paint.get(d).value;return A.kind==="constant"?A.value:h.programConfigurations.get(a.id).getMaxValue(d)}function i0(d){return Math.sqrt(d[0]*d[0]+d[1]*d[1])}function nb(d,a,h,A,C){if(!a[0]&&!a[1])return d;let D=s.convert(a)._mult(C);h==="viewport"&&D._rotate(-A);let O=[];for(let H=0;HHC(pt,qe,st,kt))}(re,D,H,Z),De=ce),NL({queryGeometry:Ee,size:De,transform:D,unwrappedTileID:H,getElevation:Z,pitchAlignment:we,pitchScale:de},C)}}class GC extends vo{}let VL;ut("HeatmapBucket",GC,{omit:["layers"]});var h8={get paint(){return VL=VL||new Fa({"heatmap-radius":new _n(wr.paint_heatmap["heatmap-radius"]),"heatmap-weight":new _n(wr.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new tn(wr.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Hc(wr.paint_heatmap["heatmap-color"]),"heatmap-opacity":new tn(wr.paint_heatmap["heatmap-opacity"])})}};function WC(d,{width:a,height:h},A,C){if(C){if(C instanceof Uint8ClampedArray)C=new Uint8Array(C.buffer);else if(C.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${C.length} but got: ${a*h*A}`)}else C=new Uint8Array(a*h*A);return d.width=a,d.height=h,d.data=C,d}function qC(d,{width:a,height:h},A){if(a===d.width&&h===d.height)return;let C=WC({},{width:a,height:h},A);uv(d,C,{x:0,y:0},{x:0,y:0},{width:Math.min(d.width,a),height:Math.min(d.height,h)},A),d.width=a,d.height=h,d.data=C.data}function uv(d,a,h,A,C,D){if(C.width===0||C.height===0)return a;if(C.width>d.width||C.height>d.height||h.x>d.width-C.width||h.y>d.height-C.height)throw new RangeError("out of range source coordinates for image copy");if(C.width>a.width||C.height>a.height||A.x>a.width-C.width||A.y>a.height-C.height)throw new RangeError("out of range destination coordinates for image copy");let O=d.data,H=a.data;if(O===H)throw new Error("srcData equals dstData, so image is already copied");for(let Z=0;Z{a[d.evaluationKey]=Z;let re=d.expression.evaluate(a);C.setPixel(O/4/h,H/4,re)};if(d.clips)for(let O=0,H=0;Othis.max&&(this.max=de),de=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}pack(a){return A2(a,this.getUnpackVector())}getPixels(){return new rh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error("dem dimension mismatch");let C=h*this.dim,D=h*this.dim+this.dim,O=A*this.dim,H=A*this.dim+this.dim;switch(h){case-1:C=D-1;break;case 1:D=C+1}switch(A){case-1:O=H-1;break;case 1:H=O+1}let Z=-h*this.dim,re=-A*this.dim;for(let ce=O;ce0)for(let O=a;O=a;O-=A)D=JC(O/A|0,d[O],d[O+1],D);return D&&Am(D,D.next)&&(B_(D),D=D.next),D}function iA(d,a){if(!d)return d;a||(a=d);let h,A=d;do if(h=!1,A.steiner||!Am(A,A.next)&&rc(A.prev,A,A.next)!==0)A=A.next;else{if(B_(A),A=a=A.prev,A===A.next)break;h=!0}while(h||A!==a);return a}function ab(d,a,h,A,C,D,O){if(!d)return;!O&&D&&function(Z,re,ce,de){let we=Z;do we.z===0&&(we.z=_2(we.x,we.y,re,ce,de)),we.prevZ=we.prev,we.nextZ=we.next,we=we.next;while(we!==Z);we.prevZ.nextZ=null,we.prevZ=null,function(Ee){let De,ke=1;do{let qe,st=Ee;Ee=null;let kt=null;for(De=0;st;){De++;let pt=st,_t=0;for(let Qt=0;Qt0||Ht>0&&pt;)_t!==0&&(Ht===0||!pt||st.z<=pt.z)?(qe=st,st=st.nextZ,_t--):(qe=pt,pt=pt.nextZ,Ht--),kt?kt.nextZ=qe:Ee=qe,qe.prevZ=kt,kt=qe;st=pt}kt.nextZ=null,ke*=2}while(De>1)}(we)}(d,A,C,D);let H=d;for(;d.prev!==d.next;){let Z=d.prev,re=d.next;if(D?qL(d,A,C,D):WL(d))a.push(Z.i,d.i,re.i),B_(d),d=re.next,H=re.next;else if((d=re)===H){O?O===1?ab(d=$L(iA(d),a),a,h,A,C,D,2):O===2&&XL(d,a,h,A,C,D):ab(iA(d),a,h,A,C,D,1);break}}}function WL(d){let a=d.prev,h=d,A=d.next;if(rc(a,h,A)>=0)return!1;let C=a.x,D=h.x,O=A.x,H=a.y,Z=h.y,re=A.y,ce=Math.min(C,D,O),de=Math.min(H,Z,re),we=Math.max(C,D,O),Ee=Math.max(H,Z,re),De=A.next;for(;De!==a;){if(De.x>=ce&&De.x<=we&&De.y>=de&&De.y<=Ee&&nA(C,H,D,Z,O,re,De.x,De.y)&&rc(De.prev,De,De.next)>=0)return!1;De=De.next}return!0}function qL(d,a,h,A){let C=d.prev,D=d,O=d.next;if(rc(C,D,O)>=0)return!1;let H=C.x,Z=D.x,re=O.x,ce=C.y,de=D.y,we=O.y,Ee=Math.min(H,Z,re),De=Math.min(ce,de,we),ke=Math.max(H,Z,re),qe=Math.max(ce,de,we),st=_2(Ee,De,a,h,A),kt=_2(ke,qe,a,h,A),pt=d.prevZ,_t=d.nextZ;for(;pt&&pt.z>=st&&_t&&_t.z<=kt;){if(pt.x>=Ee&&pt.x<=ke&&pt.y>=De&&pt.y<=qe&&pt!==C&&pt!==O&&nA(H,ce,Z,de,re,we,pt.x,pt.y)&&rc(pt.prev,pt,pt.next)>=0||(pt=pt.prevZ,_t.x>=Ee&&_t.x<=ke&&_t.y>=De&&_t.y<=qe&&_t!==C&&_t!==O&&nA(H,ce,Z,de,re,we,_t.x,_t.y)&&rc(_t.prev,_t,_t.next)>=0))return!1;_t=_t.nextZ}for(;pt&&pt.z>=st;){if(pt.x>=Ee&&pt.x<=ke&&pt.y>=De&&pt.y<=qe&&pt!==C&&pt!==O&&nA(H,ce,Z,de,re,we,pt.x,pt.y)&&rc(pt.prev,pt,pt.next)>=0)return!1;pt=pt.prevZ}for(;_t&&_t.z<=kt;){if(_t.x>=Ee&&_t.x<=ke&&_t.y>=De&&_t.y<=qe&&_t!==C&&_t!==O&&nA(H,ce,Z,de,re,we,_t.x,_t.y)&&rc(_t.prev,_t,_t.next)>=0)return!1;_t=_t.nextZ}return!0}function $L(d,a){let h=d;do{let A=h.prev,C=h.next.next;!Am(A,C)&&YL(A,h,h.next,C)&&ag(A,C)&&ag(C,A)&&(a.push(A.i,h.i,C.i),B_(h),B_(h.next),h=d=C),h=h.next}while(h!==d);return iA(h)}function XL(d,a,h,A,C,D){let O=d;do{let H=O.next.next;for(;H!==O.prev;){if(O.i!==H.i&&v2(O,H)){let Z=w2(O,H);return O=iA(O,O.next),Z=iA(Z,Z.next),ab(O,a,h,A,C,D,0),void ab(Z,a,h,A,C,D,0)}H=H.next}O=O.next}while(O!==d)}function d8(d,a){let h=d.x-a.x;return h===0&&(h=d.y-a.y,h===0)&&(h=(d.next.y-d.y)/(d.next.x-d.x)-(a.next.y-a.y)/(a.next.x-a.x)),h}function p8(d,a){let h=function(C,D){let O=D,H=C.x,Z=C.y,re,ce=-1/0;if(Am(C,O))return O;do{if(Am(C,O.next))return O.next;if(Z<=O.y&&Z>=O.next.y&&O.next.y!==O.y){let ke=O.x+(Z-O.y)*(O.next.x-O.x)/(O.next.y-O.y);if(ke<=H&&ke>ce&&(ce=ke,re=O.x=O.x&&O.x>=we&&H!==O.x&&QC(Zre.x||O.x===re.x&&ZL(re,O)))&&(re=O,De=ke)}O=O.next}while(O!==de);return re}(d,a);if(!h)return a;let A=w2(h,d);return iA(A,A.next),iA(h,h.next)}function ZL(d,a){return rc(d.prev,d,a.prev)<0&&rc(a.next,d,d.next)<0}function _2(d,a,h,A,C){return(d=1431655765&((d=858993459&((d=252645135&((d=16711935&((d=(d-h)*C|0)|d<<8))|d<<4))|d<<2))|d<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*C|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function y2(d){let a=d,h=d;do(a.x=(d-O)*(D-H)&&(d-O)*(A-H)>=(h-O)*(a-H)&&(h-O)*(D-H)>=(C-O)*(A-H)}function nA(d,a,h,A,C,D,O,H){return!(d===O&&a===H)&&QC(d,a,h,A,C,D,O,H)}function v2(d,a){return d.next.i!==a.i&&d.prev.i!==a.i&&!function(h,A){let C=h;do{if(C.i!==h.i&&C.next.i!==h.i&&C.i!==A.i&&C.next.i!==A.i&&YL(C,C.next,h,A))return!0;C=C.next}while(C!==h);return!1}(d,a)&&(ag(d,a)&&ag(a,d)&&function(h,A){let C=h,D=!1,O=(h.x+A.x)/2,H=(h.y+A.y)/2;do C.y>H!=C.next.y>H&&C.next.y!==C.y&&O<(C.next.x-C.x)*(H-C.y)/(C.next.y-C.y)+C.x&&(D=!D),C=C.next;while(C!==h);return D}(d,a)&&(rc(d.prev,d,a.prev)||rc(d,a.prev,a))||Am(d,a)&&rc(d.prev,d,d.next)>0&&rc(a.prev,a,a.next)>0)}function rc(d,a,h){return(a.y-d.y)*(h.x-a.x)-(a.x-d.x)*(h.y-a.y)}function Am(d,a){return d.x===a.x&&d.y===a.y}function YL(d,a,h,A){let C=b2(rc(d,a,h)),D=b2(rc(d,a,A)),O=b2(rc(h,A,d)),H=b2(rc(h,A,a));return C!==D&&O!==H||!(C!==0||!x2(d,h,a))||!(D!==0||!x2(d,A,a))||!(O!==0||!x2(h,d,A))||!(H!==0||!x2(h,a,A))}function x2(d,a,h){return a.x<=Math.max(d.x,h.x)&&a.x>=Math.min(d.x,h.x)&&a.y<=Math.max(d.y,h.y)&&a.y>=Math.min(d.y,h.y)}function b2(d){return d>0?1:d<0?-1:0}function ag(d,a){return rc(d.prev,d,d.next)<0?rc(d,a,d.next)>=0&&rc(d,d.prev,a)>=0:rc(d,a,d.prev)<0||rc(d,d.next,a)<0}function w2(d,a){let h=T2(d.i,d.x,d.y),A=T2(a.i,a.x,a.y),C=d.next,D=a.prev;return d.next=a,a.prev=d,h.next=C,C.prev=h,A.next=h,h.prev=A,D.next=A,A.prev=D,A}function JC(d,a,h,A){let C=T2(d,a,h);return A?(C.next=A.next,C.prev=A,A.next.prev=C,A.next=C):(C.prev=C,C.next=C),C}function B_(d){d.next.prev=d.prev,d.prev.next=d.next,d.prevZ&&(d.prevZ.nextZ=d.nextZ),d.nextZ&&(d.nextZ.prevZ=d.prevZ)}function T2(d,a,h){return{i:d,x:a,y:h,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class L_{constructor(a,h){if(h>a)throw new Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=a,this._minGranularity=h}getGranularityForZoomLevel(a){return Math.max(Math.floor(this._baseZoomGranularity/(1<32767||h>32767)throw new Error("Vertex coordinates are out of signed 16 bit integer range.");let A=0|Math.round(a),C=0|Math.round(h),D=this._getKey(A,C);if(this._vertexDictionary.has(D))return this._vertexDictionary.get(D);let O=this._vertexBuffer.length/2;return this._vertexDictionary.set(D,O),this._vertexBuffer.push(A,C),O}_subdivideTrianglesScanline(a){if(this._granularity<2)return function(C,D){let O=[];for(let H=0;H0?(O.push(Z),O.push(ce),O.push(re)):(O.push(Z),O.push(re),O.push(ce))}return O}(this._vertexBuffer,a);let h=[],A=a.length;for(let C=0;C=1||Ht<=0)||st&&(reD)){de>=C&&de<=D&&O.push(A[(H+1)%3]);continue}!st&&_t>0&&O.push(this._vertexToIndex(Z+De*_t,re+ke*_t));let Qt=Z+De*Math.max(_t,0),Ir=Z+De*Math.min(Ht,1);qe||this._generateIntraEdgeVertices(O,Z,re,ce,de,Qt,Ir),!st&&Ht<1&&O.push(this._vertexToIndex(Z+De*Ht,re+ke*Ht)),(st||de>=C&&de<=D)&&O.push(A[(H+1)%3]),!st&&(de<=C||de>=D)&&this._generateInterEdgeVertices(O,Z,re,ce,de,we,Ee,Ir,C,D)}return O}_generateIntraEdgeVertices(a,h,A,C,D,O,H){let Z=C-h,re=D-A,ce=re===0,de=ce?Math.min(h,C):Math.min(O,H),we=ce?Math.max(h,C):Math.max(O,H),Ee=Math.floor(de/this._granularityCellSize)+1,De=Math.ceil(we/this._granularityCellSize)-1;if(ce?h=Ee;ke--){let qe=ke*this._granularityCellSize;a.push(this._vertexToIndex(qe,A+re*(qe-h)/Z))}}_generateInterEdgeVertices(a,h,A,C,D,O,H,Z,re,ce){let de=D-A,we=O-C,Ee=H-D,De=(re-D)/Ee,ke=(ce-D)/Ee,qe=Math.min(De,ke),st=Math.max(De,ke),kt=C+we*qe,pt=Math.floor(Math.min(kt,Z)/this._granularityCellSize)+1,_t=Math.ceil(Math.max(kt,Z)/this._granularityCellSize)-1,Ht=Z=1||st<=0){let oi=A-H,Kr=O+(h-O)*Math.min((re-H)/oi,(ce-H)/oi);pt=Math.floor(Math.min(Kr,Z)/this._granularityCellSize)+1,_t=Math.ceil(Math.max(Kr,Z)/this._granularityCellSize)-1,Ht=Z0?ce:re;if(Ht)for(let oi=pt;oi<=_t;oi++)a.push(this._vertexToIndex(oi*this._granularityCellSize,Ir));else for(let oi=_t;oi>=pt;oi--)a.push(this._vertexToIndex(oi*this._granularityCellSize,Ir))}_generateOutline(a){let h=[];for(let A of a){let C=D_(A,this._granularity,!0),D=this._pointArrayToIndices(C),O=[];for(let H=1;HD!=(O===hv)?(a.push(h),a.push(A),a.push(this._vertexToIndex(C,O)),a.push(A),a.push(this._vertexToIndex(D,O)),a.push(this._vertexToIndex(C,O))):(a.push(A),a.push(h),a.push(this._vertexToIndex(C,O)),a.push(this._vertexToIndex(D,O)),a.push(A),a.push(this._vertexToIndex(C,O)))}_fillPoles(a,h,A){let C=this._vertexBuffer,D=hr,O=a.length;for(let H=2;H80*de){qe=re[0],st=re[1];let pt=qe,_t=st;for(let Ht=de;Htpt&&(pt=Qt),Ir>_t&&(_t=Ir)}kt=Math.max(pt-qe,_t-st),kt=kt!==0?32767/kt:0}return ab(De,ke,de,qe,st,kt,0),ke}(A,C),Z=this._convertIndices(A,H);D=this._subdivideTrianglesScanline(Z)}catch(H){console.error(H)}let O=[];return h&&(O=this._generateOutline(a)),this._ensureNoPoleVertices(),this._handlePoles(D),{verticesFlattened:this._vertexBuffer,indicesTriangles:D,indicesLineList:O}}_convertIndices(a,h){let A=[];for(let C=0;C0?(Math.floor(Ir/O)+1)*O:(Math.ceil(Ir/O)-1)*O,ji=_t>0?(Math.floor(oi/O)+1)*O:(Math.ceil(oi/O)-1)*O,vi=Math.abs(Ir-gi),Qr=Math.abs(oi-ji),jr=Math.abs(Ir-ke),dn=Math.abs(oi-qe),cn=st?vi/Ht:Number.POSITIVE_INFINITY,vn=kt?Qr/Qt:Number.POSITIVE_INFINITY;if((jr<=vi||!st)&&(dn<=Qr||!kt))break;if(cn=0?O-1:D-1,re=(H+1)%D,ce=d[2*a[Z]],de=d[2*a[re]],we=d[2*a[O]],Ee=d[2*a[O]+1],De=d[2*a[H]+1],ke=!1;if(cede)ke=!1;else{let qe=De-Ee,st=-(d[2*a[H]]-we),kt=Ee((de-we)*qe+(d[2*a[re]+1]-Ee)*st)*kt&&(ke=!0)}if(ke){let qe=a[Z],st=a[O],kt=a[H];qe!==st&&qe!==kt&&st!==kt&&h.push(kt,st,qe),O--,O<0&&(O=D-1)}else{let qe=a[re],st=a[O],kt=a[H];qe!==st&&qe!==kt&&st!==kt&&h.push(kt,st,qe),H++,H>=D&&(H=0)}if(Z===re)break}}function dv(d,a,h,A,C,D,O,H,Z){let re=C.length/2,ce=O&&H&&Z;if(reAi.MAX_VERTEX_ARRAY_LENGTH&&(_t=de.createNewSegment(we,Ee),pt=kt.count,gi=!0,ji=!0,vi=!0,Ht=0);let Qr=Js(st,De,qe,kt,Ir,gi,_t),jr=Js(st,De,qe,kt,oi,ji,_t),dn=Js(st,De,qe,kt,Kr,vi,_t);Ee.emplaceBack(Ht+Qr-pt,Ht+jr-pt,Ht+dn-pt),_t.primitiveLength++}})(a,h,A,C,D,d),ce&&function(de,we,Ee,De,ke,qe){let st=[];for(let Qt=0;QtAi.MAX_VERTEX_ARRAY_LENGTH&&(_t=de.createNewSegment(we,Ee),pt=kt.count,ji=!0,vi=!0,Ht=0);let Qr=Js(st,De,qe,kt,Kr,ji,_t),jr=Js(st,De,qe,kt,gi,vi,_t);Ee.emplaceBack(Ht+Qr-pt,Ht+jr-pt),_t.primitiveLength++}}}(O,h,H,C,Z,d),a.forceNewSegmentOnNextPrepare(),O?.forceNewSegmentOnNextPrepare()}function Js(d,a,h,A,C,D,O){if(D){let H=A.count;return h(a[2*C],a[2*C+1]),d[C]=A.count,A.count++,O.vertexLength++,H}return d[C]}class eI{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasDependencies=!1,this.patternFeatures=[],this.layoutVertexArray=new tt,this.indexArray=new br,this.indexArray2=new Cr,this.programConfigurations=new er(a.layers,a.zoom),this.segments=new Ai,this.segments2=new Ai,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasDependencies=o0("fill",this.layers,h);let C=this.layers[0].layout.get("fill-sort-key"),D=!C.isConstant(),O=[];for(let{feature:H,id:Z,index:re,sourceLayerIndex:ce}of a){let de=this.layers[0]._featureFilter.needGeometry,we=Pi(H,de);if(!this.layers[0]._featureFilter.filter(new Gi(this.zoom),we,A))continue;let Ee=D?C.evaluate(we,{},A,h.availableImages):void 0,De={id:Z,properties:H.properties,type:H.type,sourceLayerIndex:ce,index:re,geometry:de?we.geometry:or(H),patterns:{},sortKey:Ee};O.push(De)}D&&O.sort((H,Z)=>H.sortKey-Z.sortKey);for(let H of O){let{geometry:Z,index:re,sourceLayerIndex:ce}=H;if(this.hasDependencies){let de=sb("fill",this.layers,H,{zoom:this.zoom},h);this.patternFeatures.push(de)}else this.addFeature(H,Z,re,A,{},h.subdivisionGranularity);h.featureIndex.insert(a[re].feature,Z,re,ce,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,{imagePositions:A})}addFeatures(a,h,A){for(let C of this.patternFeatures)this.addFeature(C,C.geometry,C.index,h,A,a.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,HL),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),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(a,h,A,C,D,O){for(let H of dt(h,500)){let Z=C2(H,C,O.fill.getGranularityForZoomLevel(C.z)),re=this.layoutVertexArray;dv((ce,de)=>{re.emplaceBack(ce,de)},this.segments,this.layoutVertexArray,this.indexArray,Z.verticesFlattened,Z.indicesTriangles,this.segments2,this.indexArray2,Z.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{imagePositions:D,canonical:C})}}let I2,O_;ut("FillBucket",eI,{omit:["layers","patternFeatures"]});var m8={get paint(){return O_=O_||new Fa({"fill-antialias":new tn(wr.paint_fill["fill-antialias"]),"fill-opacity":new _n(wr.paint_fill["fill-opacity"]),"fill-color":new _n(wr.paint_fill["fill-color"]),"fill-outline-color":new _n(wr.paint_fill["fill-outline-color"]),"fill-translate":new tn(wr.paint_fill["fill-translate"]),"fill-translate-anchor":new tn(wr.paint_fill["fill-translate-anchor"]),"fill-pattern":new Ju(wr.paint_fill["fill-pattern"])})},get layout(){return I2=I2||new Fa({"fill-sort-key":new _n(wr.layout_fill["fill-sort-key"])})}};class g8 extends Gc{constructor(a,h){super(a,m8,h)}recalculate(a,h){super.recalculate(a,h);let A=this.paint._values["fill-outline-color"];A.value.kind==="constant"&&A.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(a){return new eI(a)}queryRadius(){return i0(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:a,geometry:h,transform:A,pixelsToTileUnits:C}){return ro(nb(a,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-A.bearingInRadians,C),h)}isTileClipped(){return!0}}let A8=na([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),_8=na([{name:"a_centroid",components:2,type:"Int16"}],4),{members:y8}=A8;class cb{constructor(a,h,A,C,D){this.properties={},this.extent=A,this.type=0,this.id=void 0,this._pbf=a,this._geometry=-1,this._keys=C,this._values=D,a.readFields(v8,this,h)}loadGeometry(){let a=this._pbf;a.pos=this._geometry;let h=a.readVarint()+a.pos,A=[],C,D=1,O=0,H=0,Z=0;for(;a.pos>3}if(O--,D===1||D===2)H+=a.readSVarint(),Z+=a.readSVarint(),D===1&&(C&&A.push(C),C=[]),C&&C.push(new s(H,Z));else{if(D!==7)throw new Error(`unknown command ${D}`);C&&C.push(C[0].clone())}}return C&&A.push(C),A}bbox(){let a=this._pbf;a.pos=this._geometry;let h=a.readVarint()+a.pos,A=1,C=0,D=0,O=0,H=1/0,Z=-1/0,re=1/0,ce=-1/0;for(;a.pos>3}if(C--,A===1||A===2)D+=a.readSVarint(),O+=a.readSVarint(),DZ&&(Z=D),Oce&&(ce=O);else if(A!==7)throw new Error(`unknown command ${A}`)}return[H,re,Z,ce]}toGeoJSON(a,h,A){let C=this.extent*Math.pow(2,A),D=this.extent*a,O=this.extent*h,H=this.loadGeometry();function Z(we){return[360*(we.x+D)/C-180,360/Math.PI*Math.atan(Math.exp((1-2*(we.y+O)/C)*Math.PI))-90]}function re(we){return we.map(Z)}let ce;if(this.type===1){let we=[];for(let De of H)we.push(De[0]);let Ee=re(we);ce=we.length===1?{type:"Point",coordinates:Ee[0]}:{type:"MultiPoint",coordinates:Ee}}else if(this.type===2){let we=H.map(re);ce=we.length===1?{type:"LineString",coordinates:we[0]}:{type:"MultiLineString",coordinates:we}}else{if(this.type!==3)throw new Error("unknown feature type");{let we=tI(H),Ee=[];for(let De of we)Ee.push(De.map(re));ce=Ee.length===1?{type:"Polygon",coordinates:Ee[0]}:{type:"MultiPolygon",coordinates:Ee}}}let de={type:"Feature",geometry:ce,properties:this.properties};return this.id!=null&&(de.id=this.id),de}}function v8(d,a,h){d===1?a.id=h.readVarint():d===2?function(A,C){let D=A.readVarint()+A.pos;for(;A.pos=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[a];let h=this._pbf.readVarint()+this._pbf.pos;return new cb(this._pbf,h,this.extent,this._keys,this._values)}}function JL(d,a,h){d===15?a.version=h.readVarint():d===1?a.name=h.readString():d===5?a.extent=h.readVarint():d===2?a._features.push(h.pos):d===3?a._keys.push(h.readString()):d===4&&a._values.push(function(A){let C=null,D=A.readVarint()+A.pos;for(;A.pos>3;C=O===1?A.readString():O===2?A.readFloat():O===3?A.readDouble():O===4?A.readVarint64():O===5?A.readVarint():O===6?A.readSVarint():O===7?A.readBoolean():null}if(C==null)throw new Error("unknown feature value");return C}(h))}class ub{constructor(a,h){this.layers=a.readFields(F_,{},h)}}function F_(d,a,h){if(d===3){let A=new QL(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}let hb=Math.pow(2,13);function lg(d,a,h,A,C,D,O,H){d.emplaceBack(a,h,2*Math.floor(A*hb)+O,C*hb*2,D*hb*2,Math.round(H))}class M2{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasDependencies=!1,this.layoutVertexArray=new yt,this.centroidVertexArray=new Me,this.indexArray=new br,this.programConfigurations=new er(a.layers,a.zoom),this.segments=new Ai,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasDependencies=o0("fill-extrusion",this.layers,h);for(let{feature:C,id:D,index:O,sourceLayerIndex:H}of a){let Z=this.layers[0]._featureFilter.needGeometry,re=Pi(C,Z);if(!this.layers[0]._featureFilter.filter(new Gi(this.zoom),re,A))continue;let ce={id:D,sourceLayerIndex:H,index:O,geometry:Z?re.geometry:or(C),properties:C.properties,type:C.type,patterns:{}};this.hasDependencies?this.features.push(sb("fill-extrusion",this.layers,ce,{zoom:this.zoom},h)):this.addFeature(ce,ce.geometry,O,A,{},h.subdivisionGranularity),h.featureIndex.insert(C,ce.geometry,O,H,this.index,!0)}}addFeatures(a,h,A){for(let C of this.features){let{geometry:D}=C;this.addFeature(C,D,C.index,h,A,a.subdivisionGranularity)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,{imagePositions:A})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,y8),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,_8.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,C,D,O){for(let H of dt(h,500)){let Z={x:0,y:0,sampleCount:0},re=this.layoutVertexArray.length;this.processPolygon(Z,C,a,H,O);let ce=this.layoutVertexArray.length-re,de=Math.floor(Z.x/Z.sampleCount),we=Math.floor(Z.y/Z.sampleCount);for(let Ee=0;Ee{lg(ce,de,we,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,re.verticesFlattened,re.indicesTriangles)}_generateSideFaces(a,h){let A=0;for(let C=1;CAi.MAX_VERTEX_ARRAY_LENGTH&&(h.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let H=D.sub(O)._perp()._unit(),Z=O.dist(D);A+Z>32768&&(A=0),lg(this.layoutVertexArray,D.x,D.y,H.x,H.y,0,0,A),lg(this.layoutVertexArray,D.x,D.y,H.x,H.y,0,1,A),A+=Z,lg(this.layoutVertexArray,O.x,O.y,H.x,H.y,0,0,A),lg(this.layoutVertexArray,O.x,O.y,H.x,H.y,0,1,A);let re=h.segment.vertexLength;this.indexArray.emplaceBack(re,re+2,re+1),this.indexArray.emplaceBack(re+1,re+2,re+3),h.segment.vertexLength+=4,h.segment.primitiveLength+=2}}}function Wc(d,a){for(let h=0;hhr)||d.y===a.y&&(d.y<0||d.y>hr)}function rI(d){return d.every(a=>a.x<0)||d.every(a=>a.x>hr)||d.every(a=>a.y<0)||d.every(a=>a.y>hr)}let iI;ut("FillExtrusionBucket",M2,{omit:["layers","features"]});var eD={get paint(){return iI=iI||new Fa({"fill-extrusion-opacity":new tn(wr["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new _n(wr["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new tn(wr["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new tn(wr["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Ju(wr["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new _n(wr["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new _n(wr["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new tn(wr["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class tD extends Gc{constructor(a,h){super(a,eD,h)}createBucket(a){return new M2(a)}queryRadius(){return i0(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:a,feature:h,featureState:A,geometry:C,transform:D,pixelsToTileUnits:O,pixelPosMatrix:H}){let Z=nb(a,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-D.bearingInRadians,O),re=this.paint.get("fill-extrusion-height").evaluate(h,A),ce=this.paint.get("fill-extrusion-base").evaluate(h,A),de=function(Ee,De){let ke=[];for(let qe of Ee){let st=[qe.x,qe.y,0,1];Et(st,st,De),ke.push(new s(st[0]/st[3],st[1]/st[3]))}return ke}(Z,H),we=function(Ee,De,ke,qe){let st=[],kt=[],pt=qe[8]*De,_t=qe[9]*De,Ht=qe[10]*De,Qt=qe[11]*De,Ir=qe[8]*ke,oi=qe[9]*ke,Kr=qe[10]*ke,gi=qe[11]*ke;for(let ji of Ee){let vi=[],Qr=[];for(let jr of ji){let dn=jr.x,cn=jr.y,vn=qe[0]*dn+qe[4]*cn+qe[12],rn=qe[1]*dn+qe[5]*cn+qe[13],Vn=qe[2]*dn+qe[6]*cn+qe[14],pa=qe[3]*dn+qe[7]*cn+qe[15],Hs=Vn+Ht,vc=pa+Qt,Ef=vn+Ir,Vu=rn+oi,xc=Vn+Kr,sc=pa+gi,za=new s((vn+pt)/vc,(rn+_t)/vc);za.z=Hs/vc,vi.push(za);let $c=new s(Ef/sc,Vu/sc);$c.z=xc/sc,Qr.push($c)}st.push(vi),kt.push(Qr)}return[st,kt]}(C,ce,re,H);return function(Ee,De,ke){let qe=1/0;ro(ke,De)&&(qe=P2(ke,De[0]));for(let st=0;sth.id),this.index=a.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new At,this.layoutVertexArray2=new vt,this.indexArray=new br,this.programConfigurations=new er(a.layers,a.zoom),this.segments=new Ai,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasDependencies=o0("line",this.layers,h)||this.hasLineDasharray(this.layers);let C=this.layers[0].layout.get("line-sort-key"),D=!C.isConstant(),O=[];for(let{feature:H,id:Z,index:re,sourceLayerIndex:ce}of a){let de=this.layers[0]._featureFilter.needGeometry,we=Pi(H,de);if(!this.layers[0]._featureFilter.filter(new Gi(this.zoom),we,A))continue;let Ee=D?C.evaluate(we,{},A):void 0,De={id:Z,properties:H.properties,type:H.type,sourceLayerIndex:ce,index:re,geometry:de?we.geometry:or(H),patterns:{},dashes:{},sortKey:Ee};O.push(De)}D&&O.sort((H,Z)=>H.sortKey-Z.sortKey);for(let H of O){let{geometry:Z,index:re,sourceLayerIndex:ce}=H;this.hasDependencies?(o0("line",this.layers,h)?sb("line",this.layers,H,{zoom:this.zoom},h):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,H,this.zoom,h),this.patternFeatures.push(H)):this.addFeature(H,Z,re,A,{},{},h.subdivisionGranularity),h.featureIndex.insert(a[re].feature,Z,re,ce,this.index)}}update(a,h,A,C){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,{imagePositions:A,dashPositions:C})}addFeatures(a,h,A,C){for(let D of this.patternFeatures)this.addFeature(D,D.geometry,D.index,h,A,C,a.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,qc)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,N_),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(a.properties,"mapbox_clip_end"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,C,D,O,H){let Z=this.layers[0].layout,re=Z.get("line-join").evaluate(a,{}),ce=Z.get("line-cap"),de=Z.get("line-miter-limit"),we=Z.get("line-round-limit");this.lineClips=this.lineFeatureClips(a);for(let Ee of h)this.addLine(Ee,a,re,ce,de,we,C,H);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{imagePositions:D,dashPositions:O,canonical:C})}addLine(a,h,A,C,D,O,H,Z){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,a=D_(a,H?Z.line.getGranularityForZoomLevel(H.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let pt=0;pt=2&&a[ce-1].equals(a[ce-2]);)ce--;let de=0;for(;de0;if(Kr&&pt>de){let Qr=De.dist(ke);if(Qr>2*we){let jr=De.sub(De.sub(ke)._mult(we/Qr)._round());this.updateDistance(ke,jr),this.addCurrentVertex(jr,st,0,0,Ee),ke=jr}}let ji=ke&&qe,vi=ji?A:re?"butt":C;if(ji&&vi==="round"&&(IrD&&(vi="bevel"),vi==="bevel"&&(Ir>2&&(vi="flipbevel"),Ir100)_t=kt.mult(-1);else{let Qr=Ir*st.add(kt).mag()/st.sub(kt).mag();_t._perp()._mult(Qr*(gi?-1:1))}this.addCurrentVertex(De,_t,0,0,Ee),this.addCurrentVertex(De,_t.mult(-1),0,0,Ee)}else if(vi==="bevel"||vi==="fakeround"){let Qr=-Math.sqrt(Ir*Ir-1),jr=gi?Qr:0,dn=gi?0:Qr;if(ke&&this.addCurrentVertex(De,st,jr,dn,Ee),vi==="fakeround"){let cn=Math.round(180*oi/Math.PI/20);for(let vn=1;vn2*we){let jr=De.add(qe.sub(De)._mult(we/Qr)._round());this.updateDistance(De,jr),this.addCurrentVertex(jr,kt,0,0,Ee),De=jr}}}}addCurrentVertex(a,h,A,C,D,O=!1){let H=h.y*C-h.x,Z=-h.y-h.x*C;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,O,!1,A,D),this.addHalfVertex(a,H,Z,O,!0,-C,D),this.distance>cg/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,C,D,O))}addHalfVertex({x:a,y:h},A,C,D,O,H,Z){let re=.5*(this.lineClips?this.scaledDistance*(cg-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(D?1:0),(h<<1)+(O?1:0),Math.round(63*A)+128,Math.round(63*C)+128,1+(H===0?0:H<0?-1:1)|(63&re)<<2,re>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let ce=Z.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,ce,this.e2),Z.primitiveLength++),O?this.e2=ce:this.e1=ce}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}hasLineDasharray(a){for(let h of a){let A=h.paint.get("line-dasharray");if(A&&!A.isConstant())return!0}return!1}addLineDashDependencies(a,h,A,C){for(let D of a){let O=D.paint.get("line-dasharray");if(!O||O.value.kind==="constant")continue;let H=D.layout.get("line-cap")==="round",Z={dasharray:O.value.evaluate({zoom:A-1},h,{}),round:H},re={dasharray:O.value.evaluate({zoom:A},h,{}),round:H},ce={dasharray:O.value.evaluate({zoom:A+1},h,{}),round:H},de=`${Z.dasharray.join(",")},${Z.round}`,we=`${re.dasharray.join(",")},${re.round}`,Ee=`${ce.dasharray.join(",")},${ce.round}`;C.dashDependencies[de]=Z,C.dashDependencies[we]=re,C.dashDependencies[Ee]=ce,h.dashes[D.id]={min:de,mid:we,max:Ee}}}}let db,R2;ut("LineBucket",mv,{omit:["layers","patternFeatures"]});var z_={get paint(){return R2=R2||new Fa({"line-opacity":new _n(wr.paint_line["line-opacity"]),"line-color":new _n(wr.paint_line["line-color"]),"line-translate":new tn(wr.paint_line["line-translate"]),"line-translate-anchor":new tn(wr.paint_line["line-translate-anchor"]),"line-width":new _n(wr.paint_line["line-width"]),"line-gap-width":new _n(wr.paint_line["line-gap-width"]),"line-offset":new _n(wr.paint_line["line-offset"]),"line-blur":new _n(wr.paint_line["line-blur"]),"line-dasharray":new Ju(wr.paint_line["line-dasharray"]),"line-pattern":new Ju(wr.paint_line["line-pattern"]),"line-gradient":new Hc(wr.paint_line["line-gradient"])})},get layout(){return db=db||new Fa({"line-cap":new tn(wr.layout_line["line-cap"]),"line-join":new _n(wr.layout_line["line-join"]),"line-miter-limit":new tn(wr.layout_line["line-miter-limit"]),"line-round-limit":new tn(wr.layout_line["line-round-limit"]),"line-sort-key":new _n(wr.layout_line["line-sort-key"])})}};class s0 extends _n{possiblyEvaluate(a,h){return h=new Gi(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,C){return h=Ve({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,C)}}let pb;class iD extends Gc{constructor(a,h){super(a,z_,h),this.gradientVersion=0,pb||(pb=new s0(z_.paint.properties["line-width"].specification),pb.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a==="line-gradient"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof pe,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values["line-floorwidth"]=pb.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,a)}createBucket(a){return new mv(a)}queryRadius(a){let h=a,A=nD(Sd("line-width",this,h),Sd("line-gap-width",this,h)),C=Sd("line-offset",this,h);return A/2+Math.abs(C)+i0(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:a,feature:h,featureState:A,geometry:C,transform:D,pixelsToTileUnits:O}){let H=nb(a,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-D.bearingInRadians,O),Z=O/2*nD(this.paint.get("line-width").evaluate(h,A),this.paint.get("line-gap-width").evaluate(h,A)),re=this.paint.get("line-offset").evaluate(h,A);return re&&(C=function(ce,de){let we=[];for(let Ee=0;Ee=3){for(let ke=0;ke0?a+2*d:d}let vu=na([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),oA=na([{name:"a_projected_pos",components:3,type:"Float32"}],4);na([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let oD=na([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);na([{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 u=na([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),p=na([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function _(d,a,h){return d.sections.forEach(A=>{A.text=function(C,D,O){let H=D.layout.get("text-transform").evaluate(O,{});return H==="uppercase"?C=C.toLocaleUpperCase():H==="lowercase"&&(C=C.toLocaleLowerCase()),$n.applyArabicShaping&&(C=$n.applyArabicShaping(C)),C}(A.text,a,h)}),d}na([{name:"triangle",components:3,type:"Uint16"}]),na([{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"}]),na([{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"}]),na([{type:"Float32",name:"offsetX"}]),na([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),na([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);var R=24;let j={"!":"\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","\u22EF":"\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"},$={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},J={40:!0};function le(d,a,h,A,C,D){if("fontStack"in a){let O=h[a.fontStack],H=O&&O[d];return H?H.metrics.advance*a.scale+C:0}{let O=A[a.imageName];return O?O.displaySize[0]*a.scale*R/D+C:0}}function ve(d,a,h,A){let C=Math.pow(d-a,2);return A?dMath.max(a,this.sections[h].scale),0)}getMaxImageSize(a){let h=0,A=0;for(let C=0;CA))}addImageSection(a){let h=a.image?a.image.name:"";if(h.length===0)return void ln("Can't add FormattedSection with an empty image.");let A=this.getNextImageSectionCharCode();A?(this.text+=String.fromCharCode(A),this.sections.push({scale:1,verticalAlign:a.verticalAlign||"bottom",imageName:h}),this.sectionIndex.push(this.sections.length-1)):ln("Reached maximum number of images 6401")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(a,h,A,C,D){let O=[],H=this.determineAverageLineWidth(a,h,A,C,D),Z=this.hasZeroWidthSpaces(),re=0,ce=0,de=this.text[Symbol.iterator](),we=de.next(),Ee=this.text[Symbol.iterator]();Ee.next();let De=Ee.next(),ke=this.text[Symbol.iterator]();ke.next(),ke.next();let qe=ke.next();for(;!we.done;){let st=this.getSection(ce),kt=we.value.codePointAt(0);if(Wr(kt)||(re+=le(kt,st,A,C,a,D)),!De.done){let pt=kr(kt),_t=De.value.codePointAt(0);($[kt]||pt||"imageName"in st||!qe.done&&J[_t])&&O.push(Le(ce+1,re,H,O,Ie(kt,_t,pt&&Z),!1))}ce++,we=de.next(),De=Ee.next(),qe=ke.next()}return ze(Le(this.length(),re,H,O,0,!0))}determineAverageLineWidth(a,h,A,C,D){let O=0,H=0;for(let Z of this.text){let re=this.getSection(H);O+=le(Z.codePointAt(0),re,A,C,a,D),H++}return O/Math.max(1,Math.ceil(O/h))}}let lt=4294967296,Mt=1/lt,Dt=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");class tr{constructor(a=new Uint8Array(16)){this.buf=ArrayBuffer.isView(a)?a:new Uint8Array(a),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(a,h,A=this.length){for(;this.pos>3,O=this.pos;this.type=7&C,a(D,h,this),this.pos===O&&this.skip(C)}return h}readMessage(a,h){return this.readFields(a,h,this.readVarint()+this.pos)}readFixed32(){let a=this.dataView.getUint32(this.pos,!0);return this.pos+=4,a}readSFixed32(){let a=this.dataView.getInt32(this.pos,!0);return this.pos+=4,a}readFixed64(){let a=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*lt;return this.pos+=8,a}readSFixed64(){let a=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*lt;return this.pos+=8,a}readFloat(){let a=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,a}readDouble(){let a=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,a}readVarint(a){let h=this.buf,A,C;return C=h[this.pos++],A=127&C,C<128?A:(C=h[this.pos++],A|=(127&C)<<7,C<128?A:(C=h[this.pos++],A|=(127&C)<<14,C<128?A:(C=h[this.pos++],A|=(127&C)<<21,C<128?A:(C=h[this.pos],A|=(15&C)<<28,function(D,O,H){let Z=H.buf,re,ce;if(ce=Z[H.pos++],re=(112&ce)>>4,ce<128||(ce=Z[H.pos++],re|=(127&ce)<<3,ce<128)||(ce=Z[H.pos++],re|=(127&ce)<<10,ce<128)||(ce=Z[H.pos++],re|=(127&ce)<<17,ce<128)||(ce=Z[H.pos++],re|=(127&ce)<<24,ce<128)||(ce=Z[H.pos++],re|=(1&ce)<<31,ce<128))return qt(D,re,O);throw new Error("Expected varint not more than 10 bytes")}(A,a,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){let a=this.readVarint();return a%2==1?(a+1)/-2:a/2}readBoolean(){return Boolean(this.readVarint())}readString(){let a=this.readVarint()+this.pos,h=this.pos;return this.pos=a,a-h>=12&&Dt?Dt.decode(this.buf.subarray(h,a)):function(A,C,D){let O="",H=C;for(;H239?4:Z>223?3:Z>191?2:1;if(H+Ee>D)break;Ee===1?Z<128&&(we=Z):Ee===2?(re=A[H+1],(192&re)==128&&(we=(31&Z)<<6|63&re,we<=127&&(we=null))):Ee===3?(re=A[H+1],ce=A[H+2],(192&re)==128&&(192&ce)==128&&(we=(15&Z)<<12|(63&re)<<6|63&ce,(we<=2047||we>=55296&&we<=57343)&&(we=null))):Ee===4&&(re=A[H+1],ce=A[H+2],de=A[H+3],(192&re)==128&&(192&ce)==128&&(192&de)==128&&(we=(15&Z)<<18|(63&re)<<12|(63&ce)<<6|63&de,(we<=65535||we>=1114112)&&(we=null))),we===null?(we=65533,Ee=1):we>65535&&(we-=65536,O+=String.fromCharCode(we>>>10&1023|55296),we=56320|1023&we),O+=String.fromCharCode(we),H+=Ee}return O}(this.buf,h,a)}readBytes(){let a=this.readVarint()+this.pos,h=this.buf.subarray(this.pos,a);return this.pos=a,h}readPackedVarint(a=[],h){let A=this.readPackedEnd();for(;this.pos127;);else if(h===2)this.pos=this.readVarint()+this.pos;else if(h===5)this.pos+=4;else{if(h!==1)throw new Error(`Unimplemented type: ${h}`);this.pos+=8}}writeTag(a,h){this.writeVarint(a<<3|h)}realloc(a){let h=this.length||16;for(;h268435455||a<0?function(h,A){let C,D;if(h>=0?(C=h%4294967296|0,D=h/4294967296|0):(C=~(-h%4294967296),D=~(-h/4294967296),4294967295^C?C=C+1|0:(C=0,D=D+1|0)),h>=18446744073709552e3||h<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");A.realloc(10),function(O,H,Z){Z.buf[Z.pos++]=127&O|128,O>>>=7,Z.buf[Z.pos++]=127&O|128,O>>>=7,Z.buf[Z.pos++]=127&O|128,O>>>=7,Z.buf[Z.pos++]=127&O|128,Z.buf[Z.pos]=127&(O>>>=7)}(C,0,A),function(O,H){let Z=(7&O)<<4;H.buf[H.pos++]|=Z|((O>>>=3)?128:0),O&&(H.buf[H.pos++]=127&O|((O>>>=7)?128:0),O&&(H.buf[H.pos++]=127&O|((O>>>=7)?128:0),O&&(H.buf[H.pos++]=127&O|((O>>>=7)?128:0),O&&(H.buf[H.pos++]=127&O|((O>>>=7)?128:0),O&&(H.buf[H.pos++]=127&O)))))}(D,A)}(a,this):(this.realloc(4),this.buf[this.pos++]=127&a|(a>127?128:0),a<=127||(this.buf[this.pos++]=127&(a>>>=7)|(a>127?128:0),a<=127||(this.buf[this.pos++]=127&(a>>>=7)|(a>127?128:0),a<=127||(this.buf[this.pos++]=a>>>7&127))))}writeSVarint(a){this.writeVarint(a<0?2*-a-1:2*a)}writeBoolean(a){this.writeVarint(+a)}writeString(a){a=String(a),this.realloc(4*a.length),this.pos++;let h=this.pos;this.pos=function(C,D,O){for(let H,Z,re=0;re55295&&H<57344){if(!Z){H>56319||re+1===D.length?(C[O++]=239,C[O++]=191,C[O++]=189):Z=H;continue}if(H<56320){C[O++]=239,C[O++]=191,C[O++]=189,Z=H;continue}H=Z-55296<<10|H-56320|65536,Z=null}else Z&&(C[O++]=239,C[O++]=191,C[O++]=189,Z=null);H<128?C[O++]=H:(H<2048?C[O++]=H>>6|192:(H<65536?C[O++]=H>>12|224:(C[O++]=H>>18|240,C[O++]=H>>12&63|128),C[O++]=H>>6&63|128),C[O++]=63&H|128)}return O}(this.buf,a,this.pos);let A=this.pos-h;A>=128&&ur(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A}writeFloat(a){this.realloc(4),this.dataView.setFloat32(this.pos,a,!0),this.pos+=4}writeDouble(a){this.realloc(8),this.dataView.setFloat64(this.pos,a,!0),this.pos+=8}writeBytes(a){let h=a.length;this.writeVarint(h),this.realloc(h);for(let A=0;A=128&&ur(A,C,this),this.pos=A-1,this.writeVarint(C),this.pos+=C}writeMessage(a,h,A){this.writeTag(a,2),this.writeRawMessage(h,A)}writePackedVarint(a,h){h.length&&this.writeMessage(a,Tr,h)}writePackedSVarint(a,h){h.length&&this.writeMessage(a,Nr,h)}writePackedBoolean(a,h){h.length&&this.writeMessage(a,Ei,h)}writePackedFloat(a,h){h.length&&this.writeMessage(a,Vr,h)}writePackedDouble(a,h){h.length&&this.writeMessage(a,ri,h)}writePackedFixed32(a,h){h.length&&this.writeMessage(a,Ui,h)}writePackedSFixed32(a,h){h.length&&this.writeMessage(a,Cn,h)}writePackedFixed64(a,h){h.length&&this.writeMessage(a,Ki,h)}writePackedSFixed64(a,h){h.length&&this.writeMessage(a,Bn,h)}writeBytesField(a,h){this.writeTag(a,2),this.writeBytes(h)}writeFixed32Field(a,h){this.writeTag(a,5),this.writeFixed32(h)}writeSFixed32Field(a,h){this.writeTag(a,5),this.writeSFixed32(h)}writeFixed64Field(a,h){this.writeTag(a,1),this.writeFixed64(h)}writeSFixed64Field(a,h){this.writeTag(a,1),this.writeSFixed64(h)}writeVarintField(a,h){this.writeTag(a,0),this.writeVarint(h)}writeSVarintField(a,h){this.writeTag(a,0),this.writeSVarint(h)}writeStringField(a,h){this.writeTag(a,2),this.writeString(h)}writeFloatField(a,h){this.writeTag(a,5),this.writeFloat(h)}writeDoubleField(a,h){this.writeTag(a,1),this.writeDouble(h)}writeBooleanField(a,h){this.writeVarintField(a,+h)}}function qt(d,a,h){return h?4294967296*a+(d>>>0):4294967296*(a>>>0)+(d>>>0)}function ur(d,a,h){let A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(let C=h.pos-1;C>=d;C--)h.buf[C+A]=h.buf[C]}function Tr(d,a){for(let h=0;hH.h-O.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],C=0,D=0;for(let O of d)for(let H=A.length-1;H>=0;H--){let Z=A[H];if(!(O.w>Z.w||O.h>Z.h)){if(O.x=Z.x,O.y=Z.y,D=Math.max(D,O.y+O.h),C=Math.max(C,O.x+O.w),O.w===Z.w&&O.h===Z.h){let re=A.pop();re&&Hke.toCodeUnitIndex(Ir));let Qt=kt(ke.toString(),st);for(let Ir of Qt){let oi=[...Ir].map(()=>0);qe.push(new Ke(Ir,ke.sections,oi))}}else if(pt){qe=[],st=st.map(Kr=>ke.toCodeUnitIndex(Kr));let Qt=0,Ir=[];for(let Kr of ke.text)Ir.push(...Array(Kr.length).fill(ke.sectionIndex[Qt])),Qt++;let oi=pt(ke.text,Ir,st);for(let Kr of oi){let gi=[],ji="";for(let vi of Kr[0])gi.push(Kr[1][ji.length]),ji+=vi;qe.push(new Ke(Kr[0],ke.sections,gi))}}else qe=function(Qt,Ir){let oi=[],Kr=0;for(let gi of Ir)oi.push(Qt.substring(Kr,gi)),Kr=gi;return Krre){let ce=Math.ceil(D/re);C*=ce/O,O=ce}return{x1:A,y1:C,x2:A+D,y2:C+O}}function su(d,a,h,A,C,D){let O=d.image,H;if(O.content){let qe=O.content,st=O.pixelRatio||1;H=[qe[0]/st,qe[1]/st,O.displaySize[0]-qe[2]/st,O.displaySize[1]-qe[3]/st]}let Z=a.left*D,re=a.right*D,ce,de,we,Ee;h==="width"||h==="both"?(Ee=C[0]+Z-A[3],de=C[0]+re+A[1]):(Ee=C[0]+(Z+re-O.displaySize[0])/2,de=Ee+O.displaySize[0]);let De=a.top*D,ke=a.bottom*D;return h==="height"||h==="both"?(ce=C[1]+De-A[0],we=C[1]+ke+A[2]):(ce=C[1]+(De+ke-O.displaySize[1])/2,we=ce+O.displaySize[1]),{image:O,top:ce,right:de,bottom:we,left:Ee,collisionPadding:H}}ut("ImagePosition",Jo),ut("ImageAtlas",xo),n.aA=void 0,(es=n.aA||(n.aA={}))[es.none=0]="none",es[es.horizontal=1]="horizontal",es[es.vertical=2]="vertical",es[es.horizontalOnly=3]="horizontalOnly";let nc=128,ka=32640;function au(d,a){let{expression:h}=a;if(h.kind==="constant")return{kind:"constant",layoutSize:h.evaluate(new Gi(d+1))};if(h.kind==="source")return{kind:"source"};{let{zoomStops:A,interpolationType:C}=h,D=0;for(;DO.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasDependencies=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=au(this.zoom,h["text-size"]),this.iconSizeData=au(this.zoom,h["icon-size"]);let A=this.layers[0].layout,C=A.get("symbol-sort-key"),D=A.get("symbol-z-order");this.canOverlap=hs(A,"text-overlap","text-allow-overlap")!=="never"||hs(A,"icon-overlap","icon-allow-overlap")!=="never"||A.get("text-ignore-placement")||A.get("icon-ignore-placement"),this.sortFeaturesByKey=D!=="viewport-y"&&!C.isConstant(),this.sortFeaturesByY=(D==="viewport-y"||D==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get("symbol-placement")==="point"&&(this.writingModes=A.get("text-writing-mode").map(O=>n.aA[O])),this.stateDependentLayerIds=this.layers.filter(O=>O.isStateDependent()).map(O=>O.id),this.sourceID=a.sourceID}createArrays(){this.text=new xu(new er(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new xu(new er(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new W,this.lineVertexArray=new te,this.symbolInstances=new V,this.textAnchorOffsets=new fe}calculateGlyphDependencies(a,h,A,C,D){for(let O of a)if(h[O.codePointAt(0)]=!0,(A||C)&&D){let H=j[O];H&&(h[H.codePointAt(0)]=!0)}}populate(a,h,A){let C=this.layers[0],D=C.layout,O=D.get("text-font"),H=D.get("text-field"),Z=D.get("icon-image"),re=(H.value.kind!=="constant"||H.value.value instanceof Ql&&!H.value.value.isEmpty()||H.value.value.toString().length>0)&&(O.value.kind!=="constant"||O.value.value.length>0),ce=Z.value.kind!=="constant"||!!Z.value.value||Object.keys(Z.parameters).length>0,de=D.get("symbol-sort-key");if(this.features=[],!re&&!ce)return;let we=h.iconDependencies,Ee=h.glyphDependencies,De=h.availableImages,ke=new Gi(this.zoom);for(let{feature:qe,id:st,index:kt,sourceLayerIndex:pt}of a){let _t=C._featureFilter.needGeometry,Ht=Pi(qe,_t);if(!C._featureFilter.filter(ke,Ht,A))continue;let Qt,Ir;if(_t||(Ht.geometry=or(qe)),re){let Kr=C.getValueAndResolveTokens("text-field",Ht,A,De),gi=Ql.factory(Kr),ji=this.hasRTLText=this.hasRTLText||rf(gi);(!ji||$n.getRTLTextPluginStatus()==="unavailable"||ji&&$n.isParsed())&&(Qt=_(gi,C,Ht))}if(ce){let Kr=C.getValueAndResolveTokens("icon-image",Ht,A,De);Ir=Kr instanceof Ol?Kr:Ol.fromString(Kr)}if(!Qt&&!Ir)continue;let oi=this.sortFeaturesByKey?de.evaluate(Ht,{},A):void 0;if(this.features.push({id:st,text:Qt,icon:Ir,index:kt,sourceLayerIndex:pt,geometry:Ht.geometry,properties:qe.properties,type:cb.types[qe.type],sortKey:oi}),Ir&&(we[Ir.name]=!0),Qt){let Kr=O.evaluate(Ht,{},A).join(","),gi=D.get("text-rotation-alignment")!=="viewport"&&D.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.aA.vertical)>=0;for(let ji of Qt.sections)if(ji.image)we[ji.image.name]=!0;else{let vi=ai(Qt.toString()),Qr=ji.fontStack||Kr,jr=Ee[Qr]=Ee[Qr]||{};this.calculateGlyphDependencies(ji.text,jr,gi,this.allowVerticalPlacement,vi)}}}D.get("symbol-placement")==="line"&&(this.features=function(qe){let st={},kt={},pt=[],_t=0;function Ht(Kr){pt.push(qe[Kr]),_t++}function Qt(Kr,gi,ji){let vi=kt[Kr];return delete kt[Kr],kt[gi]=vi,pt[vi].geometry[0].pop(),pt[vi].geometry[0]=pt[vi].geometry[0].concat(ji[0]),vi}function Ir(Kr,gi,ji){let vi=st[gi];return delete st[gi],st[Kr]=vi,pt[vi].geometry[0].shift(),pt[vi].geometry[0]=ji[0].concat(pt[vi].geometry[0]),vi}function oi(Kr,gi,ji){let vi=ji?gi[0][gi[0].length-1]:gi[0][0];return`${Kr}:${vi.x}:${vi.y}`}for(let Kr=0;KrKr.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((qe,st)=>qe.sortKey-st.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,{imagePositions:A}),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,{imagePositions:A}))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,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(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let C=a.dist(h[a.segment+1]),D=a.dist(h[a.segment]),O={};for(let H=a.segment+1;H=0;H--)O[H]={x:h[H].x,y:h[H].y,tileUnitDistanceFromAnchor:D},H>0&&(D+=h[H-1].dist(h[H]));for(let H=0;H0}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(a,h){let A=a.placedSymbolArray.get(h),C=A.vertexStartIndex+4*A.numGlyphs;for(let D=A.vertexStartIndex;DC[H]-C[Z]||D[Z]-D[H]),O}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((C,D,O)=>{C>=0&&O.indexOf(C)===D&&this.addIndicesForPlacedSymbol(this.text,C)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let ku,$s;ut("SymbolBucket",dl,{omit:["layers","collisionBoxArray","features","compareText"]}),dl.MAX_GLYPHS=65535,dl.addDynamicAttributes=Bs;var Dp={get paint(){return $s=$s||new Fa({"icon-opacity":new _n(wr.paint_symbol["icon-opacity"]),"icon-color":new _n(wr.paint_symbol["icon-color"]),"icon-halo-color":new _n(wr.paint_symbol["icon-halo-color"]),"icon-halo-width":new _n(wr.paint_symbol["icon-halo-width"]),"icon-halo-blur":new _n(wr.paint_symbol["icon-halo-blur"]),"icon-translate":new tn(wr.paint_symbol["icon-translate"]),"icon-translate-anchor":new tn(wr.paint_symbol["icon-translate-anchor"]),"text-opacity":new _n(wr.paint_symbol["text-opacity"]),"text-color":new _n(wr.paint_symbol["text-color"],{runtimeType:Di,getOverride:d=>d.textColor,hasOverride:d=>!!d.textColor}),"text-halo-color":new _n(wr.paint_symbol["text-halo-color"]),"text-halo-width":new _n(wr.paint_symbol["text-halo-width"]),"text-halo-blur":new _n(wr.paint_symbol["text-halo-blur"]),"text-translate":new tn(wr.paint_symbol["text-translate"]),"text-translate-anchor":new tn(wr.paint_symbol["text-translate-anchor"])})},get layout(){return ku=ku||new Fa({"symbol-placement":new tn(wr.layout_symbol["symbol-placement"]),"symbol-spacing":new tn(wr.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new tn(wr.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new _n(wr.layout_symbol["symbol-sort-key"]),"symbol-z-order":new tn(wr.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new tn(wr.layout_symbol["icon-allow-overlap"]),"icon-overlap":new tn(wr.layout_symbol["icon-overlap"]),"icon-ignore-placement":new tn(wr.layout_symbol["icon-ignore-placement"]),"icon-optional":new tn(wr.layout_symbol["icon-optional"]),"icon-rotation-alignment":new tn(wr.layout_symbol["icon-rotation-alignment"]),"icon-size":new _n(wr.layout_symbol["icon-size"]),"icon-text-fit":new tn(wr.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new tn(wr.layout_symbol["icon-text-fit-padding"]),"icon-image":new _n(wr.layout_symbol["icon-image"]),"icon-rotate":new _n(wr.layout_symbol["icon-rotate"]),"icon-padding":new _n(wr.layout_symbol["icon-padding"]),"icon-keep-upright":new tn(wr.layout_symbol["icon-keep-upright"]),"icon-offset":new _n(wr.layout_symbol["icon-offset"]),"icon-anchor":new _n(wr.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new tn(wr.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new tn(wr.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new tn(wr.layout_symbol["text-rotation-alignment"]),"text-field":new _n(wr.layout_symbol["text-field"]),"text-font":new _n(wr.layout_symbol["text-font"]),"text-size":new _n(wr.layout_symbol["text-size"]),"text-max-width":new _n(wr.layout_symbol["text-max-width"]),"text-line-height":new tn(wr.layout_symbol["text-line-height"]),"text-letter-spacing":new _n(wr.layout_symbol["text-letter-spacing"]),"text-justify":new _n(wr.layout_symbol["text-justify"]),"text-radial-offset":new _n(wr.layout_symbol["text-radial-offset"]),"text-variable-anchor":new tn(wr.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new _n(wr.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new _n(wr.layout_symbol["text-anchor"]),"text-max-angle":new tn(wr.layout_symbol["text-max-angle"]),"text-writing-mode":new tn(wr.layout_symbol["text-writing-mode"]),"text-rotate":new _n(wr.layout_symbol["text-rotate"]),"text-padding":new tn(wr.layout_symbol["text-padding"]),"text-keep-upright":new tn(wr.layout_symbol["text-keep-upright"]),"text-transform":new _n(wr.layout_symbol["text-transform"]),"text-offset":new _n(wr.layout_symbol["text-offset"]),"text-allow-overlap":new tn(wr.layout_symbol["text-allow-overlap"]),"text-overlap":new tn(wr.layout_symbol["text-overlap"]),"text-ignore-placement":new tn(wr.layout_symbol["text-ignore-placement"]),"text-optional":new tn(wr.layout_symbol["text-optional"])})}};class ed{constructor(a){if(a.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=a.property.overrides?a.property.overrides.runtimeType:si,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}ut("FormatSectionOverride",ed,{omit:["defaultValue"]});class Qd extends Gc{constructor(a,h){super(a,Dp,h)}recalculate(a,h){if(super.recalculate(a,h),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 A=this.layout.get("text-writing-mode");if(A){let C=[];for(let D of A)C.indexOf(D)<0&&C.push(D);this.layout._values["text-writing-mode"]=C}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,C){let D=this.layout.get(a).evaluate(h,{},A,C),O=this._unevaluatedLayout._values[a];return O.isDataDriven()||yh(O.value)||!D?D:function(H,Z){return Z.replace(/{([^{}]+)}/g,(re,ce)=>H&&ce in H?String(H[ce]):"")}(h.properties,D)}createBucket(a){return new dl(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let a of Dp.paint.overridableProperties){if(!Qd.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new ed(h),C=new Mc(A,h.property.specification),D=null;D=h.value.kind==="constant"||h.value.kind==="source"?new $f("source",C):new Yu("composite",C,h.value.zoomStops),this.paint._values[a]=new Vs(h.property,D,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&Qd.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get("text-field"),C=Dp.paint.properties[h],D=!1,O=H=>{for(let Z of H)if(C.overrides&&C.overrides.hasOverride(Z))return void(D=!0)};if(A.value.kind==="constant"&&A.value.value instanceof Ql)O(A.value.value.sections);else if(A.value.kind==="source"||A.value.kind==="composite"){let H=re=>{D||(re instanceof Ws&&La(re.value)===po?O(re.value.sections):re instanceof Gr?O(re.sections):re.eachChild(H))},Z=A.value;Z._styleExpression&&H(Z._styleExpression.expression)}return D}}let oc;var ug={get paint(){return oc=oc||new Fa({"background-color":new tn(wr.paint_background["background-color"]),"background-pattern":new jc(wr.paint_background["background-pattern"]),"background-opacity":new tn(wr.paint_background["background-opacity"])})}};class Op extends Gc{constructor(a,h){super(a,ug,h)}}class gv extends Gc{constructor(a,h){super(a,{},h),this.onAdd=A=>{this.implementation.onAdd&&this.implementation.onAdd(A,A.painter.context.gl)},this.onRemove=A=>{this.implementation.onRemove&&this.implementation.onRemove(A,A.painter.context.gl)},this.implementation=a}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 U_{constructor(a){this._methodToThrottle=a,this._triggered=!1,typeof MessageChannel<"u"&&(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 Av={once:!0},_m=63710088e-1;class Jd{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Jd(Gn(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,C=a.lat*h,D=Math.sin(A)*Math.sin(C)+Math.cos(A)*Math.cos(C)*Math.cos((a.lng-this.lng)*h);return _m*Math.acos(Math.min(D,1))}static convert(a){if(a instanceof Jd)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new Jd(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a=="object"&&a!==null)return new Jd(Number("lng"in a?a.lng:a.lon),Number(a.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 mb=2*Math.PI*_m;function V_(d){return mb*Math.cos(d*Math.PI/180)}function _v(d){return(180+d)/360}function gb(d){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+d*Math.PI/360)))/360}function Ab(d,a){return d/V_(a)}function hg(d){return 360*d-180}function sA(d){return 360/Math.PI*Math.atan(Math.exp((180-360*d)*Math.PI/180))-90}function j_(d,a){return d*V_(sA(a))}class Fp{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=Jd.convert(a);return new Fp(_v(A.lng),gb(A.lat),Ab(h,A.lat))}toLngLat(){return new Jd(hg(this.x),sA(this.y))}toAltitude(){return j_(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/mb*(a=sA(this.y),1/Math.cos(a*Math.PI/180));var a}}function H_(d,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[d*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class yv{constructor(a,h,A){if(!function(C,D,O){return!(C<0||C>25||O<0||O>=Math.pow(2,C)||D<0||D>=Math.pow(2,C))}(a,h,A))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=fg(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let C=function(O,H,Z){var re=H_(256*O,256*(H=Math.pow(2,Z)-H-1),Z),ce=H_(256*(O+1),256*(H+1),Z);return re[0]+","+re[1]+","+ce[0]+","+ce[1]}(this.x,this.y,this.z),D=function(O,H,Z){let re,ce="";for(let de=O;de>0;de--)re=1<1?"@2x":"").replace(/{quadkey}/g,D).replace(/{bbox-epsg-3857}/g,C)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new s((a.x*h-this.x)*hr,(a.y*h-this.y)*hr)}toString(){return`${this.z}/${this.x}/${this.y}`}}class _b{constructor(a,h){this.wrap=a,this.canonical=h,this.key=fg(a,h.z,h.z,h.x,h.y)}}class nf{constructor(a,h,A,C,D){if(this.terrainRttPosMatrix32f=null,a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new yv(A,+C,+D),this.key=fg(h,a,A,C,D)}clone(){return new nf(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new nf(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nf(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?fg(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):fg(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap||this.overscaledZ-a.overscaledZ<=0)return!1;if(a.overscaledZ===0)return this.overscaledZ>0;let h=this.canonical.z-a.canonical.z;return!(h<0)&&a.canonical.x===this.canonical.x>>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new nf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,C=2*this.canonical.y;return[new nf(h,this.wrap,h,A,C),new nf(h,this.wrap,h,A+1,C),new nf(h,this.wrap,h,A,C+1),new nf(h,this.wrap,h,A+1,C+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.yD.key===A);C>-1&&d.addOrUpdateProperties.splice(C,1)}return(d.removeAllProperties||a.removeAllProperties)&&(h.removeAllProperties=!0),(d.removeProperties||a.removeProperties)&&(h.removeProperties=[...d.removeProperties||[],...a.removeProperties||[]]),(d.addOrUpdateProperties||a.addOrUpdateProperties)&&(h.addOrUpdateProperties=[...d.addOrUpdateProperties||[],...a.addOrUpdateProperties||[]]),(d.newGeometry||a.newGeometry)&&(h.newGeometry=a.newGeometry||d.newGeometry),h}function vv(d){var a,h;if(!d)return{};let A={};return A.removeAll=d.removeAll,A.remove=new Set(d.remove||[]),A.add=new Map((a=d.add)===null||a===void 0?void 0:a.map(C=>[C.id,C])),A.update=new Map((h=d.update)===null||h===void 0?void 0:h.map(C=>[C.id,C])),A}ut("CanonicalTileID",yv),ut("OverscaledTileID",nf,{omit:["terrainRttPosMatrix32f"]});class xv{constructor(a){this._stringToNumber={},this._numberToString=[];for(let h=0;h=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class vb{constructor(a,h,A,C,D){this.type="Feature",this._vectorTileFeature=a,this._x=A,this._y=C,this._z=h,this.properties=a.properties,this.id=D}projectPoint(a,h,A,C){return[360*(a.x+h)/C-180,360/Math.PI*Math.atan(Math.exp((1-2*(a.y+A)/C)*Math.PI))-90]}projectLine(a,h,A,C){return a.map(D=>this.projectPoint(D,h,A,C))}get geometry(){if(this._geometry)return this._geometry;let a=this._vectorTileFeature,h=a.extent*Math.pow(2,this._z),A=a.extent*this._x,C=a.extent*this._y,D=a.loadGeometry();switch(a.type){case 1:{let O=[];for(let Z of D)O.push(Z[0]);let H=this.projectLine(O,A,C,h);this._geometry=O.length===1?{type:"Point",coordinates:H[0]}:{type:"MultiPoint",coordinates:H};break}case 2:{let O=D.map(H=>this.projectLine(H,A,C,h));this._geometry=O.length===1?{type:"LineString",coordinates:O[0]}:{type:"MultiLineString",coordinates:O};break}case 3:{let O=tI(D),H=[];for(let Z of O)H.push(Z.map(re=>this.projectLine(re,A,C,h)));this._geometry=H.length===1?{type:"Polygon",coordinates:H[0]}:{type:"MultiPolygon",coordinates:H};break}default:throw new Error(`unknown feature type: ${a.type}`)}return this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!=="_geometry"&&h!=="_vectorTileFeature"&&h!=="_x"&&h!=="_y"&&h!=="_z"&&(a[h]=this[h]);return a}}class ym{_name;dataBuffer;nullabilityBuffer;_size;constructor(a,h,A){this._name=a,this.dataBuffer=h,typeof A=="number"?this._size=A:(this.nullabilityBuffer=A,this._size=A.size())}getValue(a){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(a)?null:this.getValueFromBuffer(a)}has(a){return this.nullabilityBuffer&&this.nullabilityBuffer.get(a)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}}class G_ extends ym{}class lA extends G_{getValueFromBuffer(a){return this.dataBuffer[a]}}class W_ extends G_{getValueFromBuffer(a){return this.dataBuffer[a]}}class cA extends ym{delta;constructor(a,h,A,C){super(a,h,C),this.delta=A}}class q_ extends cA{constructor(a,h,A,C){super(a,Int32Array.of(h),A,C)}getValueFromBuffer(a){return this.dataBuffer[0]+a*this.delta}}class uA extends ym{constructor(a,h,A){super(a,Int32Array.of(h),A)}getValueFromBuffer(a){return this.dataBuffer[0]}}class nI{_name;_geometryVector;_idVector;_propertyVectors;_extent;propertyVectorsMap;constructor(a,h,A,C,D=4096){this._name=a,this._geometryVector=h,this._idVector=A,this._propertyVectors=C,this._extent=D}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors}getPropertyVector(a){return this.propertyVectorsMap||(this.propertyVectorsMap=new Map(this._propertyVectors.map(h=>[h.name,h]))),this.propertyVectorsMap.get(a)}*[Symbol.iterator](){let a=this.geometryVector[Symbol.iterator](),h=0;for(;h>4,Z<128||(Z=D[O.get()],O.increment(),H|=(127&Z)<<3,Z<128)||(Z=D[O.get()],O.increment(),H|=(127&Z)<<10,Z<128)||(Z=D[O.get()],O.increment(),H|=(127&Z)<<17,Z<128)||(Z=D[O.get()],O.increment(),H|=(127&Z)<<24,Z<128)||(Z=D[O.get()],O.increment(),H|=(1&Z)<<31,Z<128))return 4294967296*H+(C>>>0);throw new Error("Expected varint not more than 10 bytes")}(h,d,a)))))}function xb(d,a,h,A){throw new Error("FastPFor is not implemented yet.")}function bm(d){return d>>>1^-(1&d)}function l0(d){return d>>1n^-(1n&d)}function B2(d,a){let h=0n,A=0,C=a.get();for(;C=64)throw new Error("Varint too long")}return a.set(C),h}function L2(d,a,h){let A=new Int32Array(h),C=0;for(let D=0;D=4)for(let A=d[0];h>>1^-(1&d[0]),d[1]=d[1]>>>1^-(1&d[1]);let a=d.length/4*4,h=2;if(a>=4)for(;h>>1^-(1&A))+d[h-2],d[h+1]=(C>>>1^-(1&C))+d[h-1],d[h+2]=(D>>>1^-(1&D))+d[h],d[h+3]=(O>>>1^-(1&O))+d[h+1]}for(;h!=d.length;h+=2)d[h]=(d[h]>>>1^-(1&d[h]))+d[h-2],d[h+1]=(d[h+1]>>>1^-(1&d[h+1]))+d[h-1]}(function(d){d.NONE="NONE",d.DELTA="DELTA",d.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",d.RLE="RLE",d.MORTON="MORTON",d.PDE="PDE"})(Es||(Es={})),function(d){d.NONE="NONE",d.FAST_PFOR="FAST_PFOR",d.VARINT="VARINT",d.ALP="ALP"}(dg||(dg={})),function(d){d.PRESENT="PRESENT",d.DATA="DATA",d.OFFSET="OFFSET",d.LENGTH="LENGTH"}(Nu||(Nu={}));class O2{_dictionaryType;_offsetType;_lengthType;constructor(a,h,A){this._dictionaryType=a,this._offsetType=h,this._lengthType=A}get dictionaryType(){return this._dictionaryType}get offsetType(){return this._offsetType}get lengthType(){return this._lengthType}}function of(d,a){let h=function(A,C){let D=A[C.get()],O=Object.values(Nu)[D>>4],H=null;switch(O){case Nu.DATA:H=new O2(Object.values(vm)[15&D]);break;case Nu.OFFSET:H=new O2(null,Object.values(xm)[15&D]);break;case Nu.LENGTH:H=new O2(null,null,Object.values(ta)[15&D])}C.increment();let Z=A[C.get()],re=Object.values(Es)[Z>>5],ce=Object.values(Es)[Z>>2&7],de=Object.values(dg)[3&Z];C.increment();let we=Uu(A,C,2),Ee=we[0];return{physicalStreamType:O,logicalStreamType:H,logicalLevelTechnique1:re,logicalLevelTechnique2:ce,physicalLevelTechnique:de,numValues:Ee,byteLength:we[1],decompressedCount:Ee}}(d,a);return h.logicalLevelTechnique1===Es.MORTON?function(A,C,D){let O=Uu(C,D,2);return{physicalStreamType:A.physicalStreamType,logicalStreamType:A.logicalStreamType,logicalLevelTechnique1:A.logicalLevelTechnique1,logicalLevelTechnique2:A.logicalLevelTechnique2,physicalLevelTechnique:A.physicalLevelTechnique,numValues:A.numValues,byteLength:A.byteLength,decompressedCount:A.decompressedCount,numBits:O[0],coordinateShift:O[1]}}(h,d,a):Es.RLE!==h.logicalLevelTechnique1&&Es.RLE!==h.logicalLevelTechnique2||dg.NONE===h.physicalLevelTechnique?h:function(A,C,D){let O=Uu(C,D,2);return{physicalStreamType:A.physicalStreamType,logicalStreamType:A.logicalStreamType,logicalLevelTechnique1:A.logicalLevelTechnique1,logicalLevelTechnique2:A.logicalLevelTechnique2,physicalLevelTechnique:A.physicalLevelTechnique,numValues:A.numValues,byteLength:A.byteLength,decompressedCount:O[1],runs:O[0],numRleValues:O[1]}}(h,d,a)}(function(d){d.NONE="NONE",d.SINGLE="SINGLE",d.SHARED="SHARED",d.VERTEX="VERTEX",d.MORTON="MORTON",d.FSST="FSST"})(vm||(vm={})),function(d){d.VERTEX="VERTEX",d.INDEX="INDEX",d.STRING="STRING",d.KEY="KEY"}(xm||(xm={})),function(d){d.VAR_BINARY="VAR_BINARY",d.GEOMETRIES="GEOMETRIES",d.PARTS="PARTS",d.RINGS="RINGS",d.TRIANGLES="TRIANGLES",d.SYMBOL="SYMBOL",d.DICTIONARY="DICTIONARY"}(ta||(ta={})),function(d){d[d.FLAT=0]="FLAT",d[d.CONST=1]="CONST",d[d.SEQUENCE=2]="SEQUENCE",d[d.DICTIONARY=3]="DICTIONARY",d[d.FSST_DICTIONARY=4]="FSST_DICTIONARY"}(el||(el={}));class kp{values;_size;constructor(a,h){this.values=a,this._size=h}get(a){let h=Math.floor(a/8);return(this.values[h]>>a%8&1)==1}set(a,h){let A=Math.floor(a/8);this.values[A]=this.values[A]|(h?1:0)<>a%8&1}size(){return this._size}getBuffer(){return this.values}}function pl(d,a,h,A,C){return function(D,O,H){switch(O.logicalLevelTechnique1){case Es.DELTA:return O.logicalLevelTechnique2===Es.RLE?function(Z,re,ce){let de=new Int32Array(ce),we=0,Ee=0;for(let De=0;De>>1^-(1&Z[0]);let re=Z.length/4*4,ce=1;if(re>=4)for(;ce>>1^-(1&de))+Z[ce-1],Z[ce+1]=(we>>>1^-(1&we))+Z[ce],Z[ce+2]=(Ee>>>1^-(1&Ee))+Z[ce+1],Z[ce+3]=(De>>>1^-(1&De))+Z[ce+2]}for(;ce!=Z.length;++ce)Z[ce]=(Z[ce]>>>1^-(1&Z[ce]))+Z[ce-1]}(D),D);case Es.RLE:return function(Z,re,ce){return ce?function(de,we,Ee){let De=new Int32Array(Ee),ke=0;for(let qe=0;qe>>1^-(1&kt),De.fill(kt,ke,ke+st),ke+=st}return De}(Z,re.runs,re.numRleValues):L2(Z,re.runs,re.numRleValues)}(D,O,H);case Es.MORTON:return D2(D),D;case Es.COMPONENTWISE_DELTA:return sI(D),D;case Es.NONE:return H&&function(Z){for(let re=0;re>>1^-(1&ce)}}(D),D;default:throw new Error(`The specified Logical level technique is not supported: ${O.logicalLevelTechnique1}`)}}(bb(d,a,h),h,A)}function wm(d,a,h){return function(A,C){if(C.logicalLevelTechnique1===Es.DELTA&&C.logicalLevelTechnique2===Es.NONE)return function(O){let H=new Int32Array(O.length+1);H[0]=0,H[1]=bm(O[0]);let Z=H[1],re=2;for(;re!=H.length;++re){let ce=O[re-1];Z+=ce>>>1^-(1&ce),H[re]=H[re-1]+Z}return H}(A);if(C.logicalLevelTechnique1===Es.RLE&&C.logicalLevelTechnique2===Es.NONE)return function(O,H,Z){let re=new Int32Array(Z+1);re[0]=0;let ce=1,de=re[0];for(let we=0;we>>1^-(1&De);for(let ke=ce;ke>1n^-(1n&H[0]);let Z=H.length/4*4,re=1;if(Z>=4)for(;re>1n^-(1n&ce))+H[re-1],H[re+1]=(de>>1n^-(1n&de))+H[re],H[re+2]=(we>>1n^-(1n&we))+H[re+1],H[re+3]=(Ee>>1n^-(1n&Ee))+H[re+2]}for(;re!=H.length;++re)H[re]=(H[re]>>1n^-(1n&H[re]))+H[re-1]}(C),C);case Es.RLE:return function(H,Z,re){return re?function(ce,de,we){let Ee=new BigInt64Array(we),De=0;for(let ke=0;ke>1n^-(1n&st),Ee.fill(st,De,De+qe),De+=qe}return Ee}(H,Z.runs,Z.numRleValues):oI(H,Z.runs,Z.numRleValues)}(C,D,O);case Es.NONE:return O&&function(H){for(let Z=0;Z>1n^-(1n&re)}}(C),C;default:throw new Error(`The specified Logical level technique is not supported: ${D.logicalLevelTechnique1}`)}}($_(d,a,h.numValues),h,A)}function X_(d,a,h,A){let C=$_(d,a,h.numValues);if(C.length===1){let D=C[0];return A?l0(D):D}return A?function(D){return l0(D[1])}(C):function(D){return D[1]}(C)}function fA(d,a,h,A,C){return function(D,O,H,Z){switch(O.logicalLevelTechnique1){case Es.DELTA:return O.logicalLevelTechnique2===Es.RLE&&(D=L2(D,O.runs,O.numRleValues)),function(re,ce){let de=new Int32Array(re.size()),we=0;re.get(0)?(de[0]=re.get(0)?ce[0]>>>1^-(1&ce[0]):0,we=1):de[0]=0;let Ee=1;for(;Ee!=de.length;++Ee)de[Ee]=re.get(Ee)?de[Ee-1]+(ce[we]>>>1^-(1&ce[we++])):de[Ee-1];return de}(Z,D);case Es.RLE:return function(re,ce,de,we){let Ee=ce;return de?function(De,ke,qe){let st=new Int32Array(De.size()),kt=0;for(let pt=0;pt>>1^-(1&Ht);for(let Qt=kt;Qt>>1^-(1&De)}else de[Ee]=0;return de}(Z,D):function(re,ce){let de=new Int32Array(re.size()),we=0,Ee=0;for(;Ee!=de.length;++Ee)de[Ee]=re.get(Ee)?ce[we++]:0;return de}(Z,D),D;default:throw new Error("The specified Logical level technique is not supported")}}(h.physicalLevelTechnique===dg.FAST_PFOR?xb():Uu(d,a,h.numValues),h,A,C)}function c0(d,a,h,A){let C=d.logicalLevelTechnique1;if(C===Es.RLE)return d.runs===1?el.CONST:el.FLAT;let D=a instanceof kp?a.size():a;if(C===Es.DELTA&&d.logicalLevelTechnique2===Es.RLE){let O=d.runs,H=2;if(d.numRleValues!==D)return el.FLAT;if(O===1)return el.SEQUENCE;if(O===2){let Z=A.get(),re;if(d.physicalLevelTechnique===dg.VARINT)re=Uu(h,A,4);else{let ce=A.get();re=new Int32Array(h.buffer,h.byteOffset+ce,4)}if(A.set(Z),re[2]===H&&re[3]===H)return el.SEQUENCE}}return d.numValues===1?el.CONST:el.FLAT}class Z_ extends G_{getValueFromBuffer(a){return this.dataBuffer[a]}}class lI extends cA{constructor(a,h,A,C){super(a,BigInt64Array.of(h),A,C)}getValueFromBuffer(a){return this.dataBuffer[0]+BigInt(a)*this.delta}}class Y_{_geometryOffsets;_partOffsets;_ringOffsets;constructor(a,h,A){this._geometryOffsets=a,this._partOffsets=h,this._ringOffsets=A}get geometryOffsets(){return this._geometryOffsets}get partOffsets(){return this._partOffsets}get ringOffsets(){return this._ringOffsets}}function F2(d,a,h){return{x:cI(d,a)-h,y:cI(d>>1,a)-h}}function cI(d,a){let h=0;for(let A=0;A>A;return h}(function(d){d[d.POINT=0]="POINT",d[d.LINESTRING=1]="LINESTRING",d[d.POLYGON=2]="POLYGON",d[d.MULTIPOINT=3]="MULTIPOINT",d[d.MULTILINESTRING=4]="MULTILINESTRING",d[d.MULTIPOLYGON=5]="MULTIPOLYGON"})(zu||(zu={})),function(d){d[d.POINT=0]="POINT",d[d.LINESTRING=1]="LINESTRING",d[d.POLYGON=2]="POLYGON"}(a0||(a0={})),function(d){d[d.MORTON=0]="MORTON",d[d.VEC_2=1]="VEC_2",d[d.VEC_3=2]="VEC_3"}(td||(td={}));class uI{createPoint(a){return[[a]]}createMultiPoint(a){return a.map(h=>[h])}createLineString(a){return[a]}createMultiLineString(a){return a}createPolygon(a,h){return[a].concat(h)}createMultiPolygon(a){return a.flat()}}function k2(d){let a=new Array(d.numGeometries),h=1,A=1,C=1,D=0,O=new uI,H=0,Z=0,re=d.mortonSettings,ce=d.topologyVector,de=ce.geometryOffsets,we=ce.partOffsets,Ee=ce.ringOffsets,De=d.vertexOffsets,ke=d.containsPolygonGeometry(),qe=d.vertexBuffer;for(let st=0;st0&&ke.push(ke[0]),we.push(ke)}a[ce]=we,D&&re++}break;case zu.MULTIPOLYGON:{let de=D[re]-D[re-1];re++;let we=[];for(let Ee=0;Ee0&&st.push(st[0]),we.push(st)}}a[ce]=we}}return a}[Symbol.iterator](){return null}}function Tv(d,a,h,A,C,D){return new lD(d,a,h,A,C,D)}class lD extends dI{_numGeometries;_geometryType;constructor(a,h,A,C,D,O){super(A,C,D,O),this._numGeometries=a,this._geometryType=h}geometryType(a){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}}function Eb(d,a,h,A,C){return new x8(d,a,h,A,C)}class x8 extends dI{_geometryTypes;constructor(a,h,A,C,D){super(h,A,C,D),this._geometryTypes=a}geometryType(a){return this._geometryTypes[a]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}}function cD(d,a,h,A,C){let D=of(d,h),O=null,H=null,Z=null,re=null,ce=null,de=null,we=null,Ee=null;if(c0(D,A,d,h)===el.CONST){let ke=Np(d,h,D,!1);for(let qe=0;qeh?a[D++]:1);return A}function uD(d,a,h,A){let C=new Int32Array(a[a.length-1]+1),D=0;C[0]=D;let O=1,H=0;for(let Z=0;Z=12?T8.decode(d.subarray(a,h)):function(A,C,D){let O="",H=C;for(;H239?4:Z>223?3:Z>191?2:1;if(H+Ee>D)break;Ee===1?Z<128&&(we=Z):Ee===2?(re=A[H+1],(192&re)==128&&(we=(31&Z)<<6|63&re,we<=127&&(we=null))):Ee===3?(re=A[H+1],ce=A[H+2],(192&re)==128&&(192&ce)==128&&(we=(15&Z)<<12|(63&re)<<6|63&ce,(we<=2047||we>=55296&&we<=57343)&&(we=null))):Ee===4&&(re=A[H+1],ce=A[H+2],de=A[H+3],(192&re)==128&&(192&ce)==128&&(192&de)==128&&(we=(15&Z)<<18|(63&re)<<12|(63&ce)<<6|63&de,(we<=65535||we>=1114112)&&(we=null))),we===null?(we=65533,Ee=1):we>65535&&(we-=65536,O+=String.fromCharCode(we>>>10&1023|55296),we=56320|1023&we),O+=String.fromCharCode(we),H+=Ee}return O}(d,a,h)}class Sv extends ym{offsetBuffer;constructor(a,h,A,C){super(a,A,C),this.offsetBuffer=h}}class mI extends Sv{textEncoder;constructor(a,h,A,C){super(a,h,A,C??h.length-1),this.textEncoder=new TextEncoder}getValueFromBuffer(a){return Up(this.dataBuffer,this.offsetBuffer[a],this.offsetBuffer[a+1])}}class mg extends Sv{indexBuffer;textEncoder;constructor(a,h,A,C,D){super(a,A,C,D??h.length),this.indexBuffer=h,this.indexBuffer=h,this.textEncoder=new TextEncoder}getValueFromBuffer(a){let h=this.indexBuffer[a];return Up(this.dataBuffer,this.offsetBuffer[h],this.offsetBuffer[h+1])}}class gI extends Sv{indexBuffer;symbolOffsetBuffer;symbolTableBuffer;textEncoder;symbolLengthBuffer;lengthBuffer;decodedDictionary;constructor(a,h,A,C,D,O,H){super(a,A,C,H),this.indexBuffer=h,this.symbolOffsetBuffer=D,this.symbolTableBuffer=O,this.textEncoder=new TextEncoder}getValueFromBuffer(a){this.decodedDictionary==null&&(this.symbolLengthBuffer==null&&(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer),this.lengthBuffer=this.offsetToLengthBuffer(this.offsetBuffer)),this.decodedDictionary=function(A,C,D){let O=[],H=new Array(C.length).fill(0);for(let Z=1;Z>1n^-(1n&rn[0]):0n,pa=1):Vn[0]=0n;let Hs=1;for(;Hs!=Vn.length;++Hs)Vn[Hs]=vn.get(Hs)?Vn[Hs-1]+(rn[pa]>>1n^-(1n&rn[pa++])):Vn[Hs-1];return Vn}(cn,Qr);case Es.RLE:return function(vn,rn,Vn,pa){let Hs=rn;return Vn?function(vc,Ef,Vu){let xc=new BigInt64Array(vc.size()),sc=0;for(let za=0;za>1n^-(1n&lu);for(let ql=sc;ql>1n^-(1n&vc)}else Vn[Hs]=0n;return Vn}(cn,Qr):function(vn,rn){let Vn=new BigInt64Array(vn.size()),pa=0,Hs=0;for(;Hs!=Vn.length;++Hs)Vn[Hs]=vn.get(Hs)?rn[pa++]:0n;return Vn}(cn,Qr),Qr;default:throw new Error("The specified Logical level technique is not supported")}}($_(oi,Kr,gi.numValues),gi,ji,vi)}(ke,qe,_t,Qt,kt):hA(ke,qe,_t,Qt);return new Z_(st.name,Ir,kt)}if(Ht===el.SEQUENCE){let Ir=aI(ke,qe,_t);return new lI(st.name,Ir[0],Ir[1],_t.numRleValues)}{let Ir=X_(ke,qe,_t,Qt);return new hD(st.name,Ir,kt)}}(H,Z,de,De,ce);case 7:return function(ke,qe,st,kt){let pt=of(ke,qe),_t=AI(kt)?function(Ht,Qt,Ir,oi){let Kr=Qt.get(),gi=Kr+oi*Float32Array.BYTES_PER_ELEMENT,ji=new Uint8Array(Ht.subarray(Kr,gi)).buffer,vi=new Float32Array(ji);Qt.set(gi);let Qr=Ir.size(),jr=new Float32Array(Qr),dn=0;for(let cn=0;cn>>0,A=!!(4&h),C=!!(2&h),D=Uu(d,a,1)[0]>>>0,O={};if(1&h&&(O.nullable=!0),C){let H={};if(A?(H.type="logicalType",H.logicalType=D):(H.type="physicalType",H.physicalType=D),8&h){let Z=Uu(d,a,1)[0]>>>0;H.children=new Array(Z);for(let re=0;re>>0,A=function(C){switch(C){case 0:case 1:case 2:case 3:{let D={};D.nullable=!!(1&C),D.columnScope=0;let O={};return O.physicalType=C>1?6:4,O.type="physicalType",D.scalarType=O,D.type="scalarType",D}case 4:{let D={nullable:!1,columnScope:0},O={type:"physicalType",physicalType:0};return D.type="complexType",D.complexType=O,D}case 30:{let D={nullable:!1,columnScope:0},O={type:"physicalType",physicalType:1};return D.type="complexType",D.complexType=O,D}default:return function(D){let O=null;switch(D){case 10:case 11:O=0;break;case 12:case 13:O=1;break;case 14:case 15:O=2;break;case 16:case 17:O=3;break;case 18:case 19:O=4;break;case 20:case 21:O=5;break;case 22:case 23:O=6;break;case 24:case 25:O=7;break;case 26:case 27:O=8;break;case 28:case 29:O=9;break;default:return null}let H={};H.nullable=!!(1&D),H.columnScope=0;let Z={type:"physicalType"};return Z.physicalType=O,H.type="scalarType",H.scalarType=Z,H}(C)}}(h);if(!A)throw new Error(`Unsupported column type code: ${h}`);if(function(C){return C>=10}(h)?A.name=BK(d,a):h>=0&&h<=3?A.name="id":h===4&&(A.name="geometry"),function(C){return C===30}(h)){let C=Uu(d,a,1)[0]>>>0,D=A.complexType;D.children=new Array(C);for(let O=0;O>>0,D=Uu(d,a,1)[0]>>>0;A.columns=new Array(D);for(let O=0;O=4)for(;Ht<_t-4;Ht+=4){let Qt=pt[Ht],Ir=pt[Ht+1],oi=pt[Ht+2],Kr=pt[Ht+3];pt[Ht]=(Qt%2==1?(Qt+1)/-2:Qt/2)+pt[Ht-1],pt[Ht+1]=(Ir%2==1?(Ir+1)/-2:Ir/2)+pt[Ht],pt[Ht+2]=(oi%2==1?(oi+1)/-2:oi/2)+pt[Ht+1],pt[Ht+3]=(Kr%2==1?(Kr+1)/-2:Kr/2)+pt[Ht+2]}for(;Ht!=pt.length;++Ht)pt[Ht]=(pt[Ht]%2==1?(pt[Ht]+1)/-2:pt[Ht]/2)+pt[Ht-1]}(qe),qe;case Es.RLE:return function(pt,_t,Ht){return Ht?function(Qt,Ir,oi){let Kr=new Float64Array(oi),gi=0;for(let ji=0;ji>>0,re=O.get()+Z;if(re>A.length)throw new Error(`Block overruns tile: ${re} > ${A.length}`);if(Uu(A,O,1)[0]>>>0!=1){O.set(re);continue}let ce=J2e(A,O),de=ce[1],we=ce[0].featureTables[0],Ee=null,De=null,ke=[],qe=0;for(let kt of we.columns){let pt=kt.name;if(pt==="id"){let _t=null;if(kt.nullable){let Qt=of(A,O),Ir=O.get(),oi=Cb(A,Qt.numValues,O);O.set(Ir+Qt.byteLength),_t=new kp(oi,Qt.numValues)}let Ht=of(A,O);qe=Ht.decompressedCount,Ee=eTe(A,kt,O,pt,Ht,_t??qe,D)}else if(pt==="geometry"){let _t=Uu(A,O,1)[0];if(qe===0){let Ht=O.get();qe=of(A,O).decompressedCount,O.set(Ht)}De=cD(A,_t,O,qe)}else{let _t=Y2e(kt)?Uu(A,O,1)[0]:1;if(_t===0&&kt.type==="scalarType")continue;let Ht=Z2e(A,O,kt,_t,qe);if(Ht)if(Array.isArray(Ht))for(let Qt of Ht)ke.push(Qt);else ke.push(Ht)}}let st=new nI(we.name,De,Ee,ke,de);H.push(st),O.set(re)}return H}(new Uint8Array(a));this.layers=h.reduce((A,C)=>Object.assign(Object.assign({},A),{[C.name]:new rTe(C)}),{})}}class Ib{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(a){return this.minX=Math.min(this.minX,a.x),this.minY=Math.min(this.minY,a.y),this.maxX=Math.max(this.maxX,a.x),this.maxY=Math.max(this.maxY,a.y),this}expandBy(a){return this.minX-=a,this.minY-=a,this.maxX+=a,this.maxY+=a,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(a){return this.expandBy(-a)}map(a){let h=new Ib;return h.extend(a(new s(this.minX,this.minY))),h.extend(a(new s(this.maxX,this.minY))),h.extend(a(new s(this.minX,this.maxY))),h.extend(a(new s(this.maxX,this.maxY))),h}static fromPoints(a){let h=new Ib;for(let A of a)h.extend(A);return h}contains(a){return a.x>=this.minX&&a.x<=this.maxX&&a.y>=this.minY&&a.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(a){return!this.empty()&&!a.empty()&&a.minX>=this.minX&&a.maxX<=this.maxX&&a.minY>=this.minY&&a.maxY<=this.maxY}intersects(a){return!this.empty()&&!a.empty()&&a.minX<=this.maxX&&a.maxX>=this.minX&&a.minY<=this.maxY&&a.maxY>=this.minY}}class iTe{constructor(a,h){this.feature=a,this.type=a.type,this.properties=a.tags?a.tags:{},this.extent=h,"id"in a&&(typeof a.id=="string"?this.id=parseInt(a.id,10):typeof a.id!="number"||isNaN(a.id)||(this.id=a.id))}loadGeometry(){let a=[],h=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let A of h){let C=[];for(let D of A)C.push(new s(D[0],D[1]));a.push(C)}return a}}let _I="_geojsonTileLayer";function nTe(d,a){a.writeVarintField(15,d.version||1),a.writeStringField(1,d.name||""),a.writeVarintField(5,d.extent||4096);let h={keys:[],values:[],keycache:{},valuecache:{}};for(let D=0;D>31}function aTe(d,a){let h=d.loadGeometry(),A=d.type,C=0,D=0;for(let O of h){let H=1;A===1&&(H=O.length),a.writeVarint(S8(1,H));let Z=A===3?O.length-1:O.length;for(let re=0;re=0&&de[3]>=0&&Z.insert(H,de[0],de[1],de[2],de[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding!=="mlt"?new ub(new tr(this.rawTileData)).layers:new DK(this.rawTileData).layers,this.sourceLayerCoder=new xv(this.vtLayers?Object.keys(this.vtLayers).sort():[_I])),this.vtLayers}query(a,h,A,C){this.loadVTLayers();let D=a.params,O=hr/a.tileSize/a.scale,H=Pc(D.filter,D.globalState),Z=a.queryGeometry,re=a.queryPadding*O,ce=Ib.fromPoints(Z),de=this.grid.query(ce.minX-re,ce.minY-re,ce.maxX+re,ce.maxY+re),we=Ib.fromPoints(a.cameraQueryGeometry).expandBy(re),Ee=this.grid3D.query(we.minX,we.minY,we.maxX,we.maxY,(qe,st,kt,pt)=>function(_t,Ht,Qt,Ir,oi){for(let gi of _t)if(Ht<=gi.x&&Qt<=gi.y&&Ir>=gi.x&&oi>=gi.y)return!0;let Kr=[new s(Ht,Qt),new s(Ht,oi),new s(Ir,oi),new s(Ir,Qt)];if(_t.length>2){for(let gi of Kr)if(Bo(_t,gi))return!0}for(let gi=0;gi<_t.length-1;gi++)if(ib(_t[gi],_t[gi+1],Kr))return!0;return!1}(a.cameraQueryGeometry,qe-re,st-re,kt+re,pt+re));for(let qe of Ee)de.push(qe);de.sort(cTe);let De={},ke;for(let qe=0;qe(pt||(pt=or(_t)),Ht.queryIntersectsFeature({queryGeometry:Z,feature:_t,featureState:Qt,geometry:pt,zoom:this.z,transform:a.transform,pixelsToTileUnits:O,pixelPosMatrix:a.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:a.getElevation})))}return De}loadMatchingFeature(a,h,A,C,D,O,H,Z,re,ce,de){let we=this.bucketLayerIDs[h];if(O&&!we.some(qe=>O.has(qe)))return;let Ee=this.sourceLayerCoder.decode(A),De=this.vtLayers[Ee].feature(C);if(D.needGeometry){let qe=Pi(De,!0);if(!D.filter(new Gi(this.tileID.overscaledZ),qe,this.tileID.canonical))return}else if(!D.filter(new Gi(this.tileID.overscaledZ),De))return;let ke=this.getId(De,Ee);for(let qe=0;qe{let H=a instanceof Ta?a.get(O):null;return H&&H.evaluate?H.evaluate(h,A,C):H})}function cTe(d,a){return a-d}function NK(d,a,h,A,C){let D=[];for(let O=0;O=A&&de.x>=A||(ce.x>=A?ce=new s(A,ce.y+(A-ce.x)/(de.x-ce.x)*(de.y-ce.y))._round():de.x>=A&&(de=new s(A,ce.y+(A-ce.x)/(de.x-ce.x)*(de.y-ce.y))._round()),ce.y>=C&&de.y>=C||(ce.y>=C?ce=new s(ce.x+(C-ce.y)/(de.y-ce.y)*(de.x-ce.x),C)._round():de.y>=C&&(de=new s(ce.x+(C-ce.y)/(de.y-ce.y)*(de.x-ce.x),C)._round()),Z&&ce.equals(Z[Z.length-1])||(Z=[ce],D.push(Z)),Z.push(de)))))}}return D}function zK(d,a,h,A,C){switch(a){case 1:return function(D,O,H,Z){let re=[];for(let ce of D)for(let de of ce){let we=Z===0?de.x:de.y;we>=O&&we<=H&&re.push([de])}return re}(d,h,A,C);case 2:return UK(d,h,A,C,!1);case 3:return UK(d,h,A,C,!0)}return[]}function uTe(d,a,h,A,C){let D=A===0?hTe:fTe,O=[],H=[];for(let ce=0;cea&&O.push(D(de,we,a)):Ee>h?De=a&&(O.push(D(de,we,a)),ke=!0),De>h&&Ee<=h&&(O.push(D(de,we,h)),ke=!0),!C&&ke&&(H.push(O),O=[])}let Z=d.length-1,re=A===0?d[Z].x:d[Z].y;return re>=a&&re<=h&&O.push(d[Z]),C&&O.length>0&&!O[0].equals(O[O.length-1])&&O.push(new s(O[0].x,O[0].y)),O.length>0&&H.push(O),H}function UK(d,a,h,A,C){let D=[];for(let O of d){let H=uTe(O,a,h,A,C);H.length>0&&D.push(...H)}return D}function hTe(d,a,h){return new s(h,d.y+(h-d.x)/(a.x-d.x)*(a.y-d.y))}function fTe(d,a,h){return new s(d.x+(h-d.y)/(a.y-d.y)*(a.x-d.x),h)}ut("FeatureIndex",FK,{omit:["rawTileData","sourceLayerCoder"]});class Ev extends s{constructor(a,h,A,C){super(a,h),this.angle=A,C!==void 0&&(this.segment=C)}clone(){return new Ev(this.x,this.y,this.angle,this.segment)}}function VK(d,a,h,A,C){if(a.segment===void 0||h===0)return!0;let D=a,O=a.segment+1,H=0;for(;H>-h/2;){if(O--,O<0)return!1;H-=d[O].dist(D),D=d[O]}H+=d[O].dist(d[O+1]),O++;let Z=[],re=0;for(;HA;)re-=Z.shift().angleDelta;if(re>C)return!1;O++,H+=ce.dist(de)}return!0}function jK(d){let a=0;for(let h=0;hre){let De=(re-Z)/Ee,ke=Fr.number(de.x,we.x,De),qe=Fr.number(de.y,we.y,De),st=new Ev(ke,qe,we.angleTo(de),ce);return st._round(),!O||VK(d,st,H,O,a)?st:void 0}Z+=Ee}}function pTe(d,a,h,A,C,D,O,H,Z){let re=HK(A,D,O),ce=GK(A,C),de=ce*O,we=d[0].x===0||d[0].x===Z||d[0].y===0||d[0].y===Z;return a-de
=0&&_t=0&&Ht=0&&we+re<=ce){let Qt=new Ev(_t,Ht,kt,De);Qt._round(),A&&!VK(d,Qt,D,A,C)||Ee.push(Qt)}}de+=st}return H||Ee.length||O||(Ee=WK(d,de/2,h,A,C,D,O,!0,Z)),Ee}function qK(d,a,h,A){let C=[],D=d.image,O=D.pixelRatio,H=D.paddedRect.w-2,Z=D.paddedRect.h-2,re={x1:d.left,y1:d.top,x2:d.right,y2:d.bottom},ce=D.stretchX||[[0,H]],de=D.stretchY||[[0,Z]],we=(jr,dn)=>jr+dn[1]-dn[0],Ee=ce.reduce(we,0),De=de.reduce(we,0),ke=H-Ee,qe=Z-De,st=0,kt=Ee,pt=0,_t=De,Ht=0,Qt=ke,Ir=0,oi=qe;if(D.content&&A){let jr=D.content,dn=jr[2]-jr[0],cn=jr[3]-jr[1];(D.textFitWidth||D.textFitHeight)&&(re=ih(d)),st=dD(ce,0,jr[0]),pt=dD(de,0,jr[1]),kt=dD(ce,jr[0],jr[2]),_t=dD(de,jr[1],jr[3]),Ht=jr[0]-st,Ir=jr[1]-pt,Qt=dn-kt,oi=cn-_t}let Kr=re.x1,gi=re.y1,ji=re.x2-Kr,vi=re.y2-gi,Qr=(jr,dn,cn,vn)=>{let rn=pD(jr.stretch-st,kt,ji,Kr),Vn=mD(jr.fixed-Ht,Qt,jr.stretch,Ee),pa=pD(dn.stretch-pt,_t,vi,gi),Hs=mD(dn.fixed-Ir,oi,dn.stretch,De),vc=pD(cn.stretch-st,kt,ji,Kr),Ef=mD(cn.fixed-Ht,Qt,cn.stretch,Ee),Vu=pD(vn.stretch-pt,_t,vi,gi),xc=mD(vn.fixed-Ir,oi,vn.stretch,De),sc=new s(rn,pa),za=new s(vc,pa),$c=new s(vc,Vu),lu=new s(rn,Vu),ql=new s(Vn/O,Hs/O),ep=new s(Ef/O,xc/O),Cf=a*Math.PI/180;if(Cf){let Th=Math.sin(Cf),Bc=Math.cos(Cf),ju=[Bc,-Th,Th,Bc];sc._matMult(ju),za._matMult(ju),lu._matMult(ju),$c._matMult(ju)}let tp=jr.stretch+jr.fixed,gg=dn.stretch+dn.fixed;return{tl:sc,tr:za,bl:lu,br:$c,tex:{x:D.paddedRect.x+1+tp,y:D.paddedRect.y+1+gg,w:cn.stretch+cn.fixed-tp,h:vn.stretch+vn.fixed-gg},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ql,pixelOffsetBR:ep,minFontScaleX:Qt/O/ji,minFontScaleY:oi/O/vi,isSDF:h}};if(A&&(D.stretchX||D.stretchY)){let jr=$K(ce,ke,Ee),dn=$K(de,qe,De);for(let cn=0;cn0&&(ke=Math.max(10,ke),this.circleDiameter=ke)}else{let we=!((de=O.image)===null||de===void 0)&&de.content&&(O.image.textFitWidth||O.image.textFitHeight)?ih(O):{x1:O.left,y1:O.top,x2:O.right,y2:O.bottom};we.y1=we.y1*H-Z[0],we.y2=we.y2*H+Z[2],we.x1=we.x1*H-Z[3],we.x2=we.x2*H+Z[1];let Ee=O.collisionPadding;if(Ee&&(we.x1-=Ee[0]*H,we.y1-=Ee[1]*H,we.x2+=Ee[2]*H,we.y2+=Ee[3]*H),ce){let De=new s(we.x1,we.y1),ke=new s(we.x2,we.y1),qe=new s(we.x1,we.y2),st=new s(we.x2,we.y2),kt=ce*Math.PI/180;De._rotate(kt),ke._rotate(kt),qe._rotate(kt),st._rotate(kt),we.x1=Math.min(De.x,ke.x,qe.x,st.x),we.x2=Math.max(De.x,ke.x,qe.x,st.x),we.y1=Math.min(De.y,ke.y,qe.y,st.y),we.y2=Math.max(De.y,ke.y,qe.y,st.y)}a.emplaceBack(h.x,h.y,we.x1,we.y1,we.x2,we.y2,A,C,D)}this.boxEndIndex=a.length}}class mTe{constructor(a=[],h=(A,C)=>AC?1:0){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this._up(this.length++)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return--this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,C=h[a];for(;a>0;){let D=a-1>>1,O=h[D];if(A(C,O)>=0)break;h[a]=O,a=D}h[a]=C}_down(a){let{data:h,compare:A}=this,C=this.length>>1,D=h[a];for(;a=0)break;h[a]=h[O],a=O}h[a]=D}}function gTe(d,a=1,h=!1){let A=Ib.fromPoints(d[0]),C=Math.min(A.width(),A.height()),D=C/2,O=new mTe([],ATe),{minX:H,minY:Z,maxX:re,maxY:ce}=A;if(C===0)return new s(H,Z);for(let Ee=H;Eede.d||!de.d)&&(de=Ee,h&&console.log("found best %d after %d probes",Math.round(1e4*Ee.d)/1e4,we)),Ee.max-de.d<=a||(D=Ee.h/2,O.push(new U2(Ee.p.x-D,Ee.p.y-D,D,d)),O.push(new U2(Ee.p.x+D,Ee.p.y-D,D,d)),O.push(new U2(Ee.p.x-D,Ee.p.y+D,D,d)),O.push(new U2(Ee.p.x+D,Ee.p.y+D,D,d)),we+=4)}return h&&(console.log(`num probes: ${we}`),console.log(`best distance: ${de.d}`)),de.p}function ATe(d,a){return a.max-d.max}function U2(d,a,h,A){this.p=new s(d,a),this.h=h,this.d=function(C,D){let O=!1,H=1/0;for(let Z=0;ZC.y!=De.y>C.y&&C.x<(De.x-Ee.x)*(C.y-Ee.y)/(De.y-Ee.y)+Ee.x&&(O=!O),H=Math.min(H,Qo(C,Ee,De))}}return(O?1:-1)*Math.sqrt(H)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Sf;n.aQ=void 0,(Sf=n.aQ||(n.aQ={}))[Sf.center=1]="center",Sf[Sf.left=2]="left",Sf[Sf.right=3]="right",Sf[Sf.top=4]="top",Sf[Sf.bottom=5]="bottom",Sf[Sf["top-left"]=6]="top-left",Sf[Sf["top-right"]=7]="top-right",Sf[Sf["bottom-left"]=8]="bottom-left",Sf[Sf["bottom-right"]=9]="bottom-right";let E8=Number.POSITIVE_INFINITY;function XK(d,a){return a[1]!==E8?function(h,A,C){let D=0,O=0;switch(A=Math.abs(A),C=Math.abs(C),h){case"top-right":case"top-left":case"top":O=C-7;break;case"bottom-right":case"bottom-left":case"bottom":O=7-C}switch(h){case"top-right":case"bottom-right":case"right":D=-A;break;case"top-left":case"bottom-left":case"left":D=A}return[D,O]}(d,a[0],a[1]):function(h,A){let C=0,D=0;A<0&&(A=0);let O=A/Math.SQRT2;switch(h){case"top-right":case"top-left":D=O-7;break;case"bottom-right":case"bottom-left":D=7-O;break;case"bottom":D=7-A;break;case"top":D=A-7}switch(h){case"top-right":case"bottom-right":C=-O;break;case"top-left":case"bottom-left":C=O;break;case"left":C=A;break;case"right":C=-A}return[C,D]}(d,a[0])}function ZK(d,a,h){var A;let C=d.layout,D=(A=C.get("text-variable-anchor-offset"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(D){let H=D.values,Z=[];for(let re=0;rewe*R);ce.startsWith("top")?de[1]-=7:ce.startsWith("bottom")&&(de[1]+=7),Z[re+1]=de}return new sl(Z)}let O=C.get("text-variable-anchor");if(O){let H;H=d._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[C.get("text-radial-offset").evaluate(a,{},h)*R,E8]:C.get("text-offset").evaluate(a,{},h).map(re=>re*R);let Z=[];for(let re of O)Z.push(re,XK(re,H));return new sl(Z)}return null}function C8(d){switch(d){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function _Te(d,a,h,A,C,D,O,H,Z,re,ce,de){let we=D.textMaxSize.evaluate(a,{});we===void 0&&(we=O);let Ee=d.layers[0].layout,De=Ee.get("icon-offset").evaluate(a,{},ce),ke=KK(h.horizontal),qe=O/24,st=d.tilePixelRatio*qe,kt=d.tilePixelRatio*we/24,pt=d.tilePixelRatio*H,_t=d.tilePixelRatio*Ee.get("symbol-spacing"),Ht=Ee.get("text-padding")*d.tilePixelRatio,Qt=function(cn,vn,rn,Vn=1){let pa=cn.get("icon-padding").evaluate(vn,{},rn),Hs=pa&&pa.values;return[Hs[0]*Vn,Hs[1]*Vn,Hs[2]*Vn,Hs[3]*Vn]}(Ee,a,ce,d.tilePixelRatio),Ir=Ee.get("text-max-angle")/180*Math.PI,oi=Ee.get("text-rotation-alignment")!=="viewport"&&Ee.get("symbol-placement")!=="point",Kr=Ee.get("icon-rotation-alignment")==="map"&&Ee.get("symbol-placement")!=="point",gi=Ee.get("symbol-placement"),ji=_t/2,vi=Ee.get("icon-text-fit"),Qr;A&&vi!=="none"&&(d.allowVerticalPlacement&&h.vertical&&(Qr=su(A,h.vertical,vi,Ee.get("icon-text-fit-padding"),De,qe)),ke&&(A=su(A,ke,vi,Ee.get("icon-text-fit-padding"),De,qe)));let jr=ce?de.line.getGranularityForZoomLevel(ce.z):1,dn=(cn,vn)=>{vn.x<0||vn.x>=hr||vn.y<0||vn.y>=hr||function(rn,Vn,pa,Hs,vc,Ef,Vu,xc,sc,za,$c,lu,ql,ep,Cf,tp,gg,Th,Bc,ju,Xc,Sh,K_,u0,xI){let Cv=rn.addToLineVertexArray(Vn,pa),Mb,V2,j2,H2,tQ=0,rQ=0,iQ=0,nQ=0,O8=-1,F8=-1,Q_={},oQ=qs("");if(rn.allowVerticalPlacement&&Hs.vertical){let rd=xc.layout.get("text-rotate").evaluate(Xc,{},u0)+90;j2=new gD(sc,Vn,za,$c,lu,Hs.vertical,ql,ep,Cf,rd),Vu&&(H2=new gD(sc,Vn,za,$c,lu,Vu,gg,Th,Cf,rd))}if(vc){let rd=xc.layout.get("icon-rotate").evaluate(Xc,{}),Tm=xc.layout.get("icon-text-fit")!=="none",Pb=qK(vc,rd,K_,Tm),f0=Vu?qK(Vu,rd,K_,Tm):void 0;V2=new gD(sc,Vn,za,$c,lu,vc,gg,Th,!1,rd),tQ=4*Pb.length;let Rb=rn.iconSizeData,dA=null;Rb.kind==="source"?(dA=[nc*xc.layout.get("icon-size").evaluate(Xc,{})],dA[0]>ka&&ln(`${rn.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):Rb.kind==="composite"&&(dA=[nc*Sh.compositeIconSizes[0].evaluate(Xc,{},u0),nc*Sh.compositeIconSizes[1].evaluate(Xc,{},u0)],(dA[0]>ka||dA[1]>ka)&&ln(`${rn.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),rn.addSymbols(rn.icon,Pb,dA,ju,Bc,Xc,n.aA.none,Vn,Cv.lineStartIndex,Cv.lineLength,-1,u0),O8=rn.icon.placedSymbolArray.length-1,f0&&(rQ=4*f0.length,rn.addSymbols(rn.icon,f0,dA,ju,Bc,Xc,n.aA.vertical,Vn,Cv.lineStartIndex,Cv.lineLength,-1,u0),F8=rn.icon.placedSymbolArray.length-1)}let sQ=Object.keys(Hs.horizontal);for(let rd of sQ){let Tm=Hs.horizontal[rd];if(!Mb){oQ=qs(Tm.text);let f0=xc.layout.get("text-rotate").evaluate(Xc,{},u0);Mb=new gD(sc,Vn,za,$c,lu,Tm,ql,ep,Cf,f0)}let Pb=Tm.positionedLines.length===1;if(iQ+=YK(rn,Vn,Tm,Ef,xc,Cf,Xc,tp,Cv,Hs.vertical?n.aA.horizontal:n.aA.horizontalOnly,Pb?sQ:[rd],Q_,O8,Sh,u0),Pb)break}Hs.vertical&&(nQ+=YK(rn,Vn,Hs.vertical,Ef,xc,Cf,Xc,tp,Cv,n.aA.vertical,["vertical"],Q_,F8,Sh,u0));let xTe=Mb?Mb.boxStartIndex:rn.collisionBoxArray.length,bTe=Mb?Mb.boxEndIndex:rn.collisionBoxArray.length,wTe=j2?j2.boxStartIndex:rn.collisionBoxArray.length,TTe=j2?j2.boxEndIndex:rn.collisionBoxArray.length,STe=V2?V2.boxStartIndex:rn.collisionBoxArray.length,ETe=V2?V2.boxEndIndex:rn.collisionBoxArray.length,CTe=H2?H2.boxStartIndex:rn.collisionBoxArray.length,ITe=H2?H2.boxEndIndex:rn.collisionBoxArray.length,h0=-1,_D=(rd,Tm)=>rd&&rd.circleDiameter?Math.max(rd.circleDiameter,Tm):Tm;h0=_D(Mb,h0),h0=_D(j2,h0),h0=_D(V2,h0),h0=_D(H2,h0);let aQ=h0>-1?1:0;aQ&&(h0*=xI/R),rn.glyphOffsetArray.length>=dl.MAX_GLYPHS&&ln("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Xc.sortKey!==void 0&&rn.addToSortKeyRanges(rn.symbolInstances.length,Xc.sortKey);let MTe=ZK(xc,Xc,u0),[PTe,RTe]=function(rd,Tm){let Pb=rd.length,f0=Tm?.values;if(f0?.length>0)for(let Rb=0;Rb=0?Q_.right:-1,Q_.center>=0?Q_.center:-1,Q_.left>=0?Q_.left:-1,Q_.vertical||-1,O8,F8,oQ,xTe,bTe,wTe,TTe,STe,ETe,CTe,ITe,za,iQ,nQ,tQ,rQ,aQ,0,ql,h0,PTe,RTe)}(d,vn,cn,h,A,C,Qr,d.layers[0],d.collisionBoxArray,a.index,a.sourceLayerIndex,d.index,st,[Ht,Ht,Ht,Ht],oi,Z,pt,Qt,Kr,De,a,D,re,ce,O)};if(gi==="line")for(let cn of NK(a.geometry,0,0,hr,hr)){let vn=D_(cn,jr),rn=pTe(vn,_t,Ir,h.vertical||ke,A,24,kt,d.overscaling,hr);for(let Vn of rn)ke&&yTe(d,ke.text,ji,Vn)||dn(vn,Vn)}else if(gi==="line-center"){for(let cn of a.geometry)if(cn.length>1){let vn=D_(cn,jr),rn=dTe(vn,Ir,h.vertical||ke,A,24,kt);rn&&dn(vn,rn)}}else if(a.type==="Polygon")for(let cn of dt(a.geometry,0)){let vn=gTe(cn,16);dn(D_(cn[0],jr,!0),new Ev(vn.x,vn.y,0))}else if(a.type==="LineString")for(let cn of a.geometry){let vn=D_(cn,jr);dn(vn,new Ev(vn[0].x,vn[0].y,0))}else if(a.type==="Point")for(let cn of a.geometry)for(let vn of cn)dn([vn],new Ev(vn.x,vn.y,0))}function YK(d,a,h,A,C,D,O,H,Z,re,ce,de,we,Ee,De){let ke=function(kt,pt,_t,Ht,Qt,Ir,oi,Kr){let gi=Ht.layout.get("text-rotate").evaluate(Ir,{})*Math.PI/180,ji=[];for(let vi of pt.positionedLines)for(let Qr of vi.positionedGlyphs){if(!Qr.rect)continue;let jr=Qr.rect||{},dn=4,cn=!0,vn=1,rn=0,Vn=(Qt||Kr)&&Qr.vertical,pa=Qr.metrics.advance*Qr.scale/2;if(Kr&&pt.verticalizable&&(rn=vi.lineOffset/2-(Qr.imageName?-(R-Qr.metrics.width*Qr.scale)/2:(Qr.scale-1)*R)),Qr.imageName){let Th=oi[Qr.imageName];cn=Th.sdf,vn=Th.pixelRatio,dn=1/vn}let Hs=Qt?[Qr.x+pa,Qr.y]:[0,0],vc=Qt?[0,0]:[Qr.x+pa+_t[0],Qr.y+_t[1]-rn],Ef=[0,0];Vn&&(Ef=vc,vc=[0,0]);let Vu=Qr.metrics.isDoubleResolution?2:1,xc=(Qr.metrics.left-dn)*Qr.scale-pa+vc[0],sc=(-Qr.metrics.top-dn)*Qr.scale+vc[1],za=xc+jr.w/Vu*Qr.scale/vn,$c=sc+jr.h/Vu*Qr.scale/vn,lu=new s(xc,sc),ql=new s(za,sc),ep=new s(xc,$c),Cf=new s(za,$c);if(Vn){let Th=new s(-pa,pa- -17),Bc=-Math.PI/2,ju=12-pa,Xc=new s(22-ju,-(Qr.imageName?ju:0)),Sh=new s(...Ef);lu._rotateAround(Bc,Th)._add(Xc)._add(Sh),ql._rotateAround(Bc,Th)._add(Xc)._add(Sh),ep._rotateAround(Bc,Th)._add(Xc)._add(Sh),Cf._rotateAround(Bc,Th)._add(Xc)._add(Sh)}if(gi){let Th=Math.sin(gi),Bc=Math.cos(gi),ju=[Bc,-Th,Th,Bc];lu._matMult(ju),ql._matMult(ju),ep._matMult(ju),Cf._matMult(ju)}let tp=new s(0,0),gg=new s(0,0);ji.push({tl:lu,tr:ql,bl:ep,br:Cf,tex:jr,writingMode:pt.writingMode,glyphOffset:Hs,sectionIndex:Qr.sectionIndex,isSDF:cn,pixelOffsetTL:tp,pixelOffsetBR:gg,minFontScaleX:0,minFontScaleY:0})}return ji}(0,h,H,C,D,O,A,d.allowVerticalPlacement),qe=d.textSizeData,st=null;qe.kind==="source"?(st=[nc*C.layout.get("text-size").evaluate(O,{})],st[0]>ka&&ln(`${d.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):qe.kind==="composite"&&(st=[nc*Ee.compositeTextSizes[0].evaluate(O,{},De),nc*Ee.compositeTextSizes[1].evaluate(O,{},De)],(st[0]>ka||st[1]>ka)&&ln(`${d.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),d.addSymbols(d.text,ke,st,H,D,O,re,a,Z.lineStartIndex,Z.lineLength,we,De);for(let kt of ce)de[kt]=d.text.placedSymbolArray.length-1;return 4*ke.length}function KK(d){for(let a in d)return d[a];return null}function yTe(d,a,h,A){let C=d.compareText;if(a in C){let D=C[a];for(let O=D.length-1;O>=0;O--)if(A.dist(D[O])>4;if(C!==1)throw new Error(`Got v${C} data when expected v1.`);let D=QK[15&A];if(!D)throw new Error("Unrecognized array type.");let[O]=new Uint16Array(a,2,1),[H]=new Uint32Array(a,4,1);return new I8(H,O,D,a)}constructor(a,h=64,A=Float64Array,C){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let D=QK.indexOf(this.ArrayType),O=2*a*this.ArrayType.BYTES_PER_ELEMENT,H=a*this.IndexArrayType.BYTES_PER_ELEMENT,Z=(8-H%8)%8;if(D<0)throw new Error(`Unexpected typed array class: ${A}.`);C&&C instanceof ArrayBuffer?(this.data=C,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+H+Z,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+O+H+Z),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+H+Z,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+D]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return M8(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,C){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:D,coords:O,nodeSize:H}=this,Z=[0,D.length-1,0],re=[];for(;Z.length;){let ce=Z.pop()||0,de=Z.pop()||0,we=Z.pop()||0;if(de-we<=H){for(let qe=we;qe<=de;qe++){let st=O[2*qe],kt=O[2*qe+1];st>=a&&st<=A&&kt>=h&&kt<=C&&re.push(D[qe])}continue}let Ee=we+de>>1,De=O[2*Ee],ke=O[2*Ee+1];De>=a&&De<=A&&ke>=h&&ke<=C&&re.push(D[Ee]),(ce===0?a<=De:h<=ke)&&(Z.push(we),Z.push(Ee-1),Z.push(1-ce)),(ce===0?A>=De:C>=ke)&&(Z.push(Ee+1),Z.push(de),Z.push(1-ce))}return re}within(a,h,A){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:C,coords:D,nodeSize:O}=this,H=[0,C.length-1,0],Z=[],re=A*A;for(;H.length;){let ce=H.pop()||0,de=H.pop()||0,we=H.pop()||0;if(de-we<=O){for(let qe=we;qe<=de;qe++)eQ(D[2*qe],D[2*qe+1],a,h)<=re&&Z.push(C[qe]);continue}let Ee=we+de>>1,De=D[2*Ee],ke=D[2*Ee+1];eQ(De,ke,a,h)<=re&&Z.push(C[Ee]),(ce===0?a-A<=De:h-A<=ke)&&(H.push(we),H.push(Ee-1),H.push(1-ce)),(ce===0?a+A>=De:h+A>=ke)&&(H.push(Ee+1),H.push(de),H.push(1-ce))}return Z}}function M8(d,a,h,A,C,D){if(C-A<=h)return;let O=A+C>>1;JK(d,a,O,A,C,D),M8(d,a,h,A,O-1,1-D),M8(d,a,h,O+1,C,1-D)}function JK(d,a,h,A,C,D){for(;C>A;){if(C-A>600){let re=C-A+1,ce=h-A+1,de=Math.log(re),we=.5*Math.exp(2*de/3),Ee=.5*Math.sqrt(de*we*(re-we)/re)*(ce-re/2<0?-1:1);JK(d,a,h,Math.max(A,Math.floor(h-ce*we/re+Ee)),Math.min(C,Math.floor(h+(re-ce)*we/re+Ee)),D)}let O=a[2*h+D],H=A,Z=C;for(yI(d,a,A,h),a[2*C+D]>O&&yI(d,a,A,C);HO;)Z--}a[2*A+D]===O?yI(d,a,A,Z):(Z++,yI(d,a,Z,C)),Z<=h&&(A=Z+1),h<=Z&&(C=Z-1)}}function yI(d,a,h,A){P8(d,h,A),P8(a,2*h,2*A),P8(a,2*h+1,2*A+1)}function P8(d,a,h){let A=d[a];d[a]=d[h],d[h]=A}function eQ(d,a,h,A){let C=d-h,D=a-A;return C*C+D*D}var R8;n.cI=void 0,(R8=n.cI||(n.cI={})).create="create",R8.load="load",R8.fullLoad="fullLoad";let AD=null,vI=[],B8=1e3/60,L8="loadTime",D8="fullLoadTime",vTe={mark(d){performance.mark(d)},frame(d){let a=d;AD!=null&&vI.push(a-AD),AD=a},clearMetrics(){AD=null,vI=[],performance.clearMeasures(L8),performance.clearMeasures(D8);for(let d in n.cI)performance.clearMarks(n.cI[d])},getPerformanceMetrics(){performance.measure(L8,n.cI.create,n.cI.load),performance.measure(D8,n.cI.create,n.cI.fullLoad);let d=performance.getEntriesByName(L8)[0].duration,a=performance.getEntriesByName(D8)[0].duration,h=vI.length,A=1/(vI.reduce((D,O)=>D+O,0)/h/1e3),C=vI.filter(D=>D>B8).reduce((D,O)=>D+(O-B8)/B8,0);return{loadTime:d,fullLoadTime:a,fps:A,percentDroppedFrames:C/(h+C)*100,totalFrames:h}}};n.$=U,n.A=he,n.B=ct,n.C=ie,n.D=tn,n.E=go,n.F=function([d,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:d*Math.cos(a)*Math.sin(h),y:d*Math.sin(a)*Math.sin(h),z:d*Math.cos(h)}},n.G=Fr,n.H=Gi,n.I=Jo,n.J=ge,n.K=function(d){if(Ho==null){let a=d.navigator?d.navigator.userAgent:null;Ho=!!d.safari||!(!a||!(/\b(iPad|iPhone|iPod)\b/.test(a)||a.match("Safari")&&!a.match("Chrome")))}return Ho},n.L=class{constructor(d,a){this.target=d,this.mapId=a,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new U_(()=>this.process()),this.subscription=so(this.target,"message",h=>this.receive(h),!1),this.globalScope=Co(self)?d:window}registerMessageHandler(d,a){this.messageHandlers[d]=a}unregisterMessageHandler(d){delete this.messageHandlers[d]}sendAsync(d,a){return new Promise((h,A)=>{let C=Math.round(1e18*Math.random()).toString(36).substring(0,10),D=a?so(a.signal,"abort",()=>{D?.unsubscribe(),delete this.resolveRejects[C];let Z={id:C,type:"",origin:location.origin,targetMapId:d.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Z)},Av):null;this.resolveRejects[C]={resolve:Z=>{D?.unsubscribe(),h(Z)},reject:Z=>{D?.unsubscribe(),A(Z)}};let O=[],H=Object.assign(Object.assign({},d),{id:C,sourceMapId:this.mapId,origin:location.origin,data:Zt(d.data,O)});this.target.postMessage(H,{transfer:O})})}receive(d){let a=d.data,h=a.id;if(!(a.origin!=="file://"&&location.origin!=="file://"&&a.origin!=="resource://android"&&location.origin!=="resource://android"&&a.origin!==location.origin||a.targetMapId&&this.mapId!==a.targetMapId)){if(a.type===""){delete this.tasks[h];let A=this.abortControllers[h];return delete this.abortControllers[h],void(A&&A.abort())}if(Co(self)||a.mustQueue)return this.tasks[h]=a,this.taskQueue.push(h),void this.invoker.trigger();this.processTask(h,a)}}process(){if(this.taskQueue.length===0)return;let d=this.taskQueue.shift(),a=this.tasks[d];delete this.tasks[d],this.taskQueue.length>0&&this.invoker.trigger(),a&&this.processTask(d,a)}processTask(d,a){return o(this,void 0,void 0,function*(){if(a.type===""){let C=this.resolveRejects[d];return delete this.resolveRejects[d],C?void(a.error?C.reject(ir(a.error)):C.resolve(ir(a.data))):void 0}if(!this.messageHandlers[a.type])return void this.completeTask(d,new Error(`Could not find a registered handler for ${a.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let h=ir(a.data),A=new AbortController;this.abortControllers[d]=A;try{let C=yield this.messageHandlers[a.type](a.sourceMapId,h,A);this.completeTask(d,null,C)}catch(C){this.completeTask(d,C)}})}completeTask(d,a,h){let A=[];delete this.abortControllers[d];let C={id:d,type:"",sourceMapId:this.mapId,origin:location.origin,error:a?Zt(a):null,data:Zt(h,A)};this.target.postMessage(C,{transfer:A})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},n.M=fr,n.N=function(){var d=new he(16);return he!=Float32Array&&(d[1]=0,d[2]=0,d[3]=0,d[4]=0,d[6]=0,d[7]=0,d[8]=0,d[9]=0,d[11]=0,d[12]=0,d[13]=0,d[14]=0),d[0]=1,d[5]=1,d[10]=1,d[15]=1,d},n.O=function(d,a,h){var A,C,D,O,H,Z,re,ce,de,we,Ee,De,ke=h[0],qe=h[1],st=h[2];return a===d?(d[12]=a[0]*ke+a[4]*qe+a[8]*st+a[12],d[13]=a[1]*ke+a[5]*qe+a[9]*st+a[13],d[14]=a[2]*ke+a[6]*qe+a[10]*st+a[14],d[15]=a[3]*ke+a[7]*qe+a[11]*st+a[15]):(C=a[1],D=a[2],O=a[3],H=a[4],Z=a[5],re=a[6],ce=a[7],de=a[8],we=a[9],Ee=a[10],De=a[11],d[0]=A=a[0],d[1]=C,d[2]=D,d[3]=O,d[4]=H,d[5]=Z,d[6]=re,d[7]=ce,d[8]=de,d[9]=we,d[10]=Ee,d[11]=De,d[12]=A*ke+H*qe+de*st+a[12],d[13]=C*ke+Z*qe+we*st+a[13],d[14]=D*ke+re*qe+Ee*st+a[14],d[15]=O*ke+ce*qe+De*st+a[15]),d},n.P=s,n.Q=function(d,a,h){var A=h[0],C=h[1],D=h[2];return d[0]=a[0]*A,d[1]=a[1]*A,d[2]=a[2]*A,d[3]=a[3]*A,d[4]=a[4]*C,d[5]=a[5]*C,d[6]=a[6]*C,d[7]=a[7]*C,d[8]=a[8]*D,d[9]=a[9]*D,d[10]=a[10]*D,d[11]=a[11]*D,d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15],d},n.R=rh,n.S=function(d,a,h){var A=a[0],C=a[1],D=a[2],O=a[3],H=a[4],Z=a[5],re=a[6],ce=a[7],de=a[8],we=a[9],Ee=a[10],De=a[11],ke=a[12],qe=a[13],st=a[14],kt=a[15],pt=h[0],_t=h[1],Ht=h[2],Qt=h[3];return d[0]=pt*A+_t*H+Ht*de+Qt*ke,d[1]=pt*C+_t*Z+Ht*we+Qt*qe,d[2]=pt*D+_t*re+Ht*Ee+Qt*st,d[3]=pt*O+_t*ce+Ht*De+Qt*kt,d[4]=(pt=h[4])*A+(_t=h[5])*H+(Ht=h[6])*de+(Qt=h[7])*ke,d[5]=pt*C+_t*Z+Ht*we+Qt*qe,d[6]=pt*D+_t*re+Ht*Ee+Qt*st,d[7]=pt*O+_t*ce+Ht*De+Qt*kt,d[8]=(pt=h[8])*A+(_t=h[9])*H+(Ht=h[10])*de+(Qt=h[11])*ke,d[9]=pt*C+_t*Z+Ht*we+Qt*qe,d[10]=pt*D+_t*re+Ht*Ee+Qt*st,d[11]=pt*O+_t*ce+Ht*De+Qt*kt,d[12]=(pt=h[12])*A+(_t=h[13])*H+(Ht=h[14])*de+(Qt=h[15])*ke,d[13]=pt*C+_t*Z+Ht*we+Qt*qe,d[14]=pt*D+_t*re+Ht*Ee+Qt*st,d[15]=pt*O+_t*ce+Ht*De+Qt*kt,d},n.T=XC,n.U=function(d,a){let h={};for(let A=0;A0||((C=D.addOrUpdateProperties)===null||C===void 0?void 0:C.length)>0;if((H||Z)&&(O=Object.assign({},O),d.set(D.id,O),H&&(O.geometry=D.newGeometry),Z)){if(O.properties=D.removeAllProperties?{}:Object.assign({},O.properties||{}),D.removeProperties)for(let re of D.removeProperties)delete O.properties[re];if(D.addOrUpdateProperties)for(let{key:re,value:ce}of D.addOrUpdateProperties)O.properties[re]=ce}}},n.aB=function(d,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:C}){return d.kind==="source"?A/nc:d.kind==="composite"?Fr.number(A/nc,C/nc,h):a},n.aC=function(d,a){var h=a[0],A=a[1],C=a[2],D=a[3],O=a[4],H=a[5],Z=a[6],re=a[7],ce=a[8],de=a[9],we=a[10],Ee=a[11],De=a[12],ke=a[13],qe=a[14],st=a[15],kt=h*H-A*O,pt=h*Z-C*O,_t=h*re-D*O,Ht=A*Z-C*H,Qt=A*re-D*H,Ir=C*re-D*Z,oi=ce*ke-de*De,Kr=ce*qe-we*De,gi=ce*st-Ee*De,ji=de*qe-we*ke,vi=de*st-Ee*ke,Qr=we*st-Ee*qe,jr=kt*Qr-pt*vi+_t*ji+Ht*gi-Qt*Kr+Ir*oi;return jr?(d[0]=(H*Qr-Z*vi+re*ji)*(jr=1/jr),d[1]=(C*vi-A*Qr-D*ji)*jr,d[2]=(ke*Ir-qe*Qt+st*Ht)*jr,d[3]=(we*Qt-de*Ir-Ee*Ht)*jr,d[4]=(Z*gi-O*Qr-re*Kr)*jr,d[5]=(h*Qr-C*gi+D*Kr)*jr,d[6]=(qe*_t-De*Ir-st*pt)*jr,d[7]=(ce*Ir-we*_t+Ee*pt)*jr,d[8]=(O*vi-H*gi+re*oi)*jr,d[9]=(A*gi-h*vi-D*oi)*jr,d[10]=(De*Qt-ke*_t+st*kt)*jr,d[11]=(de*_t-ce*Qt-Ee*kt)*jr,d[12]=(H*Kr-O*ji-Z*oi)*jr,d[13]=(h*ji-A*Kr+C*oi)*jr,d[14]=(ke*pt-De*Ht-qe*kt)*jr,d[15]=(ce*Ht-de*pt+we*kt)*jr,d):null},n.aD=sr,n.aE=function(d){var a=d[0],h=d[1];return Math.sqrt(a*a+h*h)},n.aF=function(d){return d[0]=0,d[1]=0,d},n.aG=function(d,a,h){return d[0]=a[0]*h,d[1]=a[1]*h,d},n.aH=Bs,n.aI=Et,n.aJ=function(d,a,h,A){let C=a.y-d.y,D=a.x-d.x,O=A.y-h.y,H=A.x-h.x,Z=O*D-H*C;if(Z===0)return null;let re=(H*(d.y-h.y)-O*(d.x-h.x))/Z;return new s(d.x+re*D,d.y+re*C)},n.aK=NK,n.aL=Ro,n.aM=function(d){let a=1/0,h=1/0,A=-1/0,C=-1/0;for(let D of d)a=Math.min(a,D.x),h=Math.min(h,D.y),A=Math.max(A,D.x),C=Math.max(C,D.y);return[a,h,A,C]},n.aN=R,n.aO=mi,n.aP=function(d,a,h,A,C=!1){if(!h[0]&&!h[1])return[0,0];let D=C?A==="map"?-d.bearingInRadians:0:A==="viewport"?d.bearingInRadians:0;if(D){let O=Math.sin(D),H=Math.cos(D);h=[h[0]*H-h[1]*O,h[0]*O+h[1]*H]}return[C?h[0]:mi(a,h[0],d.zoom),C?h[1]:mi(a,h[1],d.zoom)]},n.aR=hs,n.aS=C8,n.aT=js,n.aU=I8,n.aV=na,n.aW=S2,n.aX=Me,n.aY=Ai,n.aZ=br,n.a_=ws,n.aa=_I,n.ab=Fp,n.ac=Ib,n.ad=25,n.ae=yv,n.af=d=>{let a=window.document.createElement("video");return a.muted=!0,new Promise(h=>{a.onloadstart=()=>{h(a)};for(let A of d){let C=window.document.createElement("source");Jr(A)||(a.crossOrigin="Anonymous"),C.src=A,a.appendChild(C)}})},n.ag=Ct,n.ah=function(){return nt++},n.ai=l,n.aj=dl,n.ak=Pc,n.al=Pi,n.am=vb,n.an=function(d){let a={};if(d.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(h,A,C,D)=>{let O=C||D;return a[A]=!O||O.toLowerCase(),""}),a["max-age"]){let h=parseInt(a["max-age"],10);isNaN(h)?delete a["max-age"]:a["max-age"]=h}return a},n.ao=ii,n.ap=85.051129,n.aq=ps,n.ar=function(d){return Math.pow(2,d)},n.as=me,n.at=Ab,n.au=function(d){return Math.log(d)/Math.LN2},n.av=function(d){var a=d[0],h=d[1];return a*a+h*h},n.aw=function(d){if(!d.length)return new Set;let a=Math.max(...d.map(Z=>Z.canonical.z)),h=1/0,A=-1/0,C=1/0,D=-1/0,O=[];for(let Z of d){let{x:re,y:ce,z:de}=Z.canonical,we=Math.pow(2,a-de),Ee=re*we,De=ce*we;O.push({id:Z,x:Ee,y:De}),EeA&&(A=Ee),DeD&&(D=De)}let H=new Set;for(let Z of O)Z.x!==h&&Z.x!==A&&Z.y!==C&&Z.y!==D||H.add(Z.id);return H},n.ax=function(d,a){let h=Math.abs(2*d.wrap)-+(d.wrap<0),A=Math.abs(2*a.wrap)-+(a.wrap<0);return d.overscaledZ-a.overscaledZ||A-h||a.canonical.y-d.canonical.y||a.canonical.x-d.canonical.x},n.ay=class{constructor(d,a){this.max=d,this.onRemove=a,this.reset()}reset(){for(let d in this.data)for(let a of this.data[d])a.timeout&&clearTimeout(a.timeout),this.onRemove(a.value);return this.data={},this.order=[],this}add(d,a,h){let A=d.wrapped().key;this.data[A]===void 0&&(this.data[A]=[]);let C={value:a,timeout:void 0};if(h!==void 0&&(C.timeout=setTimeout(()=>{this.remove(d,C)},h)),this.data[A].push(C),this.order.push(A),this.order.length>this.max){let D=this._getAndRemoveByKey(this.order[0]);D&&this.onRemove(D)}return this}has(d){return d.wrapped().key in this.data}getAndRemove(d){return this.has(d)?this._getAndRemoveByKey(d.wrapped().key):null}_getAndRemoveByKey(d){let a=this.data[d].shift();return a.timeout&&clearTimeout(a.timeout),this.data[d].length===0&&delete this.data[d],this.order.splice(this.order.indexOf(d),1),a.value}getByKey(d){let a=this.data[d];return a?a[0].value:null}get(d){return this.has(d)?this.data[d.wrapped().key][0].value:null}remove(d,a){if(!this.has(d))return this;let h=d.wrapped().key,A=a===void 0?0:this.data[h].indexOf(a),C=this.data[h][A];return this.data[h].splice(A,1),C.timeout&&clearTimeout(C.timeout),this.data[h].length===0&&delete this.data[h],this.onRemove(C.value),this.order.splice(this.order.indexOf(h),1),this}setMaxSize(d){for(this.max=d;this.order.length>this.max;){let a=this._getAndRemoveByKey(this.order[0]);a&&this.onRemove(a)}return this}filter(d){let a=[];for(let h in this.data)for(let A of this.data[h])d(A.value)||a.push(A);for(let h of a)this.remove(h.value.tileID,h)}},n.az=function(d,a){let h=0,A=0;if(d.kind==="constant")A=d.layoutSize;else if(d.kind!=="source"){let{interpolationType:C,minZoom:D,maxZoom:O}=d,H=C?ii(Ut.interpolationFactor(C,a,D,O),0,1):0;d.kind==="camera"?A=Fr.number(d.minSize,d.maxSize,H):h=H}return{uSizeT:h,uSize:A}},n.b=is,n.b$=class extends x{constructor(d,a){super(d,a),this.current=0}set(d){this.current!==d&&(this.current=d,this.gl.uniform1i(this.location,d))}},n.b0=Xe,n.b1=Ge,n.b2=function(d){var a=new he(3);return a[0]=d[0],a[1]=d[1],a[2]=d[2],a},n.b3=function(d,a,h){return d[0]=a[0]-h[0],d[1]=a[1]-h[1],d[2]=a[2]-h[2],d},n.b4=function(d,a){var h=a[0],A=a[1],C=a[2],D=h*h+A*A+C*C;return D>0&&(D=1/Math.sqrt(D)),d[0]=a[0]*D,d[1]=a[1]*D,d[2]=a[2]*D,d},n.b5=Ce,n.b6=function(d,a){return d[0]*a[0]+d[1]*a[1]+d[2]*a[2]},n.b7=function(d,a,h){return d[0]=a[0]*h[0],d[1]=a[1]*h[1],d[2]=a[2]*h[2],d[3]=a[3]*h[3],d},n.b8=Oe,n.b9=function(d,a,h){let A=a[0]*h[0]+a[1]*h[1]+a[2]*h[2];return A===0?null:(-(d[0]*h[0]+d[1]*h[1]+d[2]*h[2])-h[3])/A},n.bA=function(){return new Float64Array(3)},n.bB=function(d,a,h,A){return d[0]=a[0]+h[0]*A,d[1]=a[1]+h[1]*A,d[2]=a[2]+h[2]*A,d},n.bC=xt,n.bD=function(d,a,h){var A=h[0],C=h[1],D=h[2],O=h[3],H=a[0],Z=a[1],re=a[2],ce=C*re-D*Z,de=D*H-A*re,we=A*Z-C*H;return d[0]=H+O*(ce+=ce)+C*(we+=we)-D*(de+=de),d[1]=Z+O*de+D*ce-A*we,d[2]=re+O*we+A*de-C*ce,d},n.bE=function(d,a,h){let A=function(Z){var re=Z[3],ce=Z[4],de=Z[5],we=Z[6],Ee=Z[7],De=Z[8];return Z[0]*(De*ce-de*Ee)+Z[1]*(-De*re+de*we)+Z[2]*(Ee*re-ce*we)}([d[0],d[1],d[2],a[0],a[1],a[2],h[0],h[1],h[2]]);if(A===0)return null;let C=Ce([],[a[0],a[1],a[2]],[h[0],h[1],h[2]]),D=Ce([],[h[0],h[1],h[2]],[d[0],d[1],d[2]]),O=Ce([],[d[0],d[1],d[2]],[a[0],a[1],a[2]]),H=Xe([],C,-d[3]);return Ge(H,H,Xe([],D,-a[3])),Ge(H,H,Xe([],O,-h[3])),Xe(H,H,1/A),H},n.bF=_m,n.bG=function(){return new Float64Array(4)},n.bH=function(d,a,h,A){var C=[],D=[];return C[0]=a[0]-h[0],C[1]=a[1]-h[1],C[2]=a[2]-h[2],D[0]=C[0]*Math.cos(A)-C[1]*Math.sin(A),D[1]=C[0]*Math.sin(A)+C[1]*Math.cos(A),D[2]=C[2],d[0]=D[0]+h[0],d[1]=D[1]+h[1],d[2]=D[2]+h[2],d},n.bI=function(d,a,h,A){var C=[],D=[];return C[0]=a[0]-h[0],C[1]=a[1]-h[1],C[2]=a[2]-h[2],D[0]=C[0],D[1]=C[1]*Math.cos(A)-C[2]*Math.sin(A),D[2]=C[1]*Math.sin(A)+C[2]*Math.cos(A),d[0]=D[0]+h[0],d[1]=D[1]+h[1],d[2]=D[2]+h[2],d},n.bJ=function(d,a,h,A){var C=[],D=[];return C[0]=a[0]-h[0],C[1]=a[1]-h[1],C[2]=a[2]-h[2],D[0]=C[2]*Math.sin(A)+C[0]*Math.cos(A),D[1]=C[1],D[2]=C[2]*Math.cos(A)-C[0]*Math.sin(A),d[0]=D[0]+h[0],d[1]=D[1]+h[1],d[2]=D[2]+h[2],d},n.bK=function(d,a,h){var A=Math.sin(h),C=Math.cos(h),D=a[0],O=a[1],H=a[2],Z=a[3],re=a[8],ce=a[9],de=a[10],we=a[11];return a!==d&&(d[4]=a[4],d[5]=a[5],d[6]=a[6],d[7]=a[7],d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]),d[0]=D*C-re*A,d[1]=O*C-ce*A,d[2]=H*C-de*A,d[3]=Z*C-we*A,d[8]=D*A+re*C,d[9]=O*A+ce*C,d[10]=H*A+de*C,d[11]=Z*A+we*C,d},n.bL=function(d,a){let h=bi(d,360),A=bi(a,360),C=A-h,D=A>h?C-360:C+360;return Math.abs(C)0?O:-O},n.bO=function(d,a){let h=bi(d,2*Math.PI),A=bi(a,2*Math.PI);return Math.min(Math.abs(h-A),Math.abs(h-A+2*Math.PI),Math.abs(h-A-2*Math.PI))},n.bP=function(){let d={},a=wr.$version;for(let h in wr.$root){let A=wr.$root[h];if(A.required){let C=null;C=h==="version"?a:A.type==="array"?[]:{},C!=null&&(d[h]=C)}}return d},n.bQ=xr,n.bR=dr,n.bS=function d(a,h){if(Array.isArray(a)){if(!Array.isArray(h)||a.length!==h.length)return!1;for(let A=0;Ad.type==="raster",n.bW=Xr,n.bX=function(d,a){if(!d)return[{command:"setStyle",args:[a]}];let h=[];try{if(!Be(d.version,a.version))return[{command:"setStyle",args:[a]}];Be(d.center,a.center)||h.push({command:"setCenter",args:[a.center]}),Be(d.state,a.state)||h.push({command:"setGlobalState",args:[a.state]}),Be(d.centerAltitude,a.centerAltitude)||h.push({command:"setCenterAltitude",args:[a.centerAltitude]}),Be(d.zoom,a.zoom)||h.push({command:"setZoom",args:[a.zoom]}),Be(d.bearing,a.bearing)||h.push({command:"setBearing",args:[a.bearing]}),Be(d.pitch,a.pitch)||h.push({command:"setPitch",args:[a.pitch]}),Be(d.roll,a.roll)||h.push({command:"setRoll",args:[a.roll]}),Be(d.sprite,a.sprite)||h.push({command:"setSprite",args:[a.sprite]}),Be(d.glyphs,a.glyphs)||h.push({command:"setGlyphs",args:[a.glyphs]}),Be(d.transition,a.transition)||h.push({command:"setTransition",args:[a.transition]}),Be(d.light,a.light)||h.push({command:"setLight",args:[a.light]}),Be(d.terrain,a.terrain)||h.push({command:"setTerrain",args:[a.terrain]}),Be(d.sky,a.sky)||h.push({command:"setSky",args:[a.sky]}),Be(d.projection,a.projection)||h.push({command:"setProjection",args:[a.projection]});let A={},C=[];(function(O,H,Z,re){let ce;for(ce in H=H||{},O=O||{})Object.prototype.hasOwnProperty.call(O,ce)&&(Object.prototype.hasOwnProperty.call(H,ce)||mt(ce,Z,re));for(ce in H)Object.prototype.hasOwnProperty.call(H,ce)&&(Object.prototype.hasOwnProperty.call(O,ce)?Be(O[ce],H[ce])||(O[ce].type==="geojson"&&H[ce].type==="geojson"&&$t(O,H,ce)?$e(Z,{command:"setGeoJSONSourceData",args:[ce,H[ce].data]}):Qe(ce,H,Z,re)):it(ce,H,Z))})(d.sources,a.sources,C,A);let D=[];d.layers&&d.layers.forEach(O=>{"source"in O&&A[O.source]?h.push({command:"removeLayer",args:[O.id]}):D.push(O)}),h=h.concat(C),function(O,H,Z){H=H||[];let re=(O=O||[]).map(ht),ce=H.map(ht),de=O.reduce(Ot,{}),we=H.reduce(Ot,{}),Ee=re.slice(),De=Object.create(null),ke,qe,st,kt,pt;for(let _t=0,Ht=0;_tee?(C=Math.acos(D),O=Math.sin(C),H=Math.sin((1-A)*C)/O,Z=Math.sin(A*C)/O):(H=1-A,Z=A),d[0]=H*re+Z*Ee,d[1]=H*ce+Z*De,d[2]=H*de+Z*ke,d[3]=H*we+Z*qe,d},n.bo=function(d){let a=new Float64Array(9);(function(D,O){var H=O[0],Z=O[1],re=O[2],ce=O[3],de=H+H,we=Z+Z,Ee=re+re,De=H*de,ke=Z*de,qe=Z*we,st=re*de,kt=re*we,pt=re*Ee,_t=ce*de,Ht=ce*we,Qt=ce*Ee;D[0]=1-qe-pt,D[3]=ke-Qt,D[6]=st+Ht,D[1]=ke+Qt,D[4]=1-De-pt,D[7]=kt-_t,D[2]=st-Ht,D[5]=kt+_t,D[8]=1-De-qe})(a,d);let h=ws(-Math.asin(ii(a[2],-1,1))),A,C;return Math.hypot(a[5],a[8])<.001?(A=0,C=-ws(Math.atan2(a[3],a[4]))):(A=ws(a[5]===0&&a[8]===0?0:Math.atan2(a[5],a[8])),C=ws(a[1]===0&&a[0]===0?0:Math.atan2(a[1],a[0]))),{roll:A,pitch:h+90,bearing:C}},n.bp=function(d,a){return d.roll==a.roll&&d.pitch==a.pitch&&d.bearing==a.bearing},n.bq=Io,n.br=E,n.bs=hv,n.bt=lb,n.bu=L_,n.bv=un,n.bw=Yr,n.bx=vl,n.by=function(d,a,h,A,C){return un(A,C,ii((d-a)/(h-a),0,1))},n.bz=bi,n.c=Gt,n.c$=class{constructor(d){this._marks={start:[d.url,"start"].join("#"),end:[d.url,"end"].join("#"),measure:d.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let d=performance.getEntriesByName(this._marks.measure);return d.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),d=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),d}},n.c0=N,n.c1=class extends x{constructor(d,a){super(d,a),this.current=G}set(d){if(d[12]!==this.current[12]||d[0]!==this.current[0])return this.current=d,void this.gl.uniformMatrix4fv(this.location,!1,d);for(let a=1;a<16;a++)if(d[a]!==this.current[a]){this.current=d,this.gl.uniformMatrix4fv(this.location,!1,d);break}}},n.c2=B,n.c3=class extends x{constructor(d,a){super(d,a),this.current=[0,0,0]}set(d){d[0]===this.current[0]&&d[1]===this.current[1]&&d[2]===this.current[2]||(this.current=d,this.gl.uniform3f(this.location,d[0],d[1],d[2]))}},n.c4=class extends x{constructor(d,a){super(d,a),this.current=[0,0]}set(d){d[0]===this.current[0]&&d[1]===this.current[1]||(this.current=d,this.gl.uniform2f(this.location,d[0],d[1]))}},n.c5=xe,n.c6=function(d,a){var h=Math.sin(a),A=Math.cos(a);return d[0]=A,d[1]=h,d[2]=0,d[3]=-h,d[4]=A,d[5]=0,d[6]=0,d[7]=0,d[8]=1,d},n.c7=function(d,a,h){var A=a[0],C=a[1],D=a[2];return d[0]=A*h[0]+C*h[3]+D*h[6],d[1]=A*h[1]+C*h[4]+D*h[7],d[2]=A*h[2]+C*h[5]+D*h[8],d},n.c8=function(d,a,h,A,C,D,O){var H=1/(a-h),Z=1/(A-C),re=1/(D-O);return d[0]=-2*H,d[1]=0,d[2]=0,d[3]=0,d[4]=0,d[5]=-2*Z,d[6]=0,d[7]=0,d[8]=0,d[9]=0,d[10]=2*re,d[11]=0,d[12]=(a+h)*H,d[13]=(C+A)*Z,d[14]=(O+D)*re,d[15]=1,d},n.c9=class extends x{constructor(d,a){super(d,a),this.current=new Array}set(d){if(d!=this.current){this.current=d;let a=new Float32Array(4*d.length);for(let h=0;h25||A<0||A>=1||h<0||h>=1)},n.cF=function(d,a){return d[0]=a[0],d[1]=0,d[2]=0,d[3]=0,d[4]=0,d[5]=a[1],d[6]=0,d[7]=0,d[8]=0,d[9]=0,d[10]=a[2],d[11]=0,d[12]=0,d[13]=0,d[14]=0,d[15]=1,d},n.cG=class extends Jh{},n.cH=vTe,n.cJ=nr,n.cK=function(d,a){Gt.REGISTERED_PROTOCOLS[d]=a},n.cL=function(d){delete Gt.REGISTERED_PROTOCOLS[d]},n.cM=function(d,a){let h={};for(let C=0;CQr*R)}let Kr=O?"center":h.get("text-justify").evaluate(re,{},d.canonical),gi=h.get("symbol-placement")==="point"?h.get("text-max-width").evaluate(re,{},d.canonical)*R:1/0,ji=()=>{d.bucket.allowVerticalPlacement&&ai(_t)&&(De.vertical=In(ke,d.glyphMap,d.glyphPositions,d.imagePositions,ce,gi,D,Ir,"left",Qt,st,n.aA.vertical,!0,we,de))};if(!O&&oi){let vi=new Set;if(Kr==="auto")for(let jr=0;jr=this.maxEntries){let h=this.map.keys().next().value;this.map.delete(h)}this.map.set(d,a)}clear(){this.map.clear()}},n.cY=ub,n.cZ=tr,n.c_=DK,n.ca=class extends x{constructor(d,a){super(d,a),this.current=new Array}set(d){if(d!=this.current){this.current=d;let a=new Float32Array(d);this.gl.uniform1fv(this.location,a)}}},n.cb=class extends Tf{},n.cc=p,n.cd=class extends Fu{},n.ce=rA,n.cf=function(d){return d<=1?1:Math.pow(2,Math.ceil(Math.log(d)/Math.LN2))},n.cg=Qf,n.ch=function(d,a,h){var A=a[0],C=a[1],D=a[2],O=h[3]*A+h[7]*C+h[11]*D+h[15];return d[0]=(h[0]*A+h[4]*C+h[8]*D+h[12])/(O=O||1),d[1]=(h[1]*A+h[5]*C+h[9]*D+h[13])/O,d[2]=(h[2]*A+h[6]*C+h[10]*D+h[14])/O,d},n.ci=class extends Ul{},n.cj=class extends tA{},n.ck=function(d,a){return d[0]===a[0]&&d[1]===a[1]&&d[2]===a[2]&&d[3]===a[3]&&d[4]===a[4]&&d[5]===a[5]&&d[6]===a[6]&&d[7]===a[7]&&d[8]===a[8]&&d[9]===a[9]&&d[10]===a[10]&&d[11]===a[11]&&d[12]===a[12]&&d[13]===a[13]&&d[14]===a[14]&&d[15]===a[15]},n.cl=function(d,a){var h=d[0],A=d[1],C=d[2],D=d[3],O=d[4],H=d[5],Z=d[6],re=d[7],ce=d[8],de=d[9],we=d[10],Ee=d[11],De=d[12],ke=d[13],qe=d[14],st=d[15],kt=a[0],pt=a[1],_t=a[2],Ht=a[3],Qt=a[4],Ir=a[5],oi=a[6],Kr=a[7],gi=a[8],ji=a[9],vi=a[10],Qr=a[11],jr=a[12],dn=a[13],cn=a[14],vn=a[15];return Math.abs(h-kt)<=ee*Math.max(1,Math.abs(h),Math.abs(kt))&&Math.abs(A-pt)<=ee*Math.max(1,Math.abs(A),Math.abs(pt))&&Math.abs(C-_t)<=ee*Math.max(1,Math.abs(C),Math.abs(_t))&&Math.abs(D-Ht)<=ee*Math.max(1,Math.abs(D),Math.abs(Ht))&&Math.abs(O-Qt)<=ee*Math.max(1,Math.abs(O),Math.abs(Qt))&&Math.abs(H-Ir)<=ee*Math.max(1,Math.abs(H),Math.abs(Ir))&&Math.abs(Z-oi)<=ee*Math.max(1,Math.abs(Z),Math.abs(oi))&&Math.abs(re-Kr)<=ee*Math.max(1,Math.abs(re),Math.abs(Kr))&&Math.abs(ce-gi)<=ee*Math.max(1,Math.abs(ce),Math.abs(gi))&&Math.abs(de-ji)<=ee*Math.max(1,Math.abs(de),Math.abs(ji))&&Math.abs(we-vi)<=ee*Math.max(1,Math.abs(we),Math.abs(vi))&&Math.abs(Ee-Qr)<=ee*Math.max(1,Math.abs(Ee),Math.abs(Qr))&&Math.abs(De-jr)<=ee*Math.max(1,Math.abs(De),Math.abs(jr))&&Math.abs(ke-dn)<=ee*Math.max(1,Math.abs(ke),Math.abs(dn))&&Math.abs(qe-cn)<=ee*Math.max(1,Math.abs(qe),Math.abs(cn))&&Math.abs(st-vn)<=ee*Math.max(1,Math.abs(st),Math.abs(vn))},n.cm=function(d,a){return d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3],d[4]=a[4],d[5]=a[5],d[6]=a[6],d[7]=a[7],d[8]=a[8],d[9]=a[9],d[10]=a[10],d[11]=a[11],d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15],d},n.cn=d=>d.type==="symbol",n.co=d=>d.type==="circle",n.cp=d=>d.type==="heatmap",n.cq=d=>d.type==="line",n.cr=d=>d.type==="fill",n.cs=d=>d.type==="fill-extrusion",n.ct=d=>d.type==="hillshade",n.cu=d=>d.type==="color-relief",n.cv=d=>d.type==="background",n.cw=d=>d.type==="custom",n.cx=Xi,n.cy=function(d,a,h){let A=Mr(a.x-h.x,a.y-h.y),C=Mr(d.x-h.x,d.y-h.y),D=Math.atan2(A[0]*C[1]-A[1]*C[0],function(O,H){return O[0]*H[0]+O[1]*H[1]}(A,C));return ws(D)},n.cz=xi,n.d=Jr,n.d0=function(d,a,h,A,C){return o(this,void 0,void 0,function*(){if(K())try{return yield zs(d,a,h,A,C)}catch{}return function(D,O,H,Z,re){let ce=D.width,de=D.height;Ba&&ds||(Ba=new OffscreenCanvas(ce,de),ds=Ba.getContext("2d",{willReadFrequently:!0})),Ba.width=ce,Ba.height=de,ds.drawImage(D,0,0,ce,de);let we=ds.getImageData(O,H,Z,re);return ds.clearRect(0,0,ce,de),we.data}(d,a,h,A,C)})},n.d1=ZC,n.d2=c,n.d3=class{constructor(d,a){this.layers={[_I]:this},this.name=_I,this.version=a?a.version:1,this.extent=a?a.extent:4096,this.length=d.length,this.features=d}feature(d){return new iTe(this.features[d],this.extent)}},n.d4=$d,n.d5=$n,n.e=Ve,n.f=d=>o(void 0,void 0,void 0,function*(){if(d.byteLength===0)return createImageBitmap(new ImageData(1,1));let a=new Blob([new Uint8Array(d)],{type:"image/png"});try{return createImageBitmap(a)}catch(h){throw new Error(`Could not load image because of ${h.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),n.g=yr,n.h=d=>new Promise((a,h)=>{let A=new Image;A.onload=()=>{a(A),URL.revokeObjectURL(A.src),A.onload=null,window.requestAnimationFrame(()=>{A.src=mo})},A.onerror=()=>h(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 C=new Blob([new Uint8Array(d)],{type:"image/png"});A.src=d.byteLength?URL.createObjectURL(C):mo}),n.i=Co,n.j=(d,a)=>ti(Ve(d,{type:"json"}),a),n.k=bs,n.l=Wn,n.m=ti,n.n=(d,a)=>ti(Ve(d,{type:"arrayBuffer"}),a),n.o=function(d){return new tr(d).readFields(en,[])},n.p=pn,n.q=function(d){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(d))},n.r=n0,n.s=so,n.t=Fa,n.u=wr,n.v=Y,n.w=ln,n.x=Il,n.y=ae,n.z=eo}),r("worker",["./shared"],function(n){"use strict";class o{constructor(Fe,Ne){this.keyCache={},Fe&&this.replace(Fe,Ne)}replace(Fe,Ne){this._layerConfigs={},this._layers={},this.update(Fe,[],Ne)}update(Fe,Ne,rt){for(let Gt of Fe){this._layerConfigs[Gt.id]=Gt;let yr=this._layers[Gt.id]=n.bU(Gt,rt);yr._featureFilter=n.ak(yr.filter,rt),this.keyCache[Gt.id]&&delete this.keyCache[Gt.id]}for(let Gt of Ne)delete this.keyCache[Gt],delete this._layerConfigs[Gt],delete this._layers[Gt];this.familiesBySource={};let Vt=n.cM(Object.values(this._layerConfigs),this.keyCache);for(let Gt of Vt){let yr=Gt.map(Wi=>this._layers[Wi.id]),fr=yr[0];if(fr.visibility==="none")continue;let nr=fr.source||"",xr=this.familiesBySource[nr];xr||(xr=this.familiesBySource[nr]={});let ti=fr.sourceLayer||n.aa,Jr=xr[ti];Jr||(Jr=xr[ti]=[]),Jr.push(yr)}}}class s{constructor(Fe){let Ne={},rt=[];for(let fr in Fe){let nr=Fe[fr],xr=Ne[fr]={};for(let ti in nr){let Jr=nr[+ti];if(!Jr||Jr.bitmap.width===0||Jr.bitmap.height===0)continue;let Wi={x:0,y:0,w:Jr.bitmap.width+2,h:Jr.bitmap.height+2};rt.push(Wi),xr[ti]={rect:Wi,metrics:Jr.metrics}}}let{w:Vt,h:Gt}=n.p(rt),yr=new n.r({width:Vt||1,height:Gt||1});for(let fr in Fe){let nr=Fe[fr];for(let xr in nr){let ti=nr[+xr];if(!ti||ti.bitmap.width===0||ti.bitmap.height===0)continue;let Jr=Ne[fr][xr].rect;n.r.copy(ti.bitmap,yr,{x:0,y:0},{x:Jr.x+1,y:Jr.y+1},ti.bitmap)}}this.image=yr,this.positions=Ne}}n.cN("GlyphAtlas",s);class c{constructor(Fe){this.tileID=new n.a2(Fe.tileID.overscaledZ,Fe.tileID.wrap,Fe.tileID.canonical.z,Fe.tileID.canonical.x,Fe.tileID.canonical.y),this.uid=Fe.uid,this.zoom=Fe.zoom,this.pixelRatio=Fe.pixelRatio,this.tileSize=Fe.tileSize,this.source=Fe.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Fe.showCollisionBoxes,this.collectResourceTiming=!!Fe.collectResourceTiming,this.returnDependencies=!!Fe.returnDependencies,this.promoteId=Fe.promoteId,this.inFlightDependencies=[]}parse(Fe,Ne,rt,Vt,Gt){return n._(this,void 0,void 0,function*(){this.status="parsing",this.data=Fe,this.collisionBoxArray=new n.ai;let yr=new n.cO(Object.keys(Fe.layers).sort()),fr=new n.cP(this.tileID,this.promoteId);fr.bucketLayerIDs=[];let nr={},xr={featureIndex:fr,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:rt,subdivisionGranularity:Gt},ti=Ne.familiesBySource[this.source];for(let $t in ti){let Jt=Fe.layers[$t];if(!Jt)continue;Jt.version===1&&n.w(`Vector tile source "${this.source}" layer "${$t}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let ht=yr.encode($t),Ot=[];for(let Ct=0;Ctui.id)))}}let Jr=n.bZ(xr.glyphDependencies,$t=>Object.keys($t).map(Number));this.inFlightDependencies.forEach($t=>$t?.abort()),this.inFlightDependencies=[];let Wi=Promise.resolve({});if(Object.keys(Jr).length){let $t=new AbortController;this.inFlightDependencies.push($t),Wi=Vt.sendAsync({type:"GG",data:{stacks:Jr,source:this.source,tileID:this.tileID,type:"glyphs"}},$t)}let fn=Object.keys(xr.iconDependencies),Wn=Promise.resolve({});if(fn.length){let $t=new AbortController;this.inFlightDependencies.push($t),Wn=Vt.sendAsync({type:"GI",data:{icons:fn,source:this.source,tileID:this.tileID,type:"icons"}},$t)}let bs=Object.keys(xr.patternDependencies),go=Promise.resolve({});if(bs.length){let $t=new AbortController;this.inFlightDependencies.push($t),go=Vt.sendAsync({type:"GI",data:{icons:bs,source:this.source,tileID:this.tileID,type:"patterns"}},$t)}let wr=xr.dashDependencies,Us=Promise.resolve({});if(Object.keys(wr).length){let $t=new AbortController;this.inFlightDependencies.push($t),Us=Vt.sendAsync({type:"GDA",data:{dashes:wr}},$t)}let[ns,Be,$e,it]=yield Promise.all([Wi,Wn,go,Us]),mt=new s(ns),Qe=new n.cQ(Be,$e);for(let $t in nr){let Jt=nr[$t];Jt instanceof n.aj?(f(Jt.layers,this.zoom,rt),n.cR({bucket:Jt,glyphMap:ns,glyphPositions:mt.positions,imageMap:Be,imagePositions:Qe.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:xr.subdivisionGranularity})):Jt.hasDependencies&&(Jt instanceof n.cS||Jt instanceof n.cT||Jt instanceof n.cU)&&(f(Jt.layers,this.zoom,rt),Jt.addFeatures(xr,this.tileID.canonical,Qe.patternPositions,it))}return this.status="done",{buckets:Object.values(nr).filter($t=>!$t.isEmpty()),featureIndex:fr,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:mt.image,imageAtlas:Qe,dashPositions:it,glyphMap:this.returnDependencies?ns:null,iconMap:this.returnDependencies?Be:null,glyphPositions:this.returnDependencies?mt.positions:null}})}}function f(Yt,Fe,Ne){let rt=new n.H(Fe);for(let Vt of Yt)Vt.recalculate(rt,Ne)}class g{constructor(Fe,Ne,rt,Vt,Gt){this.type=Fe,this.properties=rt||{},this.extent=Gt,this.pointsArray=Ne,this.id=Vt}loadGeometry(){return this.pointsArray.map(Fe=>Fe.map(Ne=>new n.P(Ne.x,Ne.y)))}}class y{constructor(Fe,Ne,rt){this.version=2,this._myFeatures=Fe,this.name=Ne,this.length=Fe.length,this.extent=rt}feature(Fe){return this._myFeatures[Fe]}}class I{constructor(){this.layers={}}addLayer(Fe){this.layers[Fe.name]=Fe}}function F(Yt){let Fe=n.cV(Yt);return Fe.byteOffset===0&&Fe.byteLength===Fe.buffer.byteLength||(Fe=new Uint8Array(Fe)),{vectorTile:Yt,rawData:Fe.buffer}}function k(Yt,Fe,Ne){let{extent:rt}=Yt,Vt=Math.pow(2,Ne.z-Fe.z),Gt=(Ne.x-Fe.x*Vt)*rt,yr=(Ne.y-Fe.y*Vt)*rt,fr=[];for(let nr=0;nr0&&xr.addLayer(Wn)}let Jr=F(xr);return this.overzoomedTileResultCache.set(fr,Jr),Jr}reloadTile(Fe){return n._(this,void 0,void 0,function*(){let Ne=Fe.uid;if(!this.loaded||!this.loaded[Ne])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let rt=this.loaded[Ne];if(rt.showCollisionBoxes=Fe.showCollisionBoxes,rt.status==="parsing"){let Vt=yield rt.parse(rt.vectorTile,this.layerIndex,this.availableImages,this.actor,Fe.subdivisionGranularity),Gt;if(this.fetching[Ne]){let{rawTileData:yr,cacheControl:fr,resourceTiming:nr}=this.fetching[Ne];delete this.fetching[Ne],Gt=n.e({rawTileData:yr.slice(0),encoding:Fe.encoding},Vt,fr,nr)}else Gt=Vt;return Gt}if(rt.status==="done"&&rt.vectorTile)return rt.parse(rt.vectorTile,this.layerIndex,this.availableImages,this.actor,Fe.subdivisionGranularity)})}abortTile(Fe){return n._(this,void 0,void 0,function*(){let Ne=this.loading,rt=Fe.uid;Ne&&Ne[rt]&&Ne[rt].abort&&(Ne[rt].abort.abort(),delete Ne[rt])})}removeTile(Fe){return n._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Fe.uid]&&delete this.loaded[Fe.uid]})}}class K{constructor(){this.loaded={}}loadTile(Fe){return n._(this,void 0,void 0,function*(){let{uid:Ne,encoding:rt,rawImageData:Vt,redFactor:Gt,greenFactor:yr,blueFactor:fr,baseShift:nr}=Fe,xr=Vt.width+2,ti=Vt.height+2,Jr=n.b(Vt)?new n.R({width:xr,height:ti},yield n.d0(Vt,-1,-1,xr,ti)):Vt,Wi=new n.d1(Ne,Jr,rt,Gt,yr,fr,nr);return this.loaded=this.loaded||{},this.loaded[Ne]=Wi,Wi})}removeTile(Fe){let Ne=this.loaded,rt=Fe.uid;Ne&&Ne[rt]&&delete Ne[rt]}}var ee,he,xe=function(){if(he)return ee;function Yt(Ne,rt){if(Ne.length!==0){Fe(Ne[0],rt);for(var Vt=1;Vt=Math.abs(xr)?Vt-ti+xr:xr-ti+Vt,Vt=ti}Vt+Gt>=0!=!!rt&&Ne.reverse()}return he=1,ee=function Ne(rt,Vt){var Gt,yr=rt&&rt.type;if(yr==="FeatureCollection")for(Gt=0;GtYt},Oe=Math.fround||(ne=new Float32Array(1),Yt=>(ne[0]=+Yt,ne[0]));var ne;class Ge{constructor(Fe){this.options=Object.assign(Object.create(Se),Fe),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Fe){let{log:Ne,minZoom:rt,maxZoom:Vt}=this.options;Ne&&console.time("total time");let Gt=`prepare ${Fe.length} points`;Ne&&console.time(Gt),this.points=Fe;let yr=[];for(let nr=0;nr=rt;nr--){let xr=+Date.now();fr=this.trees[nr]=this._createTree(this._cluster(fr,nr)),Ne&&console.log("z%d: %d clusters in %dms",nr,fr.numItems,+Date.now()-xr)}return Ne&&console.timeEnd("total time"),this}getClusters(Fe,Ne){let rt=((Fe[0]+180)%360+360)%360-180,Vt=Math.max(-90,Math.min(90,Fe[1])),Gt=Fe[2]===180?180:((Fe[2]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,Fe[3]));if(Fe[2]-Fe[0]>=360)rt=-180,Gt=180;else if(rt>Gt){let Jr=this.getClusters([rt,Vt,180,yr],Ne),Wi=this.getClusters([-180,Vt,Gt,yr],Ne);return Jr.concat(Wi)}let fr=this.trees[this._limitZoom(Ne)],nr=fr.range(_e(rt),Je(yr),_e(Gt),Je(Vt)),xr=fr.data,ti=[];for(let Jr of nr){let Wi=this.stride*Jr;ti.push(xr[Wi+5]>1?Xe(xr,Wi,this.clusterProps):this.points[xr[Wi+3]])}return ti}getChildren(Fe){let Ne=this._getOriginId(Fe),rt=this._getOriginZoom(Fe),Vt="No cluster with the specified id.",Gt=this.trees[rt];if(!Gt)throw new Error(Vt);let yr=Gt.data;if(Ne*this.stride>=yr.length)throw new Error(Vt);let fr=this.options.radius/(this.options.extent*Math.pow(2,rt-1)),nr=Gt.within(yr[Ne*this.stride],yr[Ne*this.stride+1],fr),xr=[];for(let ti of nr){let Jr=ti*this.stride;yr[Jr+4]===Fe&&xr.push(yr[Jr+5]>1?Xe(yr,Jr,this.clusterProps):this.points[yr[Jr+3]])}if(xr.length===0)throw new Error(Vt);return xr}getLeaves(Fe,Ne,rt){let Vt=[];return this._appendLeaves(Vt,Fe,Ne=Ne||10,rt=rt||0,0),Vt}getTile(Fe,Ne,rt){let Vt=this.trees[this._limitZoom(Fe)],Gt=Math.pow(2,Fe),{extent:yr,radius:fr}=this.options,nr=fr/yr,xr=(rt-nr)/Gt,ti=(rt+1+nr)/Gt,Jr={features:[]};return this._addTileFeatures(Vt.range((Ne-nr)/Gt,xr,(Ne+1+nr)/Gt,ti),Vt.data,Ne,rt,Gt,Jr),Ne===0&&this._addTileFeatures(Vt.range(1-nr/Gt,xr,1,ti),Vt.data,Gt,rt,Gt,Jr),Ne===Gt-1&&this._addTileFeatures(Vt.range(0,xr,nr/Gt,ti),Vt.data,-1,rt,Gt,Jr),Jr.features.length?Jr:null}getClusterExpansionZoom(Fe){let Ne=this._getOriginZoom(Fe)-1;for(;Ne<=this.options.maxZoom;){let rt=this.getChildren(Fe);if(Ne++,rt.length!==1)break;Fe=rt[0].properties.cluster_id}return Ne}_appendLeaves(Fe,Ne,rt,Vt,Gt){let yr=this.getChildren(Ne);for(let fr of yr){let nr=fr.properties;if(nr&&nr.cluster?Gt+nr.point_count<=Vt?Gt+=nr.point_count:Gt=this._appendLeaves(Fe,nr.cluster_id,rt,Vt,Gt):Gt1,ti,Jr,Wi;if(xr)ti=Ce(Ne,nr,this.clusterProps),Jr=Ne[nr],Wi=Ne[nr+1];else{let bs=this.points[Ne[nr+3]];ti=bs.properties;let[go,wr]=bs.geometry.coordinates;Jr=_e(go),Wi=Je(wr)}let fn={type:1,geometry:[[Math.round(this.options.extent*(Jr*Gt-rt)),Math.round(this.options.extent*(Wi*Gt-Vt))]],tags:ti},Wn;Wn=xr||this.options.generateId?Ne[nr+3]:this.points[Ne[nr+3]].id,Wn!==void 0&&(fn.id=Wn),yr.features.push(fn)}}_limitZoom(Fe){return Math.max(this.options.minZoom,Math.min(Math.floor(+Fe),this.options.maxZoom+1))}_cluster(Fe,Ne){let{radius:rt,extent:Vt,reduce:Gt,minPoints:yr}=this.options,fr=rt/(Vt*Math.pow(2,Ne)),nr=Fe.data,xr=[],ti=this.stride;for(let Jr=0;JrNe&&(go+=nr[Us+5])}if(go>bs&&go>=yr){let wr,Us=Wi*bs,ns=fn*bs,Be=-1,$e=(Jr/ti<<5)+(Ne+1)+this.points.length;for(let it of Wn){let mt=it*ti;if(nr[mt+2]<=Ne)continue;nr[mt+2]=Ne;let Qe=nr[mt+5];Us+=nr[mt]*Qe,ns+=nr[mt+1]*Qe,nr[mt+4]=$e,Gt&&(wr||(wr=this._map(nr,Jr,!0),Be=this.clusterProps.length,this.clusterProps.push(wr)),Gt(wr,this._map(nr,mt)))}nr[Jr+4]=$e,xr.push(Us/go,ns/go,1/0,$e,-1,go),Gt&&xr.push(Be)}else{for(let wr=0;wr1)for(let wr of Wn){let Us=wr*ti;if(!(nr[Us+2]<=Ne)){nr[Us+2]=Ne;for(let ns=0;ns>5}_getOriginZoom(Fe){return(Fe-this.points.length)%32}_map(Fe,Ne,rt){if(Fe[Ne+5]>1){let yr=this.clusterProps[Fe[Ne+6]];return rt?Object.assign({},yr):yr}let Vt=this.points[Fe[Ne+3]].properties,Gt=this.options.map(Vt);return rt&&Gt===Vt?Object.assign({},Gt):Gt}}function Xe(Yt,Fe,Ne){return{type:"Feature",id:Yt[Fe+3],properties:Ce(Yt,Fe,Ne),geometry:{type:"Point",coordinates:[(rt=Yt[Fe],360*(rt-.5)),Et(Yt[Fe+1])]}};var rt}function Ce(Yt,Fe,Ne){let rt=Yt[Fe+5],Vt=rt>=1e4?`${Math.round(rt/1e3)}k`:rt>=1e3?Math.round(rt/100)/10+"k":rt,Gt=Yt[Fe+6],yr=Gt===-1?{}:Object.assign({},Ne[Gt]);return Object.assign(yr,{cluster:!0,cluster_id:Yt[Fe+3],point_count:rt,point_count_abbreviated:Vt})}function _e(Yt){return Yt/360+.5}function Je(Yt){let Fe=Math.sin(Yt*Math.PI/180),Ne=.5-.25*Math.log((1+Fe)/(1-Fe))/Math.PI;return Ne<0?0:Ne>1?1:Ne}function Et(Yt){let Fe=(180-360*Yt)*Math.PI/180;return 360*Math.atan(Math.exp(Fe))/Math.PI-90}function Ze(Yt,Fe,Ne,rt){let Vt=rt,Gt=Fe+(Ne-Fe>>1),yr,fr=Ne-Fe,nr=Yt[Fe],xr=Yt[Fe+1],ti=Yt[Ne],Jr=Yt[Ne+1];for(let Wi=Fe+3;WiVt)yr=Wi,Vt=fn;else if(fn===Vt){let Wn=Math.abs(Wi-Gt);Wnrt&&(yr-Fe>3&&Ze(Yt,Fe,yr,rt),Yt[yr+2]=Vt,Ne-yr>3&&Ze(Yt,yr,Ne,rt))}function xt(Yt,Fe,Ne,rt,Vt,Gt){let yr=Vt-Ne,fr=Gt-rt;if(yr!==0||fr!==0){let nr=((Yt-Ne)*yr+(Fe-rt)*fr)/(yr*yr+fr*fr);nr>1?(Ne=Vt,rt=Gt):nr>0&&(Ne+=yr*nr,rt+=fr*nr)}return yr=Yt-Ne,fr=Fe-rt,yr*yr+fr*fr}function sr(Yt,Fe,Ne,rt){let Vt={id:Yt??null,type:Fe,geometry:Ne,tags:rt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Fe==="Point"||Fe==="MultiPoint"||Fe==="LineString")Mr(Vt,Ne);else if(Fe==="Polygon")Mr(Vt,Ne[0]);else if(Fe==="MultiLineString")for(let Gt of Ne)Mr(Vt,Gt);else if(Fe==="MultiPolygon")for(let Gt of Ne)Mr(Vt,Gt[0]);return Vt}function Mr(Yt,Fe){for(let Ne=0;Ne0&&(yr+=rt?(Vt*ti-xr*Gt)/2:Math.sqrt(Math.pow(xr-Vt,2)+Math.pow(ti-Gt,2))),Vt=xr,Gt=ti}let fr=Fe.length-3;Fe[2]=1,Ze(Fe,0,fr,Ne),Fe[fr+2]=1,Fe.size=Math.abs(yr),Fe.start=0,Fe.end=Fe.size}function un(Yt,Fe,Ne,rt){for(let Vt=0;Vt1?1:Ne}function xi(Yt,Fe,Ne,rt,Vt,Gt,yr,fr){if(rt/=Fe,Gt>=(Ne/=Fe)&&yr=rt)return null;let nr=[];for(let xr of Yt){let ti=xr.geometry,Jr=xr.type,Wi=Vt===0?xr.minX:xr.minY,fn=Vt===0?xr.maxX:xr.maxY;if(Wi>=Ne&&fn=rt)continue;let Wn=[];if(Jr==="Point"||Jr==="MultiPoint")ii(ti,Wn,Ne,rt,Vt);else if(Jr==="LineString")Gn(ti,Wn,Ne,rt,Vt,!1,fr.lineMetrics);else if(Jr==="MultiLineString")nt(ti,Wn,Ne,rt,Vt,!1);else if(Jr==="Polygon")nt(ti,Wn,Ne,rt,Vt,!0);else if(Jr==="MultiPolygon")for(let bs of ti){let go=[];nt(bs,go,Ne,rt,Vt,!0),go.length&&Wn.push(go)}if(Wn.length){if(fr.lineMetrics&&Jr==="LineString"){for(let bs of Wn)nr.push(sr(xr.id,Jr,bs,xr.tags));continue}Jr!=="LineString"&&Jr!=="MultiLineString"||(Wn.length===1?(Jr="LineString",Wn=Wn[0]):Jr="MultiLineString"),Jr!=="Point"&&Jr!=="MultiPoint"||(Jr=Wn.length===3?"Point":"MultiPoint"),nr.push(sr(xr.id,Jr,Wn,xr.tags))}}return nr.length?nr:null}function ii(Yt,Fe,Ne,rt,Vt){for(let Gt=0;Gt=Ne&&yr<=rt&&Ft(Fe,Yt[Gt],Yt[Gt+1],Yt[Gt+2])}}function Gn(Yt,Fe,Ne,rt,Vt,Gt,yr){let fr=Ve(Yt),nr=Vt===0?mr:Xr,xr,ti,Jr=Yt.start;for(let go=0;goNe&&(ti=nr(fr,wr,Us,Be,$e,Ne),yr&&(fr.start=Jr+xr*ti)):it>rt?mt=Ne&&(ti=nr(fr,wr,Us,Be,$e,Ne),Qe=!0),mt>rt&&it<=rt&&(ti=nr(fr,wr,Us,Be,$e,rt),Qe=!0),!Gt&&Qe&&(yr&&(fr.end=Jr+xr*ti),Fe.push(fr),fr=Ve(Yt)),yr&&(Jr+=xr)}let Wi=Yt.length-3,fn=Yt[Wi],Wn=Yt[Wi+1],bs=Vt===0?fn:Wn;bs>=Ne&&bs<=rt&&Ft(fr,fn,Wn,Yt[Wi+2]),Wi=fr.length-3,Gt&&Wi>=3&&(fr[Wi]!==fr[0]||fr[Wi+1]!==fr[1])&&Ft(fr,fr[0],fr[1],fr[2]),fr.length&&Fe.push(fr)}function Ve(Yt){let Fe=[];return Fe.size=Yt.size,Fe.start=Yt.start,Fe.end=Yt.end,Fe}function nt(Yt,Fe,Ne,rt,Vt,Gt){for(let yr of Yt)Gn(yr,Fe,Ne,rt,Vt,Gt,!1)}function Ft(Yt,Fe,Ne,rt){Yt.push(Fe,Ne,rt)}function mr(Yt,Fe,Ne,rt,Vt,Gt){let yr=(Gt-Fe)/(rt-Fe);return Ft(Yt,Gt,Ne+(Vt-Ne)*yr,1),yr}function Xr(Yt,Fe,Ne,rt,Vt,Gt){let yr=(Gt-Ne)/(Vt-Ne);return Ft(Yt,Fe+(rt-Fe)*yr,Gt,1),yr}function zr(Yt,Fe){let Ne=[];for(let rt=0;rt0&&Fe.size<(Vt?yr:rt))return void(Ne.numPoints+=Fe.length/3);let fr=[];for(let nr=0;nryr)&&(Ne.numSimplified++,fr.push(Fe[nr],Fe[nr+1])),Ne.numPoints++;Vt&&function(nr,xr){let ti=0;for(let Jr=0,Wi=nr.length,fn=Wi-2;Jr0===xr)for(let Jr=0,Wi=nr.length;Jr24)throw new Error("maxZoom should be in the 0-24 range");if(Ne.promoteId&&Ne.generateId)throw new Error("promoteId and generateId cannot be used together.");let Vt=function(Gt,yr){let fr=[];if(Gt.type==="FeatureCollection")for(let nr=0;nr1&&console.time("creation"),fn=this.tiles[Wi]=Ho(Fe,Ne,rt,Vt,xr),this.tileCoords.push({z:Ne,x:rt,y:Vt}),ti)){ti>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Ne,rt,Vt,fn.numFeatures,fn.numPoints,fn.numSimplified),console.timeEnd("creation"));let Qe=`z${Ne}`;this.stats[Qe]=(this.stats[Qe]||0)+1,this.total++}if(fn.source=Fe,Gt==null){if(Ne===xr.indexMaxZoom||fn.numPoints<=xr.indexMaxPoints)continue}else{if(Ne===xr.maxZoom||Ne===Gt)continue;if(Gt!=null){let Qe=Gt-Ne;if(rt!==yr>>Qe||Vt!==fr>>Qe)continue}}if(fn.source=null,Fe.length===0)continue;ti>1&&console.time("clipping");let Wn=.5*xr.buffer/xr.extent,bs=.5-Wn,go=.5+Wn,wr=1+Wn,Us=null,ns=null,Be=null,$e=null,it=xi(Fe,Jr,rt-Wn,rt+go,0,fn.minX,fn.maxX,xr),mt=xi(Fe,Jr,rt+bs,rt+wr,0,fn.minX,fn.maxX,xr);Fe=null,it&&(Us=xi(it,Jr,Vt-Wn,Vt+go,1,fn.minY,fn.maxY,xr),ns=xi(it,Jr,Vt+bs,Vt+wr,1,fn.minY,fn.maxY,xr),it=null),mt&&(Be=xi(mt,Jr,Vt-Wn,Vt+go,1,fn.minY,fn.maxY,xr),$e=xi(mt,Jr,Vt+bs,Vt+wr,1,fn.minY,fn.maxY,xr),mt=null),ti>1&&console.timeEnd("clipping"),nr.push(Us||[],Ne+1,2*rt,2*Vt),nr.push(ns||[],Ne+1,2*rt,2*Vt+1),nr.push(Be||[],Ne+1,2*rt+1,2*Vt),nr.push($e||[],Ne+1,2*rt+1,2*Vt+1)}}getTile(Fe,Ne,rt){Fe=+Fe,Ne=+Ne,rt=+rt;let Vt=this.options,{extent:Gt,debug:yr}=Vt;if(Fe<0||Fe>24)return null;let fr=1<1&&console.log("drilling down to z%d-%d-%d",Fe,Ne,rt);let xr,ti=Fe,Jr=Ne,Wi=rt;for(;!xr&&ti>0;)ti--,Jr>>=1,Wi>>=1,xr=this.tiles[ds(ti,Jr,Wi)];return xr&&xr.source?(yr>1&&(console.log("found parent tile z%d-%d-%d",ti,Jr,Wi),console.time("drilling down")),this.splitTile(xr.source,ti,Jr,Wi,Fe,Ne,rt),yr>1&&console.timeEnd("drilling down"),this.tiles[nr]?Nn(this.tiles[nr],Gt):null):null}}function ds(Yt,Fe,Ne){return 32*((1<`${Gt.key}: ${Gt.message}`).join(", "));let Vt=Fe.features.filter(Gt=>rt.value.evaluate({zoom:0},Gt));return this._toFeatureCollection(Vt)}_toFeatureCollection(Fe){return{type:"FeatureCollection",features:Fe}}removeSource(Fe){return n._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Fe){return this._geoJSONIndex.getClusterExpansionZoom(Fe.clusterId)}getClusterChildren(Fe){return this._geoJSONIndex.getChildren(Fe.clusterId)}getClusterLeaves(Fe){return this._geoJSONIndex.getLeaves(Fe.clusterId,Fe.limit,Fe.offset)}}function ps(Yt,Fe){return Fe.cluster?new Ge(function({superclusterOptions:Ne,clusterProperties:rt}){if(!rt||!Ne)return Ne;let Vt={},Gt={},yr={accumulated:null,zoom:0},fr={properties:null},nr=Object.keys(rt);for(let xr of nr){let[ti,Jr]=rt[xr],Wi=n.d4(Jr),fn=n.d4(typeof ti=="string"?[ti,["accumulated"],["get",xr]]:ti);Vt[xr]=Wi.value,Gt[xr]=fn.value}return Ne.map=xr=>{fr.properties=xr;let ti={};for(let Jr of nr)ti[Jr]=Vt[Jr].evaluate(yr,fr);return ti},Ne.reduce=(xr,ti)=>{fr.properties=ti;for(let Jr of nr)yr.accumulated=xr[Jr],xr[Jr]=Gt[Jr].evaluate(yr,fr)},Ne}(Fe)).load(Yt.features):function(Ne,rt){return new Ba(Ne,rt)}(Yt,Fe.geojsonVtOptions)}class ws{constructor(Fe){this.self=Fe,this.actor=new n.L(Fe),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(Ne,rt)=>{if(this.externalWorkerSourceTypes[Ne])throw new Error(`Worker source with name "${Ne}" already registered.`);this.externalWorkerSourceTypes[Ne]=rt},this.self.addProtocol=n.cK,this.self.removeProtocol=n.cL,this.self.registerRTLTextPlugin=Ne=>{n.d5.setMethods(Ne)},this.actor.registerMessageHandler("LDT",(Ne,rt)=>this._getDEMWorkerSource(Ne,rt.source).loadTile(rt)),this.actor.registerMessageHandler("RDT",(Ne,rt)=>n._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ne,rt.source).removeTile(rt)})),this.actor.registerMessageHandler("GCEZ",(Ne,rt)=>n._(this,void 0,void 0,function*(){return this._getWorkerSource(Ne,rt.type,rt.source).getClusterExpansionZoom(rt)})),this.actor.registerMessageHandler("GCC",(Ne,rt)=>n._(this,void 0,void 0,function*(){return this._getWorkerSource(Ne,rt.type,rt.source).getClusterChildren(rt)})),this.actor.registerMessageHandler("GCL",(Ne,rt)=>n._(this,void 0,void 0,function*(){return this._getWorkerSource(Ne,rt.type,rt.source).getClusterLeaves(rt)})),this.actor.registerMessageHandler("LD",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).loadData(rt)),this.actor.registerMessageHandler("GD",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).getData()),this.actor.registerMessageHandler("LT",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).loadTile(rt)),this.actor.registerMessageHandler("RT",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).reloadTile(rt)),this.actor.registerMessageHandler("AT",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).abortTile(rt)),this.actor.registerMessageHandler("RMT",(Ne,rt)=>this._getWorkerSource(Ne,rt.type,rt.source).removeTile(rt)),this.actor.registerMessageHandler("RS",(Ne,rt)=>n._(this,void 0,void 0,function*(){if(!this.workerSources[Ne]||!this.workerSources[Ne][rt.type]||!this.workerSources[Ne][rt.type][rt.source])return;let Vt=this.workerSources[Ne][rt.type][rt.source];delete this.workerSources[Ne][rt.type][rt.source],Vt.removeSource!==void 0&&Vt.removeSource(rt)})),this.actor.registerMessageHandler("RM",Ne=>n._(this,void 0,void 0,function*(){delete this.layerIndexes[Ne],delete this.availableImages[Ne],delete this.workerSources[Ne],delete this.demWorkerSources[Ne],this.globalStates.delete(Ne)})),this.actor.registerMessageHandler("SR",(Ne,rt)=>n._(this,void 0,void 0,function*(){this.referrer=rt})),this.actor.registerMessageHandler("SRPS",(Ne,rt)=>this._syncRTLPluginState(Ne,rt)),this.actor.registerMessageHandler("IS",(Ne,rt)=>n._(this,void 0,void 0,function*(){this.self.importScripts(rt)})),this.actor.registerMessageHandler("SI",(Ne,rt)=>this._setImages(Ne,rt)),this.actor.registerMessageHandler("UL",(Ne,rt)=>n._(this,void 0,void 0,function*(){this._getLayerIndex(Ne).update(rt.layers,rt.removedIds,this._getGlobalState(Ne))})),this.actor.registerMessageHandler("UGS",(Ne,rt)=>n._(this,void 0,void 0,function*(){let Vt=this._getGlobalState(Ne);for(let Gt in rt)Vt[Gt]=rt[Gt]})),this.actor.registerMessageHandler("SL",(Ne,rt)=>n._(this,void 0,void 0,function*(){this._getLayerIndex(Ne).replace(rt,this._getGlobalState(Ne))}))}_getGlobalState(Fe){let Ne=this.globalStates.get(Fe);return Ne||(Ne={},this.globalStates.set(Fe,Ne)),Ne}_setImages(Fe,Ne){return n._(this,void 0,void 0,function*(){this.availableImages[Fe]=Ne;for(let rt in this.workerSources[Fe]){let Vt=this.workerSources[Fe][rt];for(let Gt in Vt)Vt[Gt].availableImages=Ne}})}_syncRTLPluginState(Fe,Ne){return n._(this,void 0,void 0,function*(){return yield n.d5.syncState(Ne,this.self.importScripts)})}_getAvailableImages(Fe){let Ne=this.availableImages[Fe];return Ne||(Ne=[]),Ne}_getLayerIndex(Fe){let Ne=this.layerIndexes[Fe];return Ne||(Ne=this.layerIndexes[Fe]=new o),Ne}_getWorkerSource(Fe,Ne,rt){if(this.workerSources[Fe]||(this.workerSources[Fe]={}),this.workerSources[Fe][Ne]||(this.workerSources[Fe][Ne]={}),!this.workerSources[Fe][Ne][rt]){let Vt={sendAsync:(Gt,yr)=>(Gt.targetMapId=Fe,this.actor.sendAsync(Gt,yr))};switch(Ne){case"vector":this.workerSources[Fe][Ne][rt]=new U(Vt,this._getLayerIndex(Fe),this._getAvailableImages(Fe));break;case"geojson":this.workerSources[Fe][Ne][rt]=new so(Vt,this._getLayerIndex(Fe),this._getAvailableImages(Fe));break;default:this.workerSources[Fe][Ne][rt]=new this.externalWorkerSourceTypes[Ne](Vt,this._getLayerIndex(Fe),this._getAvailableImages(Fe))}}return this.workerSources[Fe][Ne][rt]}_getDEMWorkerSource(Fe,Ne){return this.demWorkerSources[Fe]||(this.demWorkerSources[Fe]={}),this.demWorkerSources[Fe][Ne]||(this.demWorkerSources[Fe][Ne]=new K),this.demWorkerSources[Fe][Ne]}}return n.i(self)&&(self.worker=new ws(self)),ws}),r("index",["exports","./shared"],function(n,o){"use strict";var s="5.14.0";function c(){var z=new o.A(4);return o.A!=Float32Array&&(z[1]=0,z[2]=0),z[0]=1,z[3]=1,z}let f,g,y,I={frame(z,l,m){let T=requestAnimationFrame(V=>{P(),l(V)}),{unsubscribe:P}=o.s(z.signal,"abort",()=>{P(),cancelAnimationFrame(T),m(new o.a(z.signal.reason))},!1)},frameAsync(z){return new Promise((l,m)=>{this.frame(z,l,m)})},getImageData(z,l=0){return this.getImageCanvasContext(z).getImageData(-l,-l,z.width+2*l,z.height+2*l)},getImageCanvasContext(z){let l=window.document.createElement("canvas"),m=l.getContext("2d",{willReadFrequently:!0});if(!m)throw new Error("failed to create canvas 2d context");return l.width=z.width,l.height=z.height,m.drawImage(z,0,0,z.width,z.height),m},resolveURL:z=>(f||(f=document.createElement("a")),f.href=z,f.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return y!==void 0?y:!!matchMedia&&(g==null&&(g=matchMedia("(prefers-reduced-motion: reduce)")),g.matches)},set prefersReducedMotion(z){y=z}},F=new class{constructor(){this._realTime=typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),this._frozenAt=null}getCurrentTime(){return this._frozenAt!==null?this._frozenAt:this._realTime()}setNow(z){this._frozenAt=z}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function k(){return F.getCurrentTime()}class U{static testProp(l){if(!U.docStyle)return l[0];for(let m=0;m{window.removeEventListener("click",U.suppressClickInternal,!0)},0)}static getScale(l){let m=l.getBoundingClientRect();return{x:m.width/l.offsetWidth||1,y:m.height/l.offsetHeight||1,boundingClientRect:m}}static getPoint(l,m,T){let P=m.boundingClientRect;return new o.P((T.clientX-P.left)/m.x-l.clientLeft,(T.clientY-P.top)/m.y-l.clientTop)}static mousePos(l,m){let T=U.getScale(l);return U.getPoint(l,T,m)}static touchPos(l,m){let T=[],P=U.getScale(l);for(let V=0;V{ee&&Se(ee),ee=null,me=!0},he.onerror=()=>{xe=!0,ee=null},he.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(z){let l,m,T,P;z.resetRequestQueue=()=>{l=[],m=0,T=0,P={}},z.addThrottleControl=se=>{let fe=T++;return P[fe]=se,fe},z.removeThrottleControl=se=>{delete P[se],W()},z.getImage=(se,fe,ye=!0)=>new Promise((Re,Me)=>{K.supported&&(se.headers||(se.headers={}),se.headers.accept="image/webp,*/*"),o.e(se,{type:"image"}),l.push({abortController:fe,requestParameters:se,supportImageRefresh:ye,state:"queued",onError:je=>{Me(je)},onSuccess:je=>{Re(je)}}),W()});let V=se=>o._(this,void 0,void 0,function*(){se.state="running";let{requestParameters:fe,supportImageRefresh:ye,onError:Re,onSuccess:Me,abortController:je}=se,tt=ye===!1&&!o.i(self)&&!o.g(fe.url)&&(!fe.headers||Object.keys(fe.headers).reduce((vt,Lt)=>vt&&Lt==="accept",!0));m++;let yt=tt?te(fe,je):o.m(fe,je);try{let vt=yield yt;delete se.abortController,se.state="completed",vt.data instanceof HTMLImageElement||o.b(vt.data)?Me(vt):vt.data&&Me({data:yield(At=vt.data,typeof createImageBitmap=="function"?o.f(At):o.h(At)),cacheControl:vt.cacheControl,expires:vt.expires})}catch(vt){delete se.abortController,Re(vt)}finally{m--,W()}var At}),W=()=>{let se=(()=>{for(let fe of Object.keys(P))if(P[fe]())return!0;return!1})()?o.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:o.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let fe=m;fe0;fe++){let ye=l.shift();ye.abortController.signal.aborted?fe--:V(ye)}},te=(se,fe)=>new Promise((ye,Re)=>{let Me=new Image,je=se.url,tt=se.credentials;tt&&tt==="include"?Me.crossOrigin="use-credentials":(tt&&tt==="same-origin"||!o.d(je))&&(Me.crossOrigin="anonymous"),fe.signal.addEventListener("abort",()=>{Me.src="",Re(new o.a(fe.signal.reason))}),Me.fetchPriority="high",Me.onload=()=>{Me.onerror=Me.onload=null,ye({data:Me})},Me.onerror=()=>{Me.onerror=Me.onload=null,fe.signal.aborted||Re(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."))},Me.src=je})}(Oe||(Oe={})),Oe.resetRequestQueue();class ne{constructor(l){this._transformRequestFn=l??null}transformRequest(l,m){return this._transformRequestFn&&this._transformRequestFn(l,m)||{url:l}}setTransformRequest(l){this._transformRequestFn=l}}function Ge(z){let l=[];if(typeof z=="string")l.push({id:"default",url:z});else if(z&&z.length>0){let m=[];for(let{id:T,url:P}of z){let V=`${T}${P}`;m.indexOf(V)===-1&&(m.push(V),l.push({id:T,url:P}))}}return l}function Xe(z,l,m){try{let T=new URL(z);return T.pathname+=`${l}${m}`,T.toString()}catch{throw new Error(`Invalid sprite URL "${z}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function Ce(z){let{userImage:l}=z;return!!(l&&l.render&&l.render())&&(z.data.replace(new Uint8Array(l.data.buffer)),!0)}class _e extends o.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new o.R({width:1,height:1}),this.dirty=!0}destroy(){this.atlasTexture&&(this.atlasTexture.destroy(),this.atlasTexture=null);for(let l of Object.keys(this.images))this.removeImage(l);this.patterns={},this.atlasImage=new o.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:m,promiseResolve:T}of this.requestors)T(this._getImagesForIds(m));this.requestors=[]}}getImage(l){let m=this.images[l];if(m&&!m.data&&m.spriteData){let T=m.spriteData;m.data=new o.R({width:T.width,height:T.height},T.context.getImageData(T.x,T.y,T.width,T.height).data),m.spriteData=null}return m}addImage(l,m){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,m)&&(this.images[l]=m)}_validate(l,m){let T=!0,P=m.data||m.spriteData;return this._validateStretch(m.stretchX,P&&P.width)||(this.fire(new o.k(new Error(`Image "${l}" has invalid "stretchX" value`))),T=!1),this._validateStretch(m.stretchY,P&&P.height)||(this.fire(new o.k(new Error(`Image "${l}" has invalid "stretchY" value`))),T=!1),this._validateContent(m.content,m)||(this.fire(new o.k(new Error(`Image "${l}" has invalid "content" value`))),T=!1),T}_validateStretch(l,m){if(!l)return!0;let T=0;for(let P of l){if(P[0]{let P=!0;if(!this.isLoaded())for(let V of l)this.images[V]||(P=!1);this.isLoaded()||P?m(this._getImagesForIds(l)):this.requestors.push({ids:l,promiseResolve:m})})}_getImagesForIds(l){let m={};for(let T of l){let P=this.getImage(T);P||(this.fire(new o.l("styleimagemissing",{id:T})),P=this.getImage(T)),P?m[T]={data:P.data.clone(),pixelRatio:P.pixelRatio,sdf:P.sdf,version:P.version,stretchX:P.stretchX,stretchY:P.stretchY,content:P.content,textFitWidth:P.textFitWidth,textFitHeight:P.textFitHeight,hasRenderCallback:Boolean(P.userImage&&P.userImage.render)}:o.w(`Image "${T}" 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 m}getPixelSize(){let{width:l,height:m}=this.atlasImage;return{width:l,height:m}}getPattern(l){let m=this.patterns[l],T=this.getImage(l);if(!T)return null;if(m&&m.position.version===T.version)return m.position;if(m)m.position.version=T.version;else{let P={w:T.data.width+2,h:T.data.height+2,x:0,y:0},V=new o.I(P,T);this.patterns[l]={bin:P,position:V}}return this._updatePatternAtlas(),this.patterns[l].position}bind(l){let m=l.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o.T(l,this.atlasImage,m.RGBA),this.atlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE)}_updatePatternAtlas(){let l=[];for(let V in this.patterns)l.push(this.patterns[V].bin);let{w:m,h:T}=o.p(l),P=this.atlasImage;P.resize({width:m||1,height:T||1});for(let V in this.patterns){let{bin:W}=this.patterns[V],te=W.x+1,se=W.y+1,fe=this.getImage(V).data,ye=fe.width,Re=fe.height;o.R.copy(fe,P,{x:0,y:0},{x:te,y:se},{width:ye,height:Re}),o.R.copy(fe,P,{x:0,y:Re-1},{x:te,y:se-1},{width:ye,height:1}),o.R.copy(fe,P,{x:0,y:0},{x:te,y:se+Re},{width:ye,height:1}),o.R.copy(fe,P,{x:ye-1,y:0},{x:te-1,y:se},{width:1,height:Re}),o.R.copy(fe,P,{x:0,y:0},{x:te+ye,y:se},{width:1,height:Re})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(l){for(let m of l){if(this.callbackDispatchedThisFrame[m])continue;this.callbackDispatchedThisFrame[m]=!0;let T=this.getImage(m);T||o.w(`Image with ID: "${m}" was not found`),Ce(T)&&this.updateImage(m,T)}}cloneImages(){let l={};for(let m in this.images){let T=this.images[m];l[m]=Object.assign(Object.assign({},T),{data:T.data?T.data.clone():null})}return l}}let Je=1e20;function Et(z,l,m,T,P,V,W,te,se){for(let fe=l;fe-1);se++,V[se]=te,W[se]=fe,W[se+1]=Je}for(let te=0,se=0;te/[-\w]+/.test(P)?P:`'${CSS.escape(P)}'`).join(",");return new sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:T,fontWeight:this._fontWeight(m[0]),fontStyle:this._fontStyle(m[0]),lang:this.lang})}_fontStyle(l){return/italic/i.test(l)?"italic":/oblique/i.test(l)?"oblique":"normal"}_fontWeight(l){let m={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},T;for(let[P,V]of Object.entries(m))new RegExp(`\\b${P}\\b`,"i").test(l)&&(T=`${V}`);return T}destroy(){for(let l in this.entries){let m=this.entries[l];m.tinySDF&&(m.tinySDF=null),m.ideographTinySDF&&(m.ideographTinySDF=null),m.glyphs={},m.requests={},m.ranges={}}this.entries={}}}sr.loadGlyphRange=function(z,l,m,T){return o._(this,void 0,void 0,function*(){let P=256*l,V=P+255,W=T.transformRequest(m.replace("{fontstack}",z).replace("{range}",`${P}-${V}`),"Glyphs"),te=yield o.n(W,new AbortController);if(!te||!te.data)throw new Error(`Could not load glyph range. range: ${l}, ${P}-${V}`);let se={};for(let fe of o.o(te.data))se[fe.id]=fe;return se})},sr.TinySDF=class{constructor({fontSize:z=24,buffer:l=3,radius:m=8,cutoff:T=.25,fontFamily:P="sans-serif",fontWeight:V="normal",fontStyle:W="normal",lang:te=null}={}){this.buffer=l,this.cutoff=T,this.radius=m,this.lang=te;let se=this.size=z+4*l,fe=this._createCanvas(se),ye=this.ctx=fe.getContext("2d",{willReadFrequently:!0});ye.font=`${W} ${V} ${z}px ${P}`,ye.textBaseline="alphabetic",ye.textAlign="left",ye.fillStyle="black",this.gridOuter=new Float64Array(se*se),this.gridInner=new Float64Array(se*se),this.f=new Float64Array(se),this.z=new Float64Array(se+1),this.v=new Uint16Array(se)}_createCanvas(z){let l=document.createElement("canvas");return l.width=l.height=z,l}draw(z){let{width:l,actualBoundingBoxAscent:m,actualBoundingBoxDescent:T,actualBoundingBoxLeft:P,actualBoundingBoxRight:V}=this.ctx.measureText(z),W=Math.ceil(m),te=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(V-P))),se=Math.min(this.size-this.buffer,W+Math.ceil(T)),fe=te+2*this.buffer,ye=se+2*this.buffer,Re=Math.max(fe*ye,0),Me=new Uint8ClampedArray(Re),je={data:Me,width:fe,height:ye,glyphWidth:te,glyphHeight:se,glyphTop:W,glyphLeft:0,glyphAdvance:l};if(te===0||se===0)return je;let{ctx:tt,buffer:yt,gridInner:At,gridOuter:vt}=this;this.lang&&(tt.lang=this.lang),tt.clearRect(yt,yt,te,se),tt.fillText(z,yt,yt+W);let Lt=tt.getImageData(yt,yt,te,se);vt.fill(Je,0,Re),At.fill(0,0,Re);for(let Kt=0;Kt0?zt*zt:0,At[Rt]=zt<0?zt*zt:0}}Et(vt,0,0,fe,ye,fe,this.f,this.v,this.z),Et(At,yt,yt,te,se,fe,this.f,this.v,this.z);for(let Kt=0;Kt1&&(se=l[++te]);let ye=Math.abs(fe-se.left),Re=Math.abs(fe-se.right),Me=Math.min(ye,Re),je,tt=V/T*(P+1);if(se.isDash){let yt=P-Math.abs(tt);je=Math.sqrt(Me*Me+yt*yt)}else je=P-Math.sqrt(Me*Me+tt*tt);this.data[W+fe]=Math.max(0,Math.min(255,je+128))}}}addRegularDash(l){for(let te=l.length-1;te>=0;--te){let se=l[te],fe=l[te+1];se.zeroLength?l.splice(te,1):fe&&fe.isDash===se.isDash&&(fe.left=se.left,l.splice(te,1))}let m=l[0],T=l[l.length-1];m.isDash===T.isDash&&(m.left=T.left-this.width,T.right=m.right+this.width);let P=this.width*this.nextRow,V=0,W=l[V];for(let te=0;te1&&(W=l[++V]);let se=Math.abs(te-W.left),fe=Math.abs(te-W.right),ye=Math.min(se,fe);this.data[P+te]=Math.max(0,Math.min(255,(W.isDash?ye:-ye)+128))}}addDash(l,m){let T=m?7:0,P=2*T+1;if(this.nextRow+P>this.height)return o.w("LineAtlas out of space"),null;let V=0;for(let te=0;te{m.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[Xi]}numActive(){return Object.keys(this.active).length}}let ii=Math.floor(I.hardwareConcurrency/2),Gn,Ve;function nt(){return Gn||(Gn=new xi),Gn}xi.workerCount=o.K(globalThis)?Math.max(Math.min(ii,3),1):1;class Ft{constructor(l,m){this.workerPool=l,this.actors=[],this.currentActor=0,this.id=m;let T=this.workerPool.acquire(m);for(let P=0;P{m.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}registerMessageHandler(l,m){for(let T of this.actors)T.registerMessageHandler(l,m)}unregisterMessageHandler(l){for(let m of this.actors)m.unregisterMessageHandler(l)}}function mr(){return Ve||(Ve=new Ft(nt(),o.M),Ve.registerMessageHandler("GR",(z,l,m)=>o.m(l,m))),Ve}function Xr(z,l){let m=o.N();return o.O(m,m,[1,1,0]),o.Q(m,m,[.5*z.width,.5*z.height,1]),z.calculatePosMatrix?o.S(m,m,z.calculatePosMatrix(l.toUnwrapped())):m}function zr(z,l,m,T,P,V,W){var te;let se=function(Me,je,tt){if(Me)for(let yt of Me){let At=je[yt];if(At&&At.source===tt&&At.type==="fill-extrusion")return!0}else for(let yt in je){let At=je[yt];if(At.source===tt&&At.type==="fill-extrusion")return!0}return!1}((te=P?.layers)!==null&&te!==void 0?te:null,l,z.id),fe=V.maxPitchScaleFactor(),ye=z.tilesIn(T,fe,se);ye.sort(ln);let Re=[];for(let Me of ye)Re.push({wrappedTileID:Me.tileID.wrapped().key,queryResults:Me.tile.queryRenderedFeatures(l,m,z.getState(),Me.queryGeometry,Me.cameraQueryGeometry,Me.scale,P,V,fe,Xr(V,Me.tileID),W?(je,tt)=>W(Me.tileID,je,tt):void 0)});return function(Me,je){for(let tt in Me)for(let yt of Me[tt])Nn(yt,je);return Me}(function(Me){let je={},tt={};for(let yt of Me){let At=yt.queryResults,vt=yt.wrappedTileID,Lt=tt[vt]=tt[vt]||{};for(let Kt in At){let It=At[Kt],Xt=Lt[Kt]=Lt[Kt]||{},Rt=je[Kt]=je[Kt]||[];for(let zt of It)Xt[zt.featureIndex]||(Xt[zt.featureIndex]=!0,Rt.push(zt))}}return je}(Re),z)}function ln(z,l){let m=z.tileID,T=l.tileID;return m.overscaledZ-T.overscaledZ||m.canonical.y-T.canonical.y||m.wrap-T.wrap||m.canonical.x-T.canonical.x}function Nn(z,l){let m=z.feature,T=l.getFeatureState(m.layer["source-layer"],m.id);m.source=m.layer.source,m.layer["source-layer"]&&(m.sourceLayer=m.layer["source-layer"]),m.state=T}function Co(z,l,m){return o._(this,void 0,void 0,function*(){let T=z;if(z.url?T=(yield o.j(l.transformRequest(z.url,"Source"),m)).data:yield I.frameAsync(m),!T)return null;let P=o.U(o.e(T,z),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in T&&T.vector_layers&&(P.vectorLayerIds=T.vector_layers.map(V=>V.id)),P})}class Ho{constructor(l,m){l&&(m?this.setSouthWest(l).setNorthEast(m):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof o.V?new o.V(l.lng,l.lat):o.V.convert(l),this}setSouthWest(l){return this._sw=l instanceof o.V?new o.V(l.lng,l.lat):o.V.convert(l),this}extend(l){let m=this._sw,T=this._ne,P,V;if(l instanceof o.V)P=l,V=l;else{if(!(l instanceof Ho))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Ho.convert(l)):this.extend(o.V.convert(l)):l&&("lng"in l||"lon"in l)&&"lat"in l?this.extend(o.V.convert(l)):this;if(P=l._sw,V=l._ne,!P||!V)return this}return m||T?(m.lng=Math.min(P.lng,m.lng),m.lat=Math.min(P.lat,m.lat),T.lng=Math.max(V.lng,T.lng),T.lat=Math.max(V.lat,T.lat)):(this._sw=new o.V(P.lng,P.lat),this._ne=new o.V(V.lng,V.lat)),this}getCenter(){return new o.V((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 o.V(this.getWest(),this.getNorth())}getSouthEast(){return new o.V(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(l){let{lng:m,lat:T}=o.V.convert(l),P=this._sw.lng<=m&&m<=this._ne.lng;return this._sw.lng>this._ne.lng&&(P=this._sw.lng>=m&&m>=this._ne.lng),this._sw.lat<=T&&T<=this._ne.lat&&P}intersects(l){if(!((l=Ho.convert(l)).getNorth()>=this.getSouth()&&l.getSouth()<=this.getNorth()))return!1;let m=o.W(this.getWest(),-180,180),T=o.W(this.getEast(),-180,180),P=o.W(l.getWest(),-180,180),V=o.W(l.getEast(),-180,180),W=m>=T,te=P>=V;return!(!W||!te)||(W?V>=m||P<=T:te?T>=P||m<=V:P<=T&&V>=m)}static convert(l){return l instanceof Ho?l:l&&new Ho(l)}static fromLngLat(l,m=0){let T=360*m/40075017,P=T/Math.cos(Math.PI/180*l.lat);return new Ho(new o.V(l.lng-P,l.lat-T),new o.V(l.lng+P,l.lat+T))}adjustAntiMeridian(){let l=new o.V(this._sw.lng,this._sw.lat),m=new o.V(this._ne.lng,this._ne.lat);return new Ho(l,l.lng>m.lng?new o.V(m.lng+360,m.lat):m)}}class is{constructor(l,m,T){this.bounds=Ho.convert(this.validateBounds(l)),this.minzoom=m||0,this.maxzoom=T||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let m=Math.pow(2,l.z),T=Math.floor(o.Y(this.bounds.getWest())*m),P=Math.floor(o.X(this.bounds.getNorth())*m),V=Math.ceil(o.Y(this.bounds.getEast())*m),W=Math.ceil(o.X(this.bounds.getSouth())*m);return l.x>=T&&l.x=P&&l.y{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return o.e({},this._options)}loadTile(l){return o._(this,void 0,void 0,function*(){let m=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),T={request:this.map._requestManager.transformRequest(m,"Tile"),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:this._getOverzoomParameters(l)};T.request.collectResourceTiming=this._collectResourceTiming;let P="RT";if(l.actor&&l.state!=="expired"){if(l.state==="loading")return new Promise((V,W)=>{l.reloadPromise={resolve:V,reject:W}})}else l.actor=this.dispatcher.getActor(),P="LT";l.abortController=new AbortController;try{let V=yield l.actor.sendAsync({type:P,data:T},l.abortController);if(delete l.abortController,l.aborted)return;this._afterTileLoadWorkerResponse(l,V)}catch(V){if(delete l.abortController,l.aborted)return;if(V&&V.status!==404)throw V;this._afterTileLoadWorkerResponse(l,null)}})}_getOverzoomParameters(l){if(l.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let m=l.tileID.scaledTo(this.maxzoom).canonical,T=m.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:m,overzoomRequest:this.map._requestManager.transformRequest(T,"Tile")}}_afterTileLoadWorkerResponse(l,m){if(m&&m.resourceTiming&&(l.resourceTiming=m.resourceTiming),m&&this.map._refreshExpiredTiles&&l.setExpiryData(m),l.loadVectorData(m,this.map.painter),l.reloadPromise){let T=l.reloadPromise;l.reloadPromise=null,this.loadTile(l).then(T.resolve).catch(T.reject)}}abortTile(l){return o._(this,void 0,void 0,function*(){l.abortController&&(l.abortController.abort(),delete l.abortController),l.actor&&(yield l.actor.sendAsync({type:"AT",data:{uid:l.uid,type:this.type,source:this.id}}))})}unloadTile(l){return o._(this,void 0,void 0,function*(){l.unloadVectorData(),l.actor&&(yield l.actor.sendAsync({type:"RMT",data:{uid:l.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class zs extends o.E{constructor(l,m,T,P){super(),this.id=l,this.dispatcher=T,this.setEventedParent(P),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=o.e({type:"raster"},m),o.e(this,o.U(m,["url","scheme","tileSize"]))}load(){return o._(this,arguments,void 0,function*(l=!1){this._loaded=!1,this.fire(new o.l("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let m=yield Co(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,m&&(o.e(this,m),m.bounds&&(this.tileBounds=new is(m.bounds,this.minzoom,this.maxzoom)),this.fire(new o.l("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new o.l("data",{dataType:"source",sourceDataType:"content",sourceDataChanged:l})))}catch(m){this._tileJSONRequest=null,this._loaded=!0,o.Z(m)||this.fire(new o.k(m))}})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),l(),this.load(!0)}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}serialize(){return o.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l){return o._(this,void 0,void 0,function*(){let m=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.abortController=new AbortController;try{let T=yield Oe.getImage(this.map._requestManager.transformRequest(m,"Tile"),l.abortController,this.map._refreshExpiredTiles);if(delete l.abortController,l.aborted)return void(l.state="unloaded");if(T&&T.data){this.map._refreshExpiredTiles&&(T.cacheControl||T.expires)&&l.setExpiryData({cacheControl:T.cacheControl,expires:T.expires});let P=this.map.painter.context,V=P.gl,W=T.data;l.texture=this.map.painter.getTileTexture(W.width),l.texture?l.texture.update(W,{useMipmap:!0}):(l.texture=new o.T(P,W,V.RGBA,{useMipmap:!0}),l.texture.bind(V.LINEAR,V.CLAMP_TO_EDGE,V.LINEAR_MIPMAP_NEAREST)),l.state="loaded"}}catch(T){if(delete l.abortController,l.aborted)l.state="unloaded";else if(T)throw l.state="errored",T}})}abortTile(l){return o._(this,void 0,void 0,function*(){l.abortController&&(l.abortController.abort(),delete l.abortController)})}unloadTile(l){return o._(this,void 0,void 0,function*(){l.texture&&this.map.painter.saveTileTexture(l.texture)})}hasTransition(){return!1}}class Ba extends zs{constructor(l,m,T,P){super(l,m,T,P),this.type="raster-dem",this.maxzoom=22,this._options=o.e({type:"raster-dem"},m),this.encoding=m.encoding||"mapbox",this.redFactor=m.redFactor,this.greenFactor=m.greenFactor,this.blueFactor=m.blueFactor,this.baseShift=m.baseShift}loadTile(l){return o._(this,void 0,void 0,function*(){let m=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),T=this.map._requestManager.transformRequest(m,"Tile");l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.abortController=new AbortController;try{let P=yield Oe.getImage(T,l.abortController,this.map._refreshExpiredTiles);if(delete l.abortController,l.aborted)return void(l.state="unloaded");if(P&&P.data){let V=P.data;this.map._refreshExpiredTiles&&(P.cacheControl||P.expires)&&l.setExpiryData({cacheControl:P.cacheControl,expires:P.expires});let W=o.b(V)&&o.$()?V:yield this.readImageNow(V),te={type:this.type,uid:l.uid,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!l.actor||l.state==="expired"){l.actor=this.dispatcher.getActor();let se=yield l.actor.sendAsync({type:"LDT",data:te});l.dem=se,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state="loaded"}}}catch(P){if(delete l.abortController,l.aborted)l.state="unloaded";else if(P)throw l.state="errored",P}})}readImageNow(l){return o._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&o.a0()){let m=l.width+2,T=l.height+2;try{return new o.R({width:m,height:T},yield o.a1(l,-1,-1,m,T))}catch{}}return I.getImageData(l,1)})}_getNeighboringTiles(l){let m=l.canonical,T=Math.pow(2,m.z),P=(m.x-1+T)%T,V=m.x===0?l.wrap-1:l.wrap,W=(m.x+1+T)%T,te=m.x+1===T?l.wrap+1:l.wrap,se={};return se[new o.a2(l.overscaledZ,V,m.z,P,m.y).key]={backfilled:!1},se[new o.a2(l.overscaledZ,te,m.z,W,m.y).key]={backfilled:!1},m.y>0&&(se[new o.a2(l.overscaledZ,V,m.z,P,m.y-1).key]={backfilled:!1},se[new o.a2(l.overscaledZ,l.wrap,m.z,m.x,m.y-1).key]={backfilled:!1},se[new o.a2(l.overscaledZ,te,m.z,W,m.y-1).key]={backfilled:!1}),m.y+1l.coordinates).flat(1/0):z.coordinates.flat(1/0)}function so(z){let l=new Ho,m;switch(z.type){case"FeatureCollection":m=z.features.map(T=>ds(T.geometry)).flat(1/0);break;case"Feature":m=ds(z.geometry);break;default:m=ds(z)}if(m.length==0)return l;for(let T=0;T0&&o.e(W,{resourceTiming:V}),this.fire(new o.l("data",Object.assign(Object.assign({},W),{sourceDataType:"metadata"}))),this.fire(new o.l("data",Object.assign(Object.assign({},W),{sourceDataType:"content",shouldReloadTileOptions:this._getShouldReloadTileOptions(m)})))}catch(P){if(this._isUpdatingWorker=!1,this._removed)return void this.fire(new o.l("dataabort",{dataType:"source"}));this.fire(new o.k(P))}finally{this._hasPendingWorkerUpdate()&&this._updateWorkerData()}})}_applyDiff(l){let m=typeof this.promoteId=="string"?this.promoteId:void 0;if(!this._data.url&&!this._data.updateable){if(!o.a7(this._data.geojson,m))throw new Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:o.a8(this._data.geojson,m)}}this._data.updateable&&o.a9(this._data.updateable,l,m)}_getShouldReloadTileOptions(l){if(this._options.cluster||!l||l.removeAll)return;let{add:m=[],update:T=[],remove:P=[]}=l||{},V=new Set([...T.map(W=>W.id),...P]);for(let W of V.values())if(typeof W!="number"&&this.promoteId==null)return void o.w(`GeoJSONSource "${this.id}": updateData is slower when using string GeoJSON feature IDs. Consider using promoteId or numeric IDs for better performance.`);return{nextBounds:[...T.map(W=>W.newGeometry),...m.map(W=>W.geometry)].filter(Boolean).map(W=>so(W)),prevIds:V}}shouldReloadTile(l,{nextBounds:m,prevIds:T}){if(!l.latestFeatureIndex)return l.state!=="unloaded";let P=l.latestFeatureIndex.loadVTLayers();for(let se=0;se{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new o.l("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(l){this.coordinates=l;let m=l.map(o.ab.fromLngLat);var T;return this.tileID=function(P){let V=o.ac.fromPoints(P),W=V.width(),te=V.height(),se=Math.max(W,te),fe=Math.max(0,Math.floor(-Math.log(se)/Math.LN2)),ye=Math.pow(2,fe);return new o.ae(fe,Math.floor((V.minX+V.maxX)/2*ye),Math.floor((V.minY+V.maxY)/2*ye))}(m),this.terrainTileRanges=this._getOverlappingTileRanges(m),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=m.map(P=>this.tileID.getTilePoint(P)._round()),this.flippedWindingOrder=((T=this.tileCoords)[1].x-T[0].x)*(T[2].y-T[0].y)-(T[1].y-T[0].y)*(T[2].x-T[0].x)<0,this.fire(new o.l("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let l=this.map.painter.context,m=l.gl;this.texture||(this.texture=new o.T(l,this.image,m.RGBA),this.texture.bind(m.LINEAR,m.CLAMP_TO_EDGE));let T=!1;for(let P in this.tiles){let V=this.tiles[P];V.state!=="loaded"&&(V.state="loaded",V.texture=this.texture,T=!0)}T&&this.fire(new o.l("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(l){return o._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={}):l.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(l){let{minX:m,minY:T,maxX:P,maxY:V}=o.ac.fromPoints(l),W={};for(let te=0;te<=o.ad;te++){let se=Math.pow(2,te),fe=Math.floor(m*se),ye=Math.floor(T*se),Re=Math.floor(P*se),Me=Math.floor(V*se);W[te]={minTileX:fe,minTileY:ye,maxTileX:Re,maxTileY:Me}}return W}}class Yt extends ws{constructor(l,m,T,P){super(l,m,T,P),this.roundZoom=!0,this.type="video",this.options=m}load(){return o._(this,void 0,void 0,function*(){this._loaded=!1;let l=this.options;this.urls=[];for(let m of l.urls)this.urls.push(this.map._requestManager.transformRequest(m,"Source").url);try{let m=yield o.af(this.urls);if(this._loaded=!0,!m)return;this.video=m,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(m){this.fire(new o.k(m))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let m=this.video.seekable;lm.end(0)?this.fire(new o.k(new o.ag(`sources.${this.id}`,null,`Playback for this video can be set only between the ${m.start(0)} and ${m.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,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 l=this.map.painter.context,m=l.gl;this.texture?this.video.paused||(this.texture.bind(m.LINEAR,m.CLAMP_TO_EDGE),m.texSubImage2D(m.TEXTURE_2D,0,0,0,m.RGBA,m.UNSIGNED_BYTE,this.video)):(this.texture=new o.T(l,this.video,m.RGBA),this.texture.bind(m.LINEAR,m.CLAMP_TO_EDGE));let T=!1;for(let P in this.tiles){let V=this.tiles[P];V.state!=="loaded"&&(V.state="loaded",V.texture=this.texture,T=!0)}T&&this.fire(new o.l("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 Fe extends ws{constructor(l,m,T,P){super(l,m,T,P),m.coordinates?Array.isArray(m.coordinates)&&m.coordinates.length===4&&!m.coordinates.some(V=>!Array.isArray(V)||V.length!==2||V.some(W=>typeof W!="number"))||this.fire(new o.k(new o.ag(`sources.${l}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new o.k(new o.ag(`sources.${l}`,null,'missing required property "coordinates"'))),m.animate&&typeof m.animate!="boolean"&&this.fire(new o.k(new o.ag(`sources.${l}`,null,'optional "animate" property must be a boolean value'))),m.canvas?typeof m.canvas=="string"||m.canvas instanceof HTMLCanvasElement||this.fire(new o.k(new o.ag(`sources.${l}`,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 o.k(new o.ag(`sources.${l}`,null,'missing required property "canvas"'))),this.options=m,this.animate=m.animate===void 0||m.animate}load(){return o._(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 o.k(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(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let l=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,l=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,l=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let m=this.map.painter.context,T=m.gl;this.texture?(l||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new o.T(m,this.canvas,T.RGBA,{premultiply:!0}),this.texture.bind(T.LINEAR,T.CLAMP_TO_EDGE));let P=!1;for(let V in this.tiles){let W=this.tiles[V];W.state!=="loaded"&&(W.state="loaded",W.texture=this.texture,P=!0)}P&&this.fire(new o.l("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let Ne={},rt=z=>{switch(z){case"geojson":return ps;case"image":return ws;case"raster":return zs;case"raster-dem":return Ba;case"vector":return mo;case"video":return Yt;case"canvas":return Fe}return Ne[z]},Vt="RTLPluginLoaded";class Gt extends o.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=mr()}_syncState(l){return this.status=l,this.dispatcher.broadcast("SRPS",{pluginStatus:l,pluginURL:this.url}).catch(m=>{throw this.status="error",m})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(l){return o._(this,arguments,void 0,function*(m,T=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=I.resolveURL(m),!this.url)throw new Error(`requested url ${m} is invalid`);if(this.status==="unavailable"){if(!T)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return o._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new o.l(Vt))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let yr=null;function fr(){return yr||(yr=new Gt),yr}var nr,xr;(function(z){z[z.Base=0]="Base",z[z.Parent=1]="Parent"})(nr||(nr={})),function(z){z[z.Departing=0]="Departing",z[z.Incoming=1]="Incoming"}(xr||(xr={}));class ti{constructor(l,m){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=l,this.uid=o.ah(),this.uses=0,this.tileSize=m,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"}isRenderable(l){return this.hasData()&&(!this.fadeEndTime||this.fadeOpacity>0)&&(l||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:l,fadingDirection:m,fadingParentID:T,fadeEndTime:P}){this.resetFadeLogic(),this.fadingRole=l,this.fadingDirection=m,this.fadingParentID=T,this.fadeEndTime=P}setSelfFadeLogic(l){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=l}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=k(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state==="errored"||this.state==="loaded"||this.state==="reloading"}clearTextures(l){this.demTexture&&l.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(l,m,T){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",l){l.featureIndex&&(this.latestFeatureIndex=l.featureIndex,l.rawTileData?(this.latestRawTileData=l.rawTileData,this.latestFeatureIndex.rawTileData=l.rawTileData,this.latestFeatureIndex.encoding=l.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=l.collisionBoxArray,this.buckets=function(P,V){let W={};if(!V)return W;for(let te of P){let se=te.layerIds.map(fe=>V.getLayer(fe)).filter(Boolean);if(se.length!==0){te.layers=se,te.stateDependentLayerIds&&(te.stateDependentLayers=te.stateDependentLayerIds.map(fe=>se.filter(ye=>ye.id===fe)[0]));for(let fe of se)W[fe.id]=te}}return W}(l.buckets,m?.style),this.hasSymbolBuckets=!1;for(let P in this.buckets){let V=this.buckets[P];if(V instanceof o.aj){if(this.hasSymbolBuckets=!0,!T)break;V.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let P in this.buckets){let V=this.buckets[P];if(V instanceof o.aj&&V.hasRTLText){this.hasRTLText=!0,fr().lazyLoad();break}}this.queryPadding=0;for(let P in this.buckets){let V=this.buckets[P];this.queryPadding=Math.max(this.queryPadding,m.style.getLayer(P).queryRadius(V))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage),this.dashPositions=l.dashPositions}else this.collisionBoxArray=new o.ai}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.dashPositions&&(this.dashPositions=null),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(l){return this.buckets[l.id]}upload(l){for(let T in this.buckets){let P=this.buckets[T];P.uploadPending()&&P.upload(l)}let m=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new o.T(l,this.imageAtlas.image,m.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new o.T(l,this.glyphAtlasImage,m.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,m,T,P,V,W,te,se,fe,ye,Re){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:P,cameraQueryGeometry:V,scale:W,tileSize:this.tileSize,pixelPosMatrix:ye,transform:se,params:te,queryPadding:this.queryPadding*fe,getElevation:Re},l,m,T):{}}querySourceFeatures(l,m){let T=this.latestFeatureIndex;if(!T||!T.rawTileData)return;let P=T.loadVTLayers(),V=m&&m.sourceLayer?m.sourceLayer:"",W=P[o.aa]||P[V];if(!W)return;let te=o.ak(m?.filter,m?.globalState),{z:se,x:fe,y:ye}=this.tileID.canonical,Re={z:se,x:fe,y:ye};for(let Me=0;MeT)P=!1;else if(m)if(this.expirationTime({zoom:0,x:0,y:0,wrap:Xt,fullyVisible:!1}),Kt=[],It=[];if(z.renderWorldCopies&&W.allowWorldCopies())for(let Xt=1;Xt<=3;Xt++)Kt.push(Lt(-Xt)),Kt.push(Lt(Xt));for(Kt.push(Lt(0));Kt.length>0;){let Xt=Kt.pop(),Rt=Xt.x,zt=Xt.y,jt=Xt.fullyVisible,br={x:Rt,y:zt,z:Xt.zoom},Cr=W.getTileBoundingVolume(br,Xt.wrap,z.elevation,l);if(!jt){let _i=ns(m,Cr,T);if(_i===0)continue;jt=_i===2}let Rr=W.distanceToTile2d(P.x,P.y,br,Cr),Pr=se;te&&(Pr=(l.calculateTileZoom||it)(z.zoom+o.au(z.tileSize/l.tileSize),Rr,At,vt,z.fov)),Pr=(l.roundZoom?Math.round:Math.floor)(Pr),Pr=Math.max(0,Pr);let Ai=Math.min(Pr,ye);if(Xt.wrap=W.getWrap(V,br,Xt.wrap),Xt.zoom>=Ai){if(Xt.zoom>1),wrap:Xt.wrap,fullyVisible:jt})}return It.sort((Xt,Rt)=>Xt.distanceSq-Rt.distanceSq).map(Xt=>Xt.tileID)}let $t=o.ac.fromPoints([new o.P(0,0),new o.P(o.a5,o.a5)]);function Jt(z){return z==="raster"||z==="image"||z==="video"}function ht(z,l,m,T,P,V,W){if(!l.hasData())return!1;let{tileID:te,fadingRole:se,fadingDirection:fe,fadingParentID:ye}=l;if(se===nr.Base&&fe===xr.Incoming&&ye)return m[ye.key]=ye,!0;let Re=Math.max(te.overscaledZ-P,V);for(let Me=te.overscaledZ-1;Me>=Re;Me--){let je=te.scaledTo(Me),tt=z.getLoadedTile(je);if(tt)return l.setCrossFadeLogic({fadingRole:nr.Base,fadingDirection:xr.Incoming,fadingParentID:tt.tileID,fadeEndTime:T+W}),tt.setCrossFadeLogic({fadingRole:nr.Parent,fadingDirection:xr.Departing,fadeEndTime:T+W}),m[je.key]=je,!0}return!1}function Ot(z,l,m,T,P,V){if(!l.hasData())return!1;let W=l.tileID.children(P),te=Ct(z,l,W,m,T,P,V);if(te)return!0;for(let se of W)Ct(z,l,se.children(P),m,T,P,V)&&(te=!0);return te}function Ct(z,l,m,T,P,V,W){if(m[0].overscaledZ>=V)return!1;let te=!1;for(let se of m){let fe=z.getLoadedTile(se);if(!fe)continue;let{fadingRole:ye,fadingDirection:Re,fadingParentID:Me}=fe;ye===nr.Base&&Re===xr.Departing&&Me||(fe.setCrossFadeLogic({fadingRole:nr.Base,fadingDirection:xr.Departing,fadingParentID:l.tileID,fadeEndTime:P+W}),l.setCrossFadeLogic({fadingRole:nr.Parent,fadingDirection:xr.Incoming,fadeEndTime:P+W})),T[se.key]=se,te=!0}return te}function ei(z,l,m,T){let P=z.tileID;return!!z.selfFading||!z.hasData()&&!!l.has(P)&&(z.setSelfFadeLogic(m+T),!0)}function ui(z,l){var m;z.needsHillshadePrepare=!0,z.needsTerrainPrepare=!0;let T=l.tileID.canonical.x-z.tileID.canonical.x,P=l.tileID.canonical.y-z.tileID.canonical.y,V=Math.pow(2,z.tileID.canonical.z),W=l.tileID.key;T===0&&P===0||Math.abs(P)>1||(Math.abs(T)>1&&(Math.abs(T+V)===1?T+=V:Math.abs(T-V)===1&&(T-=V)),l.dem&&z.dem&&(z.dem.backfillBorder(l.dem,T,P),!((m=z.neighboringTiles)===null||m===void 0)&&m[W]&&(z.neighboringTiles[W].backfilled=!0)))}class Hr{constructor(){this._tiles={}}handleWrapJump(l){let m={};for(let T in this._tiles){let P=this._tiles[T];P.tileID=P.tileID.unwrapTo(P.tileID.wrap+l),m[P.tileID.key]=P}this._tiles=m}setFeatureState(l,m){for(let T in this._tiles)this._tiles[T].setFeatureState(l,m)}getAllTiles(){return Object.values(this._tiles)}getAllIds(l=!1){return l?Object.values(this._tiles).map(m=>m.tileID).sort(o.ax).map(m=>m.key):Object.keys(this._tiles)}getTileById(l){return this._tiles[l]}setTile(l,m){this._tiles[l]=m}deleteTileById(l){delete this._tiles[l]}getLoadedTile(l){let m=this.getTileById(l.key);return m?.hasData()?m:null}isIdRenderable(l,m=!1){var T;return(T=this.getTileById(l))===null||T===void 0?void 0:T.isRenderable(m)}getRenderableIds(l=0,m){let T=[];for(let P of this.getAllIds())this.isIdRenderable(P,m)&&T.push(this.getTileById(P));return m?T.sort((P,V)=>{let W=P.tileID,te=V.tileID,se=new o.P(W.canonical.x,W.canonical.y)._rotate(-l),fe=new o.P(te.canonical.x,te.canonical.y)._rotate(-l);return W.overscaledZ-te.overscaledZ||fe.y-se.y||fe.x-se.x}).map(P=>P.tileID.key):T.map(P=>P.tileID).sort(o.ax).map(P=>P.key)}}class si extends o.E{constructor(l,m,T){super(),this.id=l,this.dispatcher=T,this.on("data",P=>this._dataHandler(P)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((P,V,W,te)=>{let se=new(rt(V.type))(P,V,W,te);if(se.id!==P)throw new Error(`Expected Source id to be ${P} instead of ${se.id}`);return se})(l,m,T,this),this._inViewTiles=new Hr,this._outOfViewCache=new o.ay(0,P=>this._unloadTile(P)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new Jr,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){for(let m of this._inViewTiles.getAllTiles())m.unloadVectorData();this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l),this._inViewTiles=new Hr}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 l of this._inViewTiles.getAllTiles())if(l.state!=="loaded"&&l.state!=="errored")return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,m,T){return o._(this,void 0,void 0,function*(){try{yield this._source.loadTile(l),this._tileLoaded(l,m,T)}catch(P){l.state="errored",P.status!==404?this._source.fire(new o.k(P,{tile:l})):this.update(this.transform,this.terrain)}})}_unloadTile(l){this._source.unloadTile&&this._source.unloadTile(l)}_abortTile(l){this._source.abortTile&&this._source.abortTile(l),this._source.fire(new o.l("dataabort",{tile:l,coord:l.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(let m of this._inViewTiles.getAllTiles())m.upload(l),m.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(l){var m;return this._inViewTiles.getRenderableIds((m=this.transform)===null||m===void 0?void 0:m.bearingInRadians,l)}hasRenderableParent(l){let m=l.overscaledZ-1;if(m>=this._source.minzoom){let T=this.getLoadedTile(l.scaledTo(m));if(T)return this._inViewTiles.isIdRenderable(T.tileID.key)}return!1}reload(l,m=void 0){if(this._paused)this._shouldReloadOnResume=!0;else{this._outOfViewCache.reset();for(let T of this._inViewTiles.getAllIds()){let P=this._inViewTiles.getTileById(T);m&&!this._source.shouldReloadTile(P,m)||(l?this._reloadTile(T,"expired"):P.state!=="errored"&&this._reloadTile(T,"reloading"))}}}_reloadTile(l,m){return o._(this,void 0,void 0,function*(){let T=this._inViewTiles.getTileById(l);T&&(T.state!=="loading"&&(T.state=m),yield this._loadTile(T,l,m))})}_tileLoaded(l,m,T){l.timeAdded=k(),l.selfFading&&(l.fadeEndTime=l.timeAdded+this._rasterFadeDuration),T==="expired"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(m,l),this.getSource().type==="raster-dem"&&l.dem&&function(P,V){var W,te;let se=V.getRenderableIds();for(let fe of se){if(!P.neighboringTiles||!P.neighboringTiles[fe])continue;let ye=V.getTileById(fe);P.neighboringTiles[fe].backfilled||ui(P,ye),!((te=(W=ye.neighboringTiles)===null||W===void 0?void 0:W[P.tileID.key])===null||te===void 0)&&te.backfilled||ui(ye,P)}}(l,this._inViewTiles),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new o.l("data",{dataType:"source",tile:l,coord:l.tileID}))}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._inViewTiles.getTileById(l)}_retainLoadedChildren(l,m){let T=this._getLoadedDescendents(m),P=new Set;for(let V of m){let W=T[V.key];if(!W?.length){P.add(V);continue}let te=V.overscaledZ+si.maxOverzooming,se=W.filter(Re=>Re.tileID.overscaledZ<=te);if(!se.length){P.add(V);continue}let fe=Math.min(...se.map(Re=>Re.tileID.overscaledZ)),ye=se.filter(Re=>Re.tileID.overscaledZ===fe).map(Re=>Re.tileID);for(let Re of ye)l[Re.key]=Re;this._areDescendentsComplete(ye,fe,V.overscaledZ)||P.add(V)}return P}_getLoadedDescendents(l){var m;let T={};for(let P of this._inViewTiles.getAllTiles().filter(V=>V.hasData()))for(let V of l)P.tileID.isChildOf(V)&&(T[m=V.key]||(T[m]=[])).push(P);return T}_areDescendentsComplete(l,m,T){return l.length===1&&l[0].isOverscaled()?l[0].overscaledZ===m:Math.pow(4,m-T)===l.length}getLoadedTile(l){return this._inViewTiles.getLoadedTile(l)}updateCacheSize(l){let m=Math.ceil(l.width/this._source.tileSize)+1,T=Math.ceil(l.height/this._source.tileSize)+1,P=Math.floor(m*T*(this._maxTileCacheZoomLevels===null?o.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),V=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,P):P;this._outOfViewCache.setMaxSize(V)}handleWrapJump(l){let m=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);this._prevLng=l,m&&(this._inViewTiles.handleWrapJump(m),this._resetTileReloadTimers())}update(l,m){if(!this._sourceLoaded||this._paused)return;let T;this.transform=l,this.terrain=m,this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this.used||this.usedForTerrain?this._source.tileID?T=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(se=>new o.a2(se.canonical.z,se.wrap,se.canonical.z,se.canonical.x,se.canonical.y)):(T=Qe(l,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type==="vector"&&this.map._zoomLevelsToOverscale!==void 0?l.maxZoom-this.map._zoomLevelsToOverscale:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:m,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(T=T.filter(se=>this._source.hasTile(se)))):T=[],this.usedForTerrain&&(T=this._addTerrainIdealTiles(T));let P=T.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,P&&this.fire(new o.l("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let V=mt(l,this._source),W=this._updateRetainedTiles(T,V),te=Jt(this._source.type);te&&this._rasterFadeDuration>0&&!m&&function(se,fe,ye,Re,Me,je,tt){let yt=k(),At=o.aw(fe);for(let vt of fe){let Lt=se.getTileById(vt.key);Lt.fadingDirection!==xr.Departing&&Lt.fadeOpacity!==0||Lt.resetFadeLogic(),ht(se,Lt,ye,yt,Re,Me,tt)||Ot(se,Lt,ye,yt,je,tt)||ei(Lt,At,yt,tt)||Lt.resetFadeLogic()}}(this._inViewTiles,T,W,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),te?this._cleanUpRasterTiles(W):this._cleanUpVectorTiles(W)}_cleanUpRasterTiles(l){for(let m of this._inViewTiles.getAllIds())l[m]||this._removeTile(m)}_cleanUpVectorTiles(l){for(let m of this._inViewTiles.getAllIds()){let T=this._inViewTiles.getTileById(m);l[m]?T.clearSymbolFadeHold():T.hasSymbolBuckets?T.holdingForSymbolFade()?T.symbolFadeFinished()&&this._removeTile(m):T.setSymbolHoldDuration(this.map._fadeDuration):this._removeTile(m)}}_addTerrainIdealTiles(l){let m=[];for(let T of l)if(T.canonical.z>this._source.minzoom){let P=T.scaledTo(T.canonical.z-1);m.push(P);let V=T.scaledTo(Math.max(this._source.minzoom,Math.min(T.canonical.z,5)));m.push(V)}return l.concat(m)}releaseSymbolFadeTiles(){for(let l of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(l).holdingForSymbolFade()&&this._removeTile(l)}_updateRetainedTiles(l,m){var T;let P=new Set;for(let fe of l)this._addTile(fe).hasData()||P.add(fe);let V=l.reduce((fe,ye)=>(fe[ye.key]=ye,fe),{}),W=this._retainLoadedChildren(V,P),te={},se=Math.max(m-si.maxUnderzooming,this._source.minzoom);for(let fe of W){let ye=this._inViewTiles.getTileById(fe.key),Re=ye?.wasRequested();for(let Me=fe.overscaledZ-1;Me>=se;--Me){let je=fe.scaledTo(Me);if(te[je.key])break;if(te[je.key]=!0,ye=this.getTile(je),!ye&&Re&&(ye=this._addTile(je)),ye){let tt=ye.hasData();if((tt||!(!((T=this.map)===null||T===void 0)&&T.cancelPendingTileRequestsWhileZooming)||Re)&&(V[je.key]=je),Re=ye.wasRequested(),tt)break}}}return V}_addTile(l){let m=this._inViewTiles.getTileById(l.key);if(m)return m;m=this._outOfViewCache.getAndRemove(l),m&&(m.resetFadeLogic(),this._setTileReloadTimer(l.key,m),m.tileID=l,this._state.initializeTileState(m,this.map?this.map.painter:null));let T=m;return m||(m=new ti(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(m,l.key,m.state)),m.uses++,this._inViewTiles.setTile(l.key,m),T||this._source.fire(new o.l("dataloading",{tile:m,coord:m.tileID,dataType:"source"})),m}_setTileReloadTimer(l,m){this._clearTileReloadTimer(l);let T=m.getExpiryTimeout();T&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,"expired"),delete this._timers[l]},T))}_clearTileReloadTimer(l){let m=this._timers[l];m&&(clearTimeout(m),delete this._timers[l])}_resetTileReloadTimers(){for(let l in this._timers)clearTimeout(this._timers[l]),delete this._timers[l];for(let l of this._inViewTiles.getAllIds()){let m=this._inViewTiles.getTileById(l);this._setTileReloadTimer(l,m)}}refreshTiles(l){for(let m of this._inViewTiles.getAllIds()){let T=this._inViewTiles.getTileById(m);(this._inViewTiles.isIdRenderable(m)||T.state=="errored")&&l.some(P=>P.equals(T.tileID.canonical))&&this._reloadTile(m,"expired")}}_removeTile(l){let m=this._inViewTiles.getTileById(l);m&&(m.uses--,this._inViewTiles.deleteTileById(l),this._clearTileReloadTimer(l),m.uses>0||(m.hasData()&&m.state!=="reloading"?this._outOfViewCache.add(m.tileID,m,m.getExpiryTimeout()):(m.aborted=!0,this._abortTile(m),this._unloadTile(m))))}_dataHandler(l){l.dataType==="source"&&(l.sourceDataType!=="metadata"?l.sourceDataType==="content"&&this._sourceLoaded&&!this._paused&&(this.reload(l.sourceDataChanged,l.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0):this._sourceLoaded=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l of this._inViewTiles.getAllIds())this._removeTile(l);this._outOfViewCache.reset()}tilesIn(l,m,T){let P=[],V=this.transform;if(!V)return P;let W=V.getCoveringTilesDetailsProvider().allowWorldCopies(),te=T?V.getCameraQueryGeometry(l):l,se=je=>V.screenPointToMercatorCoordinate(je,this.terrain),fe=this.transformBbox(l,se,!W),ye=this.transformBbox(te,se,!W),Re=this.getIds(),Me=o.ac.fromPoints(ye);for(let je=0;jeLt.getTilePoint(new o.ab(It.x,It.y)));if(Kt.expandBy(vt),Kt.intersects($t)){let It=fe.map(Rt=>Lt.getTilePoint(Rt)),Xt=ye.map(Rt=>Lt.getTilePoint(Rt));P.push({tile:tt,tileID:W?Lt:Lt.unwrapTo(0),queryGeometry:It,cameraQueryGeometry:Xt,scale:At})}}}return P}transformBbox(l,m,T){let P=l.map(m);if(T){let V=o.ac.fromPoints(l);V.shrinkBy(.001*Math.min(V.width(),V.height()));let W=V.map(m);o.ac.fromPoints(P).covers(W)||(P=P.map(te=>te.x>.5?new o.ab(te.x-1,te.y,te.z):te))}return P}getVisibleCoordinates(l){let m=this.getRenderableIds(l).map(T=>this._inViewTiles.getTileById(T).tileID);return this.transform&&this.transform.populateCache(m),m}hasTransition(){return!!this._source.hasTransition()||!(!Jt(this._source.type)||!function(l,m){if(m<=0)return!1;let T=k();for(let P of l.getAllTiles())if(P.fadeEndTime>=T)return!0;return!1}(this._inViewTiles,this._rasterFadeDuration))}setRasterFadeDuration(l){this._rasterFadeDuration=l}setFeatureState(l,m,T){this._state.updateState(l=l||o.aa,m,T)}removeFeatureState(l,m,T){this._state.removeFeatureState(l=l||o.aa,m,T)}getFeatureState(l,m){return this._state.getState(l=l||o.aa,m)}setDependencies(l,m,T){let P=this._inViewTiles.getTileById(l);P&&P.setDependencies(m,T)}reloadTilesForDependencies(l,m){for(let T of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(T).hasDependency(l,m)&&this._reloadTile(T,"reloading");this._outOfViewCache.filter(T=>!T.hasDependency(l,m))}areTilesLoaded(){for(let l of this._inViewTiles.getAllTiles())if(l.state!=="loaded"&&l.state!=="errored")return!1;return!0}}si.maxUnderzooming=10,si.maxOverzooming=3;class Or{constructor(l,m){this.reset(l,m)}reset(l,m){this.points=l||[],this._distances=[0];for(let T=1;T0?(P-W)/te:0;return this.points[V].mult(1-se).add(this.points[m].mult(se))}}function fi(z,l){let m=!0;return z==="always"||z!=="never"&&l!=="never"||(m=!1),m}class pr{constructor(l,m,T){let P=this.boxCells=[],V=this.circleCells=[];this.xCellCount=Math.ceil(l/T),this.yCellCount=Math.ceil(m/T);for(let W=0;Wthis.width||P<0||m>this.height)return[];let se=[];if(l<=0&&m<=0&&this.width<=T&&this.height<=P){if(V)return[{key:null,x1:l,y1:m,x2:T,y2:P}];for(let fe=0;fe0}hitTestCircle(l,m,T,P,V){let W=l-T,te=l+T,se=m-T,fe=m+T;if(te<0||W>this.width||fe<0||se>this.height)return!1;let ye=[];return this._forEachCell(W,se,te,fe,this._queryCellCircle,ye,{hitTest:!0,overlapMode:P,circle:{x:l,y:m,radius:T},seenUids:{box:{},circle:{}}},V),ye.length>0}_queryCell(l,m,T,P,V,W,te,se){let{seenUids:fe,hitTest:ye,overlapMode:Re}=te,Me=this.boxCells[V];if(Me!==null){let tt=this.bboxes;for(let yt of Me)if(!fe.box[yt]){fe.box[yt]=!0;let At=4*yt,vt=this.boxKeys[yt];if(l<=tt[At+2]&&m<=tt[At+3]&&T>=tt[At+0]&&P>=tt[At+1]&&(!se||se(vt))&&(!ye||!fi(Re,vt.overlapMode))&&(W.push({key:vt,x1:tt[At],y1:tt[At+1],x2:tt[At+2],y2:tt[At+3]}),ye))return!0}}let je=this.circleCells[V];if(je!==null){let tt=this.circles;for(let yt of je)if(!fe.circle[yt]){fe.circle[yt]=!0;let At=3*yt,vt=this.circleKeys[yt];if(this._circleAndRectCollide(tt[At],tt[At+1],tt[At+2],l,m,T,P)&&(!se||se(vt))&&(!ye||!fi(Re,vt.overlapMode))){let Lt=tt[At],Kt=tt[At+1],It=tt[At+2];if(W.push({key:vt,x1:Lt-It,y1:Kt-It,x2:Lt+It,y2:Kt+It}),ye)return!0}}}return!1}_queryCellCircle(l,m,T,P,V,W,te,se){let{circle:fe,seenUids:ye,overlapMode:Re}=te,Me=this.boxCells[V];if(Me!==null){let tt=this.bboxes;for(let yt of Me)if(!ye.box[yt]){ye.box[yt]=!0;let At=4*yt,vt=this.boxKeys[yt];if(this._circleAndRectCollide(fe.x,fe.y,fe.radius,tt[At+0],tt[At+1],tt[At+2],tt[At+3])&&(!se||se(vt))&&!fi(Re,vt.overlapMode))return W.push(!0),!0}}let je=this.circleCells[V];if(je!==null){let tt=this.circles;for(let yt of je)if(!ye.circle[yt]){ye.circle[yt]=!0;let At=3*yt,vt=this.circleKeys[yt];if(this._circlesCollide(tt[At],tt[At+1],tt[At+2],fe.x,fe.y,fe.radius)&&(!se||se(vt))&&!fi(Re,vt.overlapMode))return W.push(!0),!0}}}_forEachCell(l,m,T,P,V,W,te,se){let fe=this._convertToXCellCoord(l),ye=this._convertToYCellCoord(m),Re=this._convertToXCellCoord(T),Me=this._convertToYCellCoord(P);for(let je=fe;je<=Re;je++)for(let tt=ye;tt<=Me;tt++)if(V.call(this,l,m,T,P,this.xCellCount*tt+je,W,te,se))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,m,T,P,V,W){let te=P-l,se=V-m,fe=T+W;return fe*fe>te*te+se*se}_circleAndRectCollide(l,m,T,P,V,W,te){let se=(W-P)/2,fe=Math.abs(l-(P+se));if(fe>se+T)return!1;let ye=(te-V)/2,Re=Math.abs(m-(V+ye));if(Re>ye+T)return!1;if(fe<=se||Re<=ye)return!0;let Me=fe-se,je=Re-ye;return Me*Me+je*je<=T*T}}function Di(z,l,m){let T=o.N();if(!z){let{vecSouth:Re,vecEast:Me}=Mi(l),je=c();je[0]=Me[0],je[1]=Me[1],je[2]=Re[0],je[3]=Re[1],P=je,(ye=(W=(V=je)[0])*(fe=V[3])-(se=V[2])*(te=V[1]))&&(P[0]=fe*(ye=1/ye),P[1]=-te*ye,P[2]=-se*ye,P[3]=W*ye),T[0]=je[0],T[1]=je[1],T[4]=je[2],T[5]=je[3]}var P,V,W,te,se,fe,ye;return o.Q(T,T,[1/m,1/m,1]),T}function Ii(z,l,m,T){if(z){let P=o.N();if(!l){let{vecSouth:V,vecEast:W}=Mi(m);P[0]=W[0],P[1]=W[1],P[4]=V[0],P[5]=V[1]}return o.Q(P,P,[T,T,1]),P}return m.pixelsToClipSpaceMatrix}function Mi(z){let l=Math.cos(z.rollInRadians),m=Math.sin(z.rollInRadians),T=Math.cos(z.pitchInRadians),P=Math.cos(z.bearingInRadians),V=Math.sin(z.bearingInRadians),W=o.aD();W[0]=-P*T*m-V*l,W[1]=-V*T*m+P*l;let te=o.aE(W);te<1e-9?o.aF(W):o.aG(W,W,1/te);let se=o.aD();se[0]=P*T*l-V*m,se[1]=V*T*l+P*m;let fe=o.aE(se);return fe<1e-9?o.aF(se):o.aG(se,se,1/fe),{vecEast:se,vecSouth:W}}function Ni(z,l,m,T){let P;T?(P=[z,l,T(z,l),1],o.aI(P,P,m)):(P=[z,l,0,1],md(P,P,m));let V=P[3];return{point:new o.P(P[0]/V,P[1]/V),signedDistanceFromCamera:V,isOccluded:!1}}function zi(z,l){return .5+z/l*.5}function po(z,l){return z.x>=-l[0]&&z.x<=l[0]&&z.y>=-l[1]&&z.y<=l[1]}function Ls(z,l,m,T,P,V,W,te,se,fe,ye,Re,Me){let je=m?z.textSizeData:z.iconSizeData,tt=o.az(je,l.transform.zoom),yt=[256/l.width*2+1,256/l.height*2+1],At=m?z.text.dynamicLayoutVertexArray:z.icon.dynamicLayoutVertexArray;At.clear();let vt=z.lineVertexArray,Lt=m?z.text.placedSymbolArray:z.icon.placedSymbolArray,Kt=l.transform.width/l.transform.height,It=!1;for(let Xt=0;XtMath.abs(m.x-l.x)*T?{useVertical:!0}:(z===o.aA.vertical?l.ym.x)?{needsFlipping:!0}:null}function wo(z){let{projectionContext:l,pitchedLabelPlaneMatrixInverse:m,symbol:T,fontSize:P,flip:V,keepUpright:W,glyphOffsetArray:te,dynamicLayoutVertexArray:se,aspectRatio:fe,rotateToLine:ye}=z,Re=P/24,Me=T.lineOffsetX*Re,je=T.lineOffsetY*Re,tt;if(T.numGlyphs>1){let yt=T.glyphStartIndex+T.numGlyphs,At=T.lineStartIndex,vt=T.lineStartIndex+T.lineLength,Lt=co(Re,te,Me,je,V,T,ye,l);if(!Lt)return{notEnoughRoom:!0};let Kt=Ds(Lt.first.point.x,Lt.first.point.y,l,m),It=Ds(Lt.last.point.x,Lt.last.point.y,l,m);if(W&&!V){let Xt=No(T.writingMode,Kt,It,fe);if(Xt)return Xt}tt=[Lt.first];for(let Xt=T.glyphStartIndex+1;Xt0?Kt.point:Al(l.tileAnchorPoint,Lt,At,1,l),Xt=Ds(At.x,At.y,l,m),Rt=Ds(It.x,It.y,l,m),zt=No(T.writingMode,Xt,Rt,fe);if(zt)return zt}let yt=zc(Re*te.getoffsetX(T.glyphStartIndex),Me,je,V,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,l,ye);if(!yt||l.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};tt=[yt]}for(let yt of tt)o.aH(se,yt.point,yt.angle);return{}}function Al(z,l,m,T,P){let V=z.add(z.sub(l)._unit()),W=Qn(V.x,V.y,P).point,te=m.sub(W);return m.add(te._mult(T/te.mag()))}function uo(z,l,m){let T=l.projectionCache;if(T.projections[z])return T.projections[z];let P=new o.P(l.lineVertexArray.getx(z),l.lineVertexArray.gety(z)),V=Qn(P.x,P.y,l);if(V.signedDistanceFromCamera>0)return T.projections[z]=V.point,T.anyProjectionOccluded=T.anyProjectionOccluded||V.isOccluded,V.point;let W=z-m.direction;return Al(m.distanceFromAnchor===0?l.tileAnchorPoint:new o.P(l.lineVertexArray.getx(W),l.lineVertexArray.gety(W)),P,m.previousVertex,m.absOffsetX-m.distanceFromAnchor+1,l)}function Qn(z,l,m){let T=z+m.translation[0],P=l+m.translation[1],V;return m.pitchWithMap?(V=Ni(T,P,m.pitchedLabelPlaneMatrix,m.getElevation),V.isOccluded=!1):(V=m.transform.projectTileCoordinates(T,P,m.unwrappedTileID,m.getElevation),V.point.x=(.5*V.point.x+.5)*m.width,V.point.y=(.5*-V.point.y+.5)*m.height),V}function Ds(z,l,m,T){if(m.pitchWithMap){let P=[z,l,0,1];return o.aI(P,P,T),m.transform.projectTileCoordinates(P[0]/P[3],P[1]/P[3],m.unwrappedTileID,m.getElevation).point}return{x:z/m.width*2-1,y:1-l/m.height*2}}function ho(z,l,m){return m.transform.projectTileCoordinates(z,l,m.unwrappedTileID,m.getElevation)}function cs(z,l,m){return z._unit()._perp()._mult(l*m)}function _l(z,l,m,T,P,V,W,te,se){if(te.projectionCache.offsets[z])return te.projectionCache.offsets[z];let fe=m.add(l);if(z+se.direction=P)return te.projectionCache.offsets[z]=fe,fe;let ye=uo(z+se.direction,te,se),Re=cs(ye.sub(m),W,se.direction),Me=m.add(Re),je=ye.add(Re);return te.projectionCache.offsets[z]=o.aJ(V,fe,Me,je)||fe,te.projectionCache.offsets[z]}function zc(z,l,m,T,P,V,W,te,se){let fe=T?z-l:z+l,ye=fe>0?1:-1,Re=0;T&&(ye*=-1,Re=Math.PI),ye<0&&(Re+=Math.PI);let Me,je=ye>0?V+P:V+P+1;te.projectionCache.cachedAnchorPoint?Me=te.projectionCache.cachedAnchorPoint:(Me=Qn(te.tileAnchorPoint.x,te.tileAnchorPoint.y,te).point,te.projectionCache.cachedAnchorPoint=Me);let tt,yt,At=Me,vt=Me,Lt=0,Kt=0,It=Math.abs(fe),Xt=[],Rt;for(;Lt+Kt<=It;){if(je+=ye,je=W)return null;Lt+=Kt,vt=At,yt=tt;let br={absOffsetX:It,direction:ye,distanceFromAnchor:Lt,previousVertex:vt};if(At=uo(je,te,br),m===0)Xt.push(vt),Rt=At.sub(vt);else{let Cr,Rr=At.sub(vt);Cr=Rr.mag()===0?cs(uo(je+ye,te,br).sub(At),m,ye):cs(Rr,m,ye),yt||(yt=vt.add(Cr)),tt=_l(je,Cr,At,V,W,yt,m,te,br),Xt.push(yt),Rt=tt.sub(yt)}Kt=Rt.mag()}let zt=Rt._mult((It-Lt)/Kt)._add(yt||vt),jt=Re+Math.atan2(At.y-vt.y,At.x-vt.x);return Xt.push(zt),{point:zt,angle:se?jt:0,path:Xt}}let yl=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Ya(z,l){for(let m=0;m=1;fo--)_i.push(Pr.path[fo]);for(let fo=1;fo$r.signedDistanceFromCamera<=0)?[]:fo.map($r=>$r.point)}let hn=[];if(_i.length>0){let fo=_i[0].clone(),$r=_i[0].clone();for(let di=1;di<_i.length;di++)fo.x=Math.min(fo.x,_i[di].x),fo.y=Math.min(fo.y,_i[di].y),$r.x=Math.max($r.x,_i[di].x),$r.y=Math.max($r.y,_i[di].y);hn=fo.x>=br.x&&$r.x<=Cr.x&&fo.y>=br.y&&$r.y<=Cr.y?[_i]:$r.xCr.x||$r.yCr.y?[]:o.aK([_i],br.x,br.y,Cr.x,Cr.y)}for(let fo of hn){Rr.reset(fo,.25*jt);let $r=0;$r=Rr.length<=.5*jt?1:Math.ceil(Rr.paddedLength/hi)+1;for(let di=0;di<$r;di++){let oa=di/Math.max($r-1,1),Ja=Rr.lerp(oa),ya=Ja.x+os,jl=Ja.y+os;yt.push(ya,jl,jt,0);let qs=ya-jt,Wa=jl-jt,Hl=ya+jt,Ea=jl+jt;if(zt=zt&&this.isOffscreen(qs,Wa,Hl,Ea),Rt=Rt||this.isInsideGrid(qs,Wa,Hl,Ea),l!=="always"&&this.grid.hitTestCircle(ya,jl,jt,l,ye)&&(Xt=!0,!se))return{circles:[],offscreen:!1,collisionDetected:Xt}}}}return{circles:!se&&Xt||!Rt||vt{let se=Ni(te.x,te.y,W,V.getElevation),fe=V.transform.projectTileCoordinates(se.point.x,se.point.y,V.unwrappedTileID,V.getElevation);return fe.point.x=(.5*fe.point.x+.5)*V.width,fe.point.y=(.5*-fe.point.y+.5)*V.height,fe})}(l,m);return function(P){let V=0,W=0,te=0,se=0;for(let fe=0;feW&&(W=se,V=te));return P.slice(V,V+W)}(T)}queryRenderedSymbols(l){if(l.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let m=[],T=new o.ac;for(let Re of l){let Me=new o.P(Re.x+os,Re.y+os);T.extend(Me),m.push(Me)}let{minX:P,minY:V,maxX:W,maxY:te}=T,se=this.grid.query(P,V,W,te).concat(this.ignoredGrid.query(P,V,W,te)),fe={},ye={};for(let Re of se){let Me=Re.key;if(fe[Me.bucketInstanceId]===void 0&&(fe[Me.bucketInstanceId]={}),fe[Me.bucketInstanceId][Me.featureIndex])continue;let je=[new o.P(Re.x1,Re.y1),new o.P(Re.x2,Re.y1),new o.P(Re.x2,Re.y2),new o.P(Re.x1,Re.y2)];o.aL(m,je)&&(fe[Me.bucketInstanceId][Me.featureIndex]=!0,ye[Me.bucketInstanceId]===void 0&&(ye[Me.bucketInstanceId]=[]),ye[Me.bucketInstanceId].push(Me.featureIndex))}return ye}insertCollisionBox(l,m,T,P,V,W){(T?this.ignoredGrid:this.grid).insert({bucketInstanceId:P,featureIndex:V,collisionGroupID:W,overlapMode:m},l[0],l[1],l[2],l[3])}insertCollisionCircles(l,m,T,P,V,W){let te=T?this.ignoredGrid:this.grid,se={bucketInstanceId:P,featureIndex:V,collisionGroupID:W,overlapMode:m};for(let fe=0;fe=this.screenRightBoundary||Pthis.screenBottomBoundary}isInsideGrid(l,m,T,P){return T>=0&&l=0&&mthis.projectAndGetPerspectiveRatio(hi.x,hi.y,P,fe,Re));Ai=_i.some(hi=>!hi.isOccluded),Pr=_i.map(hi=>new o.P(hi.x,hi.y))}else Ai=!0;return{box:o.aM(Pr),allPointsOccluded:!Ai}}}class mf{constructor(l,m,T,P){this.opacity=l?Math.max(0,Math.min(1,l.opacity+(l.placed?m:-m))):P&&T?1:0,this.placed=T}isHidden(){return this.opacity===0&&!this.placed}}class Ll{constructor(l,m,T,P,V){this.text=new mf(l?l.text:null,m,T,V),this.icon=new mf(l?l.icon:null,m,P,V)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Dl{constructor(l,m,T){this.text=l,this.icon=m,this.skipFade=T}}class eu{constructor(l,m,T,P,V){this.bucketInstanceId=l,this.featureIndex=m,this.sourceLayerIndex=T,this.bucketIndex=P,this.tileID=V}}class ua{constructor(l){this.crossSourceCollisions=l,this.maxGroupID=0,this.collisionGroups={}}get(l){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[l]){let m=++this.maxGroupID;this.collisionGroups[l]={ID:m,predicate:T=>T.collisionGroupID===m}}return this.collisionGroups[l]}}function Tc(z,l,m,T,P){let{horizontalAlign:V,verticalAlign:W}=o.aT(z);return new o.P(-(V-.5)*l+T[0]*P,-(W-.5)*m+T[1]*P)}class Uc{constructor(l,m,T,P,V){this.transform=l.clone(),this.terrain=m,this.collisionIndex=new ca(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=T,this.retainedQueryData={},this.collisionGroups=new ua(P),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=V,V&&(V.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(l){let m=this.terrain;return m?(T,P)=>m.getElevation(l,T,P):null}getBucketParts(l,m,T,P){let V=T.getBucket(m),W=T.latestFeatureIndex;if(!V||!W||m.id!==V.layerIds[0])return;let te=T.collisionBoxArray,se=V.layers[0].layout,fe=V.layers[0].paint,ye=Math.pow(2,this.transform.zoom-T.tileID.overscaledZ),Re=T.tileSize/o.a5,Me=T.tileID.toUnwrapped(),je=se.get("text-rotation-alignment")==="map",tt=o.aO(T,1,this.transform.zoom),yt=o.aP(this.collisionIndex.transform,T,fe.get("text-translate"),fe.get("text-translate-anchor")),At=o.aP(this.collisionIndex.transform,T,fe.get("icon-translate"),fe.get("icon-translate-anchor")),vt=Di(je,this.transform,tt);this.retainedQueryData[V.bucketInstanceId]=new eu(V.bucketInstanceId,W,V.sourceLayerIndex,V.index,T.tileID);let Lt={bucket:V,layout:se,translationText:yt,translationIcon:At,unwrappedTileID:Me,pitchedLabelPlaneMatrix:vt,scale:ye,textPixelRatio:Re,holdingForFade:T.holdingForSymbolFade(),collisionBoxArray:te,partiallyEvaluatedTextSize:o.az(V.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(V.sourceID)};if(P)for(let Kt of V.sortKeyRanges){let{sortKey:It,symbolInstanceStart:Xt,symbolInstanceEnd:Rt}=Kt;l.push({sortKey:It,symbolInstanceStart:Xt,symbolInstanceEnd:Rt,parameters:Lt})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:V.symbolInstances.length,parameters:Lt})}attemptAnchorPlacement(l,m,T,P,V,W,te,se,fe,ye,Re,Me,je,tt,yt,At,vt,Lt,Kt,It){let Xt=o.aQ[l.textAnchor],Rt=[l.textOffset0,l.textOffset1],zt=Tc(Xt,T,P,Rt,V),jt=this.collisionIndex.placeCollisionBox(m,Me,se,fe,ye,te,W,At,Re.predicate,Kt,zt,It);if((!Lt||this.collisionIndex.placeCollisionBox(Lt,Me,se,fe,ye,te,W,vt,Re.predicate,Kt,zt,It).placeable)&&jt.placeable){let br;if(this.prevPlacement&&this.prevPlacement.variableOffsets[je.crossTileID]&&this.prevPlacement.placements[je.crossTileID]&&this.prevPlacement.placements[je.crossTileID].text&&(br=this.prevPlacement.variableOffsets[je.crossTileID].anchor),je.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[je.crossTileID]={textOffset:Rt,width:T,height:P,anchor:Xt,textBoxScale:V,prevAnchor:br},this.markUsedJustification(tt,Xt,je,yt),tt.allowVerticalPlacement&&(this.markUsedOrientation(tt,yt,je),this.placedOrientations[je.crossTileID]=yt),{shift:zt,placedGlyphBoxes:jt}}}placeLayerBucketPart(l,m,T){let{bucket:P,layout:V,translationText:W,translationIcon:te,unwrappedTileID:se,pitchedLabelPlaneMatrix:fe,textPixelRatio:ye,holdingForFade:Re,collisionBoxArray:Me,partiallyEvaluatedTextSize:je,collisionGroup:tt}=l.parameters,yt=V.get("text-optional"),At=V.get("icon-optional"),vt=o.aR(V,"text-overlap","text-allow-overlap"),Lt=vt==="always",Kt=o.aR(V,"icon-overlap","icon-allow-overlap"),It=Kt==="always",Xt=V.get("text-rotation-alignment")==="map",Rt=V.get("text-pitch-alignment")==="map",zt=V.get("icon-text-fit")!=="none",jt=V.get("symbol-z-order")==="viewport-y",br=Lt&&(It||!P.hasIconData()||At),Cr=It&&(Lt||!P.hasTextData()||yt);!P.collisionArrays&&Me&&P.deserializeCollisionBoxes(Me);let Rr=this.retainedQueryData[P.bucketInstanceId].tileID,Pr=this._getTerrainElevationFunc(Rr),Ai=this.transform.getFastPathSimpleProjectionMatrix(Rr),_i=(hi,hn,fo)=>{var $r,di;if(m[hi.crossTileID])return;if(Re)return void(this.placements[hi.crossTileID]=new Dl(!1,!1,!1));let oa=!1,Ja=!1,ya=!0,jl=null,qs={box:null,placeable:!1,offscreen:null,occluded:!1},Wa={placeable:!1},Hl=null,Ea=null,v=null,x=0,E=0,B=0;hn.textFeatureIndex?x=hn.textFeatureIndex:hi.useRuntimeCollisionCircles&&(x=hi.featureIndex),hn.verticalTextFeatureIndex&&(E=hn.verticalTextFeatureIndex);let N=hn.textBox;if(N){let ue=bt=>{let wt=o.aA.horizontal;if(P.allowVerticalPlacement&&!bt&&this.prevPlacement){let Tt=this.prevPlacement.placedOrientations[hi.crossTileID];Tt&&(this.placedOrientations[hi.crossTileID]=Tt,wt=Tt,this.markUsedOrientation(P,wt,hi))}return wt},Ae=(bt,wt)=>{if(P.allowVerticalPlacement&&hi.numVerticalGlyphVertices>0&&hn.verticalTextBox){for(let Tt of P.writingModes)if(Tt===o.aA.vertical?(qs=wt(),Wa=qs):qs=bt(),qs&&qs.placeable)break}else qs=bt()},Te=hi.textAnchorOffsetStartIndex,at=hi.textAnchorOffsetEndIndex;if(at===Te){let bt=(wt,Tt)=>{let er=this.collisionIndex.placeCollisionBox(wt,vt,ye,Rr,se,Rt,Xt,W,tt.predicate,Pr,void 0,Ai);return er&&er.placeable&&(this.markUsedOrientation(P,Tt,hi),this.placedOrientations[hi.crossTileID]=Tt),er};Ae(()=>bt(N,o.aA.horizontal),()=>{let wt=hn.verticalTextBox;return P.allowVerticalPlacement&&hi.numVerticalGlyphVertices>0&&wt?bt(wt,o.aA.vertical):{box:null,offscreen:null}}),ue(qs&&qs.placeable)}else{let bt=o.aQ[(di=($r=this.prevPlacement)===null||$r===void 0?void 0:$r.variableOffsets[hi.crossTileID])===null||di===void 0?void 0:di.anchor],wt=(er,Ar,qr)=>{let _r=er.x2-er.x1,Sr=er.y2-er.y1,or=hi.textBoxScale,Pi=zt&&Kt==="never"?Ar:null,En=null,wn=vt==="never"?1:2,vo="never";bt&&wn++;for(let Ro=0;Rowt(N,hn.iconBox,o.aA.horizontal),()=>{let er=hn.verticalTextBox;return P.allowVerticalPlacement&&(!qs||!qs.placeable)&&hi.numVerticalGlyphVertices>0&&er?wt(er,hn.verticalIconBox,o.aA.vertical):{box:null,occluded:!0,offscreen:null}}),qs&&(oa=qs.placeable,ya=qs.offscreen);let Tt=ue(qs&&qs.placeable);if(!oa&&this.prevPlacement){let er=this.prevPlacement.variableOffsets[hi.crossTileID];er&&(this.variableOffsets[hi.crossTileID]=er,this.markUsedJustification(P,er.anchor,hi,Tt))}}}if(Hl=qs,oa=Hl&&Hl.placeable,ya=Hl&&Hl.offscreen,hi.useRuntimeCollisionCircles&&hi.centerJustifiedTextSymbolIndex>=0){let ue=P.text.placedSymbolArray.get(hi.centerJustifiedTextSymbolIndex),Ae=o.aB(P.textSizeData,je,ue),Te=V.get("text-padding");Ea=this.collisionIndex.placeCollisionCircles(vt,ue,P.lineVertexArray,P.glyphOffsetArray,Ae,se,fe,T,Rt,tt.predicate,hi.collisionCircleDiameter,Te,W,Pr),Ea.circles.length&&Ea.collisionDetected&&!T&&o.w("Collisions detected, but collision boxes are not shown"),oa=Lt||Ea.circles.length>0&&!Ea.collisionDetected,ya=ya&&Ea.offscreen}if(hn.iconFeatureIndex&&(B=hn.iconFeatureIndex),hn.iconBox){let ue=Ae=>this.collisionIndex.placeCollisionBox(Ae,Kt,ye,Rr,se,Rt,Xt,te,tt.predicate,Pr,zt&&jl?jl:void 0,Ai);Wa&&Wa.placeable&&hn.verticalIconBox?(v=ue(hn.verticalIconBox),Ja=v.placeable):(v=ue(hn.iconBox),Ja=v.placeable),ya=ya&&v.offscreen}let G=yt||hi.numHorizontalGlyphVertices===0&&hi.numVerticalGlyphVertices===0,X=At||hi.numIconVertices===0;G||X?X?G||(Ja=Ja&&oa):oa=Ja&&oa:Ja=oa=Ja&&oa;let Q=Ja&&v.placeable;if(oa&&Hl.placeable&&this.collisionIndex.insertCollisionBox(Hl.box,vt,V.get("text-ignore-placement"),P.bucketInstanceId,Wa&&Wa.placeable&&E?E:x,tt.ID),Q&&this.collisionIndex.insertCollisionBox(v.box,Kt,V.get("icon-ignore-placement"),P.bucketInstanceId,B,tt.ID),Ea&&oa&&this.collisionIndex.insertCollisionCircles(Ea.circles,vt,V.get("text-ignore-placement"),P.bucketInstanceId,x,tt.ID),T&&this.storeCollisionData(P.bucketInstanceId,fo,hn,Hl,v,Ea),hi.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(P.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[hi.crossTileID]=new Dl((oa||br)&&!Hl?.occluded,(Ja||Cr)&&!v?.occluded,ya||P.justReloaded),m[hi.crossTileID]=!0};if(jt){if(l.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let hi=P.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let hn=hi.length-1;hn>=0;--hn){let fo=hi[hn];_i(P.symbolInstances.get(fo),P.collisionArrays[fo],fo)}}else for(let hi=l.symbolInstanceStart;hi=0&&(l.text.placedSymbolArray.get(te).crossTileID=V>=0&&te!==V?0:T.crossTileID)}markUsedOrientation(l,m,T){let P=m===o.aA.horizontal||m===o.aA.horizontalOnly?m:0,V=m===o.aA.vertical?m:0,W=[T.leftJustifiedTextSymbolIndex,T.centerJustifiedTextSymbolIndex,T.rightJustifiedTextSymbolIndex];for(let te of W)l.text.placedSymbolArray.get(te).placedOrientation=P;T.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(T.verticalPlacedTextSymbolIndex).placedOrientation=V)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let m=this.prevPlacement,T=!1;this.prevZoomAdjustment=m?m.zoomAdjustment(this.transform.zoom):0;let P=m?m.symbolFadeChange(l):1,V=m?m.opacities:{},W=m?m.variableOffsets:{},te=m?m.placedOrientations:{};for(let se in this.placements){let fe=this.placements[se],ye=V[se];ye?(this.opacities[se]=new Ll(ye,P,fe.text,fe.icon),T=T||fe.text!==ye.text.placed||fe.icon!==ye.icon.placed):(this.opacities[se]=new Ll(null,P,fe.text,fe.icon,fe.skipFade),T=T||fe.text||fe.icon)}for(let se in V){let fe=V[se];if(!this.opacities[se]){let ye=new Ll(fe,P,!1,!1);ye.isHidden()||(this.opacities[se]=ye,T=T||fe.text.placed||fe.icon.placed)}}for(let se in W)this.variableOffsets[se]||!this.opacities[se]||this.opacities[se].isHidden()||(this.variableOffsets[se]=W[se]);for(let se in te)this.placedOrientations[se]||!this.opacities[se]||this.opacities[se].isHidden()||(this.placedOrientations[se]=te[se]);if(m&&m.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");T?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=m?m.lastPlacementChangeTime:l)}updateLayerOpacities(l,m){let T={};for(let P of m){let V=P.getBucket(l);V&&P.latestFeatureIndex&&l.id===V.layerIds[0]&&this.updateBucketOpacities(V,P.tileID,T,P.collisionBoxArray)}}updateBucketOpacities(l,m,T,P){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let V=l.layers[0],W=V.layout,te=new Ll(null,0,!1,!1,!0),se=W.get("text-allow-overlap"),fe=W.get("icon-allow-overlap"),ye=V._unevaluatedLayout.hasValue("text-variable-anchor")||V._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Re=W.get("text-rotation-alignment")==="map",Me=W.get("text-pitch-alignment")==="map",je=W.get("icon-text-fit")!=="none",tt=new Ll(null,0,se&&(fe||!l.hasIconData()||W.get("icon-optional")),fe&&(se||!l.hasTextData()||W.get("text-optional")),!0);!l.collisionArrays&&P&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(P);let yt=(vt,Lt,Kt)=>{for(let It=0;It0,jt=this.placedOrientations[Lt.crossTileID],br=jt===o.aA.vertical,Cr=jt===o.aA.horizontal||jt===o.aA.horizontalOnly;if(Kt>0||It>0){let Pr=gf(Rt.text);yt(l.text,Kt,br?gd:Pr),yt(l.text,It,Cr?gd:Pr);let Ai=Rt.text.isHidden();[Lt.rightJustifiedTextSymbolIndex,Lt.centerJustifiedTextSymbolIndex,Lt.leftJustifiedTextSymbolIndex].forEach(hn=>{hn>=0&&(l.text.placedSymbolArray.get(hn).hidden=Ai||br?1:0)}),Lt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(Lt.verticalPlacedTextSymbolIndex).hidden=Ai||Cr?1:0);let _i=this.variableOffsets[Lt.crossTileID];_i&&this.markUsedJustification(l,_i.anchor,Lt,jt);let hi=this.placedOrientations[Lt.crossTileID];hi&&(this.markUsedJustification(l,"left",Lt,hi),this.markUsedOrientation(l,hi,Lt))}if(zt){let Pr=gf(Rt.icon),Ai=!(je&&Lt.verticalPlacedIconSymbolIndex&&br);Lt.placedIconSymbolIndex>=0&&(yt(l.icon,Lt.numIconVertices,Ai?Pr:gd),l.icon.placedSymbolArray.get(Lt.placedIconSymbolIndex).hidden=Rt.icon.isHidden()),Lt.verticalPlacedIconSymbolIndex>=0&&(yt(l.icon,Lt.numVerticalIconVertices,Ai?gd:Pr),l.icon.placedSymbolArray.get(Lt.verticalPlacedIconSymbolIndex).hidden=Rt.icon.isHidden())}let Rr=At&&At.has(vt)?At.get(vt):{text:null,icon:null};if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let Pr=l.collisionArrays[vt];if(Pr){let Ai=new o.P(0,0);if(Pr.textBox||Pr.verticalTextBox){let _i=!0;if(ye){let hi=this.variableOffsets[Xt];hi?(Ai=Tc(hi.anchor,hi.width,hi.height,hi.textOffset,hi.textBoxScale),Re&&Ai._rotate(Me?-this.transform.bearingInRadians:this.transform.bearingInRadians)):_i=!1}if(Pr.textBox||Pr.verticalTextBox){let hi;Pr.textBox&&(hi=br),Pr.verticalTextBox&&(hi=Cr),pm(l.textCollisionBox.collisionVertexArray,Rt.text.placed,!_i||hi,Rr.text,Ai.x,Ai.y)}}if(Pr.iconBox||Pr.verticalIconBox){let _i=Boolean(!Cr&&Pr.verticalIconBox),hi;Pr.iconBox&&(hi=_i),Pr.verticalIconBox&&(hi=!_i),pm(l.iconCollisionBox.collisionVertexArray,Rt.icon.placed,hi,Rr.icon,je?Ai.x:0,je?Ai.y:0)}}}}if(l.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);l.bucketInstanceId in this.collisionCircleArrays&&(l.collisionCircleArray=this.collisionCircleArrays[l.bucketInstanceId],delete this.collisionCircleArrays[l.bucketInstanceId])}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function pm(z,l,m,T,P,V){T&&T.length!==0||(T=[0,0,0,0]);let W=T[0]-os,te=T[1]-os,se=T[2]-os,fe=T[3]-os;z.emplaceBack(l?1:0,m?1:0,P||0,V||0,W,te),z.emplaceBack(l?1:0,m?1:0,P||0,V||0,se,te),z.emplaceBack(l?1:0,m?1:0,P||0,V||0,se,fe),z.emplaceBack(l?1:0,m?1:0,P||0,V||0,W,fe)}let pu=Math.pow(2,25),Iu=Math.pow(2,24),Vh=Math.pow(2,17),Ma=Math.pow(2,16),Mu=Math.pow(2,9),Sc=Math.pow(2,8),pc=Math.pow(2,1);function gf(z){if(z.opacity===0&&!z.placed)return 0;if(z.opacity===1&&z.placed)return 4294967295;let l=z.placed?1:0,m=Math.floor(127*z.opacity);return m*pu+l*Iu+m*Vh+l*Ma+m*Mu+l*Sc+m*pc+l}let gd=0;class jh{constructor(l){this._sortAcrossTiles=l.layout.get("symbol-z-order")!=="viewport-y"&&!l.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,m,T,P,V){let W=this._bucketParts;for(;this._currentTileIndexte.sortKey-se.sortKey));this._currentPartIndex!this._forceFullPlacement&&k()-P>2;for(;this._currentPlacementIndex>=0;){let W=m[l[this._currentPlacementIndex]],te=this.placement.collisionIndex.transform.zoom;if(W.type==="symbol"&&(!W.minzoom||W.minzoom<=te)&&(!W.maxzoom||W.maxzoom>te)){if(this._inProgressLayer||(this._inProgressLayer=new jh(W)),this._inProgressLayer.continuePlacement(T[W.source],this.placement,this._showCollisionBoxes,W,V))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Io=512/o.a5/2;class Sp{constructor(l,m,T){this.tileID=l,this.bucketInstanceId=T,this._symbolsByKey={};let P=new Map;for(let V=0;V({x:Math.floor(se.anchorX*Io),y:Math.floor(se.anchorY*Io)})),crossTileIDs:W.map(se=>se.crossTileID)};if(te.positions.length>128){let se=new o.aU(te.positions.length,16,Uint16Array);for(let{x:fe,y:ye}of te.positions)se.add(fe,ye);se.finish(),delete te.positions,te.index=se}this._symbolsByKey[V]=te}}getScaledCoordinates(l,m){let{x:T,y:P,z:V}=this.tileID.canonical,{x:W,y:te,z:se}=m.canonical,fe=Io/Math.pow(2,se-V),ye=(te*o.a5+l.anchorY)*fe,Re=P*o.a5*Io;return{x:Math.floor((W*o.a5+l.anchorX)*fe-T*o.a5*Io),y:Math.floor(ye-Re)}}findMatches(l,m,T){let P=this.tileID.canonical.zl)}}class eg{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ep{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let m=Math.round((l-this.lng)/360);if(m!==0)for(let T in this.indexes){let P=this.indexes[T],V={};for(let W in P){let te=P[W];te.tileID=te.tileID.unwrapTo(te.tileID.wrap+m),V[te.tileID.key]=te}this.indexes[T]=V}this.lng=l}addBucket(l,m,T){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===m.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let V=0;Vl.overscaledZ)for(let te in W){let se=W[te];se.tileID.isChildOf(l)&&se.findMatches(m.symbolInstances,l,P)}else{let te=W[l.scaledTo(Number(V)).key];te&&te.findMatches(m.symbolInstances,l,P)}}for(let V=0;V{m[T]=!0});for(let T in this.layerIndexes)m[T]||delete this.layerIndexes[T]}}var Jl="void main() {fragColor=vec4(1.0);}";let _a={prelude:Zn(`#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 -out highp vec4 fragColor;`,`#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;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+ c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+ c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+ c -);} -#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(texture(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=(texture(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 -#ifdef GLOBE -if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;} -#endif -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 -}const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:Zn("","float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}"),projectionGlobe:Zn("",`#define GLOBE_RADIUS 6371008.8 -uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos -);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); -if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len -);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:Zn(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),backgroundPattern:Zn(`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;in vec2 v_pos_a;in 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=texture(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=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,"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;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);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:Zn(`in vec3 v_data;in 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));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;} -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;uniform vec2 u_translate;in vec2 a_pos;out vec3 v_data;out 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 pos_raw=a_pos+32768.0;vec2 extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);vec2 circle_center=floor(pos_raw/8.0)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) { -#ifdef GLOBE -vec3 center_vector=projectToSphere(circle_center); -#endif -float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else { -#ifdef GLOBE -vec4 projected_center=interpolateProjection(circle_center,center_vector,ele); -#else -vec4 projected_center=projectTileWithElevation(circle_center,ele); -#endif -corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);} -#ifdef GLOBE -vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele); -#else -gl_Position=projectTileWithElevation(corner_position,ele); -#endif -} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}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:Zn(Jl,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),heatmap:Zn(`uniform highp float u_intensity;in 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);fragColor=vec4(val,1.0,1.0,1.0); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out 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 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.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;vec2 circle_center=floor(pos_raw/8.0); -#ifdef GLOBE -vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0); -#else -gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); -#endif -}`),heatmapTexture:Zn(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(0.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out 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:Zn("in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}","in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;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:Zn("in float v_radius;in vec2 v_extrude;in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;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);fragColor=color*alpha*opacity_t;}","in vec2 a_pos;in float a_radius;in vec2 a_flags;uniform vec2 u_viewport_size;out float v_radius;out vec2 v_extrude;out float v_collision;void main() {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;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),colorRelief:Zn(`#ifdef GL_ES -precision highp float; -#endif -uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_stops;uniform sampler2D u_color_stops;uniform int u_color_ramp_size;uniform float u_opacity;in vec2 v_pos;float getElevation(vec2 coord) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}float getElevationStop(int stop) {float x=(float(stop)+0.5)/float(u_color_ramp_size);vec4 data=texture(u_elevation_stops,vec2(x,0))*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {float el=getElevation(v_pos);int r=(u_color_ramp_size-1);int l=0;float el_l=getElevationStop(l);float el_r=getElevationStop(r);while(r-l > 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else -{l=m;el_l=el_m;}}float x=(float(l)+(el-el_l)/(el_r-el_l)+0.5)/float(u_color_ramp_size);fragColor=u_opacity*texture(u_color_stops,vec2(x,0)); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,"uniform vec2 u_dimension;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),debug:Zn("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}","in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}"),depth:Zn(Jl,`in vec2 a_pos;void main() { -#ifdef GLOBE -gl_Position=projectTileFor3D(a_pos,0.0); -#else -gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); -#endif -}`),fill:Zn(`#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 -fragColor=color*opacity; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec2 u_fill_translate;in vec2 a_pos; -#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=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:Zn(`in vec2 v_pos; -#ifdef GLOBE -in float v_depth; -#endif -#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);fragColor=outline_color*(alpha*opacity); -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos; -#ifdef GLOBE -out float v_depth; -#endif -#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=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -}`),fillOutlinePattern:Zn(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; -#ifdef GLOBE -in float v_depth; -#endif -#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=texture(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=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity; -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; -#ifdef GLOBE -out float v_depth; -#endif -#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=projectTile(a_pos+u_fill_translate,a_pos);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; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -}`),fillPattern:Zn(`#ifdef GL_ES -precision highp float; -#endif -uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in 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=texture(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=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out 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=projectTile(a_pos+u_fill_translate,a_pos);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:Zn(`in vec4 v_color;void main() {fragColor=v_color; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed; -#ifdef TERRAIN3D -in vec2 a_centroid; -#endif -out 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);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; -#ifdef GLOBE -vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); -#else -gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); -#endif -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;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0); -#ifdef GLOBE -mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); -#endif -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:Zn(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in 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=texture(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=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`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 vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed; -#ifdef TERRAIN3D -in vec2 a_centroid; -#endif -#ifdef GLOBE -out vec3 v_sphere_pos; -#endif -out vec2 v_pos_a;out vec2 v_pos_b;out 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 elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; -#ifdef GLOBE -vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); -#else -gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); -#endif -vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 -? a_pos -: vec2(edgedistance,elevation*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:Zn(`#ifdef GL_ES -precision highp float; -#endif -uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;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))*tileSize/pow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+0.5,deriv.y/8.0+0.5,1.0,1.0),0.0,1.0); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out 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:Zn(`uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; -#define PI 3.141592653589793 -#define STANDARD 0 -#define COMBINED 1 -#define IGOR 2 -#define MULTIDIRECTIONAL 3 -#define BASIC 4 -float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;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_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else -{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else -{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;if (u_method==BASIC) {basic_hillshade(deriv);} else if (u_method==COMBINED) {combined_hillshade(deriv);} else if (u_method==IGOR) {igor_hillshade(deriv);} else if (u_method==MULTIDIRECTIONAL) {multidirectional_hillshade(deriv);} else if (u_method==STANDARD) {standard_hillshade(deriv);} else {standard_hillshade(deriv);} -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),line:Zn(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; -#ifdef GLOBE -in float v_depth; -#endif -#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);fragColor=color*(alpha*opacity); -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; -#ifdef GLOBE -out float v_depth; -#endif -#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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_width2=vec2(outset,inset);}`),lineGradient:Zn(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; -#ifdef GLOBE -in float v_depth; -#endif -#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=texture(u_image,v_uv);fragColor=color*(alpha*opacity); -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; -#ifdef GLOBE -out float v_depth; -#endif -#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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_width2=vec2(outset,inset);}`),linePattern:Zn(`#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;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width; -#ifdef GLOBE -in float v_depth; -#endif -#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(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity; -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width; -#ifdef GLOBE -out float v_depth; -#endif -#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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.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:Zn(`uniform lowp float u_device_pixel_ratio;uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; -#ifdef GLOBE -in float v_depth; -#endif -#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 -#pragma mapbox: define mediump vec4 dasharray_from -#pragma mapbox: define mediump vec4 dasharray_to -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 -#pragma mapbox: initialize mediump vec4 dasharray_from -#pragma mapbox: initialize mediump vec4 dasharray_to -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=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0/u_device_pixel_ratio)/min(dasharray_from.w,dasharray_to.w);alpha*=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity); -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; -#ifdef GLOBE -out float v_depth; -#endif -#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 -#pragma mapbox: define mediump vec4 dasharray_from -#pragma mapbox: define mediump vec4 dasharray_to -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 -#pragma mapbox: initialize mediump vec4 dasharray_from -#pragma mapbox: initialize mediump vec4 dasharray_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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:Zn(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; -#ifdef GLOBE -in float v_depth; -#endif -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -#pragma mapbox: define mediump vec4 dasharray_from -#pragma mapbox: define mediump vec4 dasharray_to -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 dasharray_from -#pragma mapbox: initialize mediump vec4 dasharray_to -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=texture(u_image,v_uv);float sdfdist_a=texture(u_image_dash,v_tex_a).a;float sdfdist_b=texture(u_image_dash,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0)/min(dasharray_from.w,dasharray_to.w);float dash_alpha=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*dash_alpha*opacity); -#ifdef GLOBE -if (v_depth > 1.0) {discard;} -#endif -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b; -#ifdef GLOBE -out float v_depth; -#endif -#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 -#pragma mapbox: define mediump vec4 dasharray_from -#pragma mapbox: define mediump vec4 dasharray_to -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 -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 dasharray_from -#pragma mapbox: initialize mediump vec4 dasharray_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;float texel_height=1.0/u_image_height;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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; -#ifdef GLOBE -v_depth=gl_Position.z/gl_Position.w; -#endif -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),raster:Zn(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in 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=texture(u_image0,v_pos0);vec4 color1=texture(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);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5; -#ifdef GLOBE -if (a_pos.y <-32767.5) {v_pos0.y=0.0;}if (a_pos.y > 32766.5) {v_pos0.y=1.0;} -#endif -v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:Zn(`uniform sampler2D u_texture;in vec2 v_tex;in 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;fragColor=texture(u_texture,v_tex)*alpha; -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in 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_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;out vec2 v_tex;out 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;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; -#ifdef GLOBE -if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} -#endif -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:Zn(`#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;in vec2 v_data0;in 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=texture(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);}fragColor=color*(alpha*opacity*fade_opacity); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in 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_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;out vec2 v_data0;out 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;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; -#ifdef GLOBE -if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} -#endif -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:Zn(`#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;in vec4 v_data0;in 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;fragColor=texture(u_texture_icon,tex_icon)*alpha; -#ifdef OVERDRAW_INSPECTOR -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=texture(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);fragColor=color*(alpha*opacity*fade_opacity); -#ifdef OVERDRAW_INSPECTOR -fragColor=vec4(1.0); -#endif -}`,`in vec4 a_pos_offset;in vec4 a_data;in vec3 a_projected_pos;in 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_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;out vec4 v_data0;out 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;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; -#ifdef GLOBE -if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} -#endif -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:Zn("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;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in 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=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && 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);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}","in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out 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=projectTileFor3D(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Zn("in 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() {fragColor=pack(v_depth);}","in vec3 a_pos3d;uniform float u_ele_delta;out 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=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:Zn("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","in vec3 a_pos3d;uniform float u_ele_delta;out 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=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}"),projectionErrorMeasurement:Zn("in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}","in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}"),atmosphere:Zn(`in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758 -);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,"in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}"),sky:Zn("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor=mix(fragColor,vec4(vec3(0.0),0.0),u_sky_blend);}","in vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function Zn(z,l){let m=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,T=l.match(/in ([\w]+) ([\w]+)/g),P=z.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),V=l.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),W=V?V.concat(P):P,te={};return{fragmentSource:z=z.replace(m,(se,fe,ye,Re,Me)=>(te[Me]=!0,fe==="define"?` -#ifndef HAS_UNIFORM_u_${Me} -in ${ye} ${Re} ${Me}; -#else -uniform ${ye} ${Re} u_${Me}; -#endif -`:` -#ifdef HAS_UNIFORM_u_${Me} - ${ye} ${Re} ${Me} = u_${Me}; -#endif -`)),vertexSource:l=l.replace(m,(se,fe,ye,Re,Me)=>{let je=Re==="float"?"vec2":"vec4",tt=Me.match(/color/)?"color":je;return te[Me]?fe==="define"?` -#ifndef HAS_UNIFORM_u_${Me} -uniform lowp float u_${Me}_t; -in ${ye} ${je} a_${Me}; -out ${ye} ${Re} ${Me}; -#else -uniform ${ye} ${Re} u_${Me}; -#endif -`:tt==="vec4"?` -#ifndef HAS_UNIFORM_u_${Me} - ${Me} = a_${Me}; -#else - ${ye} ${Re} ${Me} = u_${Me}; -#endif -`:` -#ifndef HAS_UNIFORM_u_${Me} - ${Me} = unpack_mix_${tt}(a_${Me}, u_${Me}_t); -#else - ${ye} ${Re} ${Me} = u_${Me}; -#endif -`:fe==="define"?` -#ifndef HAS_UNIFORM_u_${Me} -uniform lowp float u_${Me}_t; -in ${ye} ${je} a_${Me}; -#else -uniform ${ye} ${Re} u_${Me}; -#endif -`:tt==="vec4"?` -#ifndef HAS_UNIFORM_u_${Me} - ${ye} ${Re} ${Me} = a_${Me}; -#else - ${ye} ${Re} ${Me} = u_${Me}; -#endif -`:` -#ifndef HAS_UNIFORM_u_${Me} - ${ye} ${Re} ${Me} = unpack_mix_${tt}(a_${Me}, u_${Me}_t); -#else - ${ye} ${Re} ${Me} = u_${Me}; -#endif -`}),staticAttributes:T,staticUniforms:W}}class Gs{constructor(l,m,T){this.vertexBuffer=l,this.indexBuffer=m,this.segments=T}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var ec=o.aV([{name:"a_pos",type:"Int16",components:2}]);let sl="#define PROJECTION_MERCATOR",Ol="mercator";class vl{constructor(){this._cachedMesh=null}get name(){return"mercator"}get useSubdivision(){return!1}get shaderVariantName(){return Ol}get shaderDefine(){return sl}get shaderPreludeCode(){return _a.projectionMercator}get vertexShaderPreludeCode(){return _a.projectionMercator.vertexSource}get subdivisionGranularity(){return o.aW.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(l){}getMeshFromTileID(l,m,T,P,V){if(this._cachedMesh)return this._cachedMesh;let W=new o.aX;W.emplaceBack(0,0),W.emplaceBack(o.a5,0),W.emplaceBack(0,o.a5),W.emplaceBack(o.a5,o.a5);let te=l.createVertexBuffer(W,ec.members),se=o.aY.simpleSegment(0,0,4,2),fe=new o.aZ;fe.emplaceBack(1,0,2),fe.emplaceBack(1,2,3);let ye=l.createIndexBuffer(fe);return this._cachedMesh=new Gs(te,ye,se),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(l){}}class Pu{constructor(l=0,m=0,T=0,P=0){if(isNaN(l)||l<0||isNaN(m)||m<0||isNaN(T)||T<0||isNaN(P)||P<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=l,this.bottom=m,this.left=T,this.right=P}interpolate(l,m,T){return m.top!=null&&l.top!=null&&(this.top=o.G.number(l.top,m.top,T)),m.bottom!=null&&l.bottom!=null&&(this.bottom=o.G.number(l.bottom,m.bottom,T)),m.left!=null&&l.left!=null&&(this.left=o.G.number(l.left,m.left,T)),m.right!=null&&l.right!=null&&(this.right=o.G.number(l.right,m.right,T)),this}getCenter(l,m){let T=o.ao((this.left+l-this.right)/2,0,l),P=o.ao((this.top+m-this.bottom)/2,0,m);return new o.P(T,P)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new Pu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function tu(z,l){if(!z.renderWorldCopies||z.lngRange)return;let m=l.lng-z.center.lng;l.lng+=m>180?-360:m<-180?360:0}function La(z){return Math.max(0,Math.floor(z))}class xl{constructor(l,m){var T;this.applyConstrain=(P,V)=>this._constrainOverride!==null?this._constrainOverride(P,V):this._callbacks.defaultConstrain(P,V),this._callbacks=l,this._tileSize=512,this._renderWorldCopies=m?.renderWorldCopies===void 0||!!m?.renderWorldCopies,this._minZoom=m?.minZoom||0,this._maxZoom=m?.maxZoom||22,this._minPitch=m?.minPitch==null?0:m?.minPitch,this._maxPitch=m?.maxPitch==null?60:m?.maxPitch,this._constrainOverride=(T=m?.constrainOverride)!==null&&T!==void 0?T:null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new o.V(0,0),this._elevation=0,this._zoom=0,this._tileZoom=La(this._zoom),this._scale=o.ar(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new Pu,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(l,m,T){this._constrainOverride=l.constrainOverride,this._latRange=l.latRange,this._lngRange=l.lngRange,this._width=l.width,this._height=l.height,this._center=l.center,this._elevation=l.elevation,this._minElevationForCurrentTile=l.minElevationForCurrentTile,this._zoom=l.zoom,this._tileZoom=La(this._zoom),this._scale=o.ar(this._zoom),this._bearingInRadians=l.bearingInRadians,this._fovInRadians=l.fovInRadians,this._pitchInRadians=l.pitchInRadians,this._rollInRadians=l.rollInRadians,this._unmodified=l.unmodified,this._edgeInsets=new Pu(l.padding.top,l.padding.bottom,l.padding.left,l.padding.right),this._minZoom=l.minZoom,this._maxZoom=l.maxZoom,this._minPitch=l.minPitch,this._maxPitch=l.maxPitch,this._renderWorldCopies=l.renderWorldCopies,this._cameraToCenterDistance=l.cameraToCenterDistance,this._nearZ=l.nearZ,this._farZ=l.farZ,this._autoCalculateNearFarZ=!T&&l.autoCalculateNearFarZ,m&&this.constrainInternal(),this._calcMatrices()}get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(l){this._minElevationForCurrentTile=l}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(l){this._minZoom!==l&&(this._minZoom=l,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(l){this._minPitch!==l&&(this._minPitch=l,this.setPitch(Math.max(this.pitch,l)))}get maxPitch(){return this._maxPitch}setMaxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.setPitch(Math.min(this.pitch,l)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get constrainOverride(){return this._constrainOverride}setConstrainOverride(l){l===void 0&&(l=null),this._constrainOverride!==l&&(this._constrainOverride=l,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new o.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(l){let m=o.W(l,-180,180)*Math.PI/180;var T,P,V,W,te,se,fe,ye,Re;this._bearingInRadians!==m&&(this._unmodified=!1,this._bearingInRadians=m,this._calcMatrices(),this._rotationMatrix=c(),T=this._rotationMatrix,V=-this._bearingInRadians,W=(P=this._rotationMatrix)[0],te=P[1],se=P[2],fe=P[3],ye=Math.sin(V),Re=Math.cos(V),T[0]=W*Re+se*ye,T[1]=te*Re+fe*ye,T[2]=W*-ye+se*Re,T[3]=te*-ye+fe*Re)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(l){let m=o.ao(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==m&&(this._unmodified=!1,this._pitchInRadians=m,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(l){let m=l/180*Math.PI;this._rollInRadians!==m&&(this._unmodified=!1,this._rollInRadians=m,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return o.a_(this._fovInRadians)}setFov(l){l=o.ao(l,.1,150),this.fov!==l&&(this._unmodified=!1,this._fovInRadians=o.aq(l),this._calcMatrices())}get zoom(){return this._zoom}setZoom(l){let m=this.applyConstrain(this._center,l).zoom;this._zoom!==m&&(this._unmodified=!1,this._zoom=m,this._tileZoom=Math.max(0,Math.floor(m)),this._scale=o.ar(m),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(l){l!==this._elevation&&(this._elevation=l,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(l,m){this._autoCalculateNearFarZ=!1,this._nearZ=l,this._farZ=m,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,m,T){this._unmodified=!1,this._edgeInsets.interpolate(l,m,T),this.constrainInternal(),this._calcMatrices()}resize(l,m,T=!0){this._width=l,this._height=m,T&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){return this._latRange&&this._latRange.length===2&&this._lngRange&&this._lngRange.length===2?new Ho([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]]):null}setMaxBounds(l){l?(this._lngRange=[l.getWest(),l.getEast()],this._latRange=[l.getSouth(),l.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-o.ap,o.ap])}getCameraQueryGeometry(l,m){if(m.length===1)return[m[0],l];{let{minX:T,minY:P,maxX:V,maxY:W}=o.ac.fromPoints(m).extend(l);return[new o.P(T,P),new o.P(V,P),new o.P(V,W),new o.P(T,W),new o.P(T,P)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let l=this._unmodified,{center:m,zoom:T}=this.applyConstrain(this.center,this.zoom);this.setCenter(m),this.setZoom(T),this._unmodified=l,this._constraining=!1}_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let l=o.as(new Float64Array(16));o.Q(l,l,[this._width/2,-this._height/2,1]),o.O(l,l,[1,-1,0]),this._clipSpaceToPixelsMatrix=l,l=o.as(new Float64Array(16)),o.Q(l,l,[1,-1,1]),o.O(l,l,[-1,-1,0]),o.Q(l,l,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=l,this._cameraToCenterDistance=.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(l,m,T,P){let V=T!==void 0?T:this.bearing,W=P=P!==void 0?P:this.pitch,{distanceToCenter:te,clampedElevation:se}=this._distanceToCenterFromAltElevationPitch(m,this.elevation,W),{x:fe,y:ye}=Us(W,V),Re=o.ab.fromLngLat(l,m),Me,je,tt=o.a$(1,Re.y),yt=0;do{if(yt+=1,yt>10)break;je=te/tt,Me=new o.ab(Re.x+fe*je,Re.y+ye*je),tt=1/Me.meterInMercatorCoordinateUnits()}while(Math.abs(te-je*tt)>1e-12);return{center:Me.toLngLat(),elevation:se,zoom:o.au(this.height/2/Math.tan(this.fovInRadians/2)/je/this.tileSize)}}recalculateZoomAndCenter(l){if(this.elevation-l==0)return;let m=1/this.worldSize,T=o.at(1,this.center.lat)*this.worldSize,P=o.ab.fromLngLat(this.center,this.elevation),V=P.x/m,W=P.y/m,te=P.z/m,se=this.pitch,fe=this.bearing,{x:ye,y:Re,z:Me}=Us(se,fe),je=this.cameraToCenterDistance,tt=V+je*-ye,yt=W+je*-Re,At=te+je*Me,{distanceToCenter:vt,clampedElevation:Lt}=this._distanceToCenterFromAltElevationPitch(At/T,l,se),Kt=vt*T,It=new o.ab((tt+ye*Kt)*m,(yt+Re*Kt)*m,0).toLngLat(),Xt=o.at(1,It.lat),Rt=o.au(this.height/2/Math.tan(this.fovInRadians/2)/vt/Xt/this.tileSize);this._elevation=Lt,this._center=It,this.setZoom(Rt)}_distanceToCenterFromAltElevationPitch(l,m,T){let P=-Math.cos(o.aq(T)),V=l-m,W,te=m;return P*V>=0||Math.abs(P)<.1?(W=1e4,te=l+W*P):W=-V/P,{distanceToCenter:W,clampedElevation:te}}getCameraPoint(){let l=Math.tan(this.pitchInRadians)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new o.P(l*Math.sin(this.rollInRadians),l*Math.cos(this.rollInRadians)))}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this._cameraToCenterDistance/this._pixelPerMeter+this.elevation}getCameraLngLat(){let l=o.at(1,this.center.lat)*this.worldSize;return wr(this.center,this.elevation,this.pitch,this.bearing,this.cameraToCenterDistance/l).toLngLat()}getMercatorTileCoordinates(l){if(!l)return[0,0,1,1];let m=l.canonical.z>=0?1<this.max[0]||l.aabb.min[1]>this.max[1]||l.aabb.min[2]>this.max[2]||l.aabb.max[0]0?(m+=l[P]*this.min[P],T+=l[P]*this.max[P]):(T+=l[P]*this.min[P],m+=l[P]*this.max[P]);return m>=0?2:T<0?0:1}}class Gh{distanceToTile2d(l,m,T,P){let V=P.distanceX([l,m]),W=P.distanceY([l,m]);return Math.hypot(V,W)}getWrap(l,m,T){return T}getTileBoundingVolume(l,m,T,P){var V,W;let te=0,se=0;if(P?.terrain){let ye=new o.a2(l.z,m,l.z,l.x,l.y),Re=P.terrain.getMinMaxElevation(ye);te=(V=Re.minElevation)!==null&&V!==void 0?V:Math.min(0,T),se=(W=Re.maxElevation)!==null&&W!==void 0?W:Math.max(0,T)}let fe=1<P}allowWorldCopies(){return!0}prepareNextFrame(){}}class Ec{constructor(l,m,T){this.points=l,this.planes=m,this.aabb=T}static fromInvProjectionMatrix(l,m=1,T=0,P,V){let W=V?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],te=Math.pow(2,T),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(Me=>function(je,tt,yt,At){let vt=o.aI([],je,tt),Lt=1/vt[3]/yt*At;return o.b7(vt,vt,[Lt,Lt,1/vt[3],Lt])}(Me,l,m,te));P&&function(Me,je,tt,yt){let At=yt?4:0,vt=yt?0:4,Lt=0,Kt=[],It=[];for(let zt=0;zt<4;zt++){let jt=o.b3([],Me[zt+vt],Me[zt+At]),br=o.b8(jt);o.b0(jt,jt,1/br),Kt.push(br),It.push(jt)}for(let zt=0;zt<4;zt++){let jt=o.b9(Me[zt+At],It[zt],tt);Lt=jt!==null&&jt>=0?Math.max(Lt,jt):Math.max(Lt,Kt[zt])}let Xt=function(zt,jt){let br=o.b3([],zt[jt[0]],zt[jt[1]]),Cr=o.b3([],zt[jt[2]],zt[jt[1]]),Rr=[0,0,0,0];return o.b4(Rr,o.b5([],br,Cr)),Rr[3]=-o.b6(Rr,zt[jt[0]]),Rr}(Me,je),Rt=function(zt,jt){let br=o.ba(zt),Cr=o.bb([],zt,1/br),Rr=o.b3([],jt,o.b0([],Cr,o.b6(jt,Cr))),Pr=o.ba(Rr);if(Pr>0){let Ai=Math.sqrt(1-Cr[3]*Cr[3]),_i=o.b0([],Cr,-Cr[3]),hi=o.b1([],_i,o.b0([],Rr,Ai/Pr));return o.bc(jt,hi)}return null}(tt,Xt);if(Rt!==null){let zt=Rt/o.b6(It[0],Xt);Lt=Math.min(Lt,zt)}for(let zt=0;zt<4;zt++){let jt=Math.min(Lt,Kt[zt]);Me[zt+vt]=[Me[zt+At][0]+It[zt][0]*jt,Me[zt+At][1]+It[zt][1]*jt,Me[zt+At][2]+It[zt][2]*jt,1]}}(se,W[0],P,V);let fe=W.map(Me=>{let je=o.b3([],se[Me[0]],se[Me[1]]),tt=o.b3([],se[Me[2]],se[Me[1]]),yt=o.b4([],o.b5([],je,tt)),At=-o.b6(yt,se[Me[1]]);return yt.concat(At)}),ye=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY],Re=[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY];for(let Me of se)for(let je=0;je<3;je++)ye[je]=Math.min(ye[je],Me[je]),Re[je]=Math.max(Re[je],Me[je]);return new Ec(se,fe,new Ws(ye,Re))}}class Gf{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(l){this._helper.setMinZoom(l)}setMaxZoom(l){this._helper.setMaxZoom(l)}setMinPitch(l){this._helper.setMinPitch(l)}setMaxPitch(l){this._helper.setMaxPitch(l)}setRenderWorldCopies(l){this._helper.setRenderWorldCopies(l)}setBearing(l){this._helper.setBearing(l)}setPitch(l){this._helper.setPitch(l)}setRoll(l){this._helper.setRoll(l)}setFov(l){this._helper.setFov(l)}setZoom(l){this._helper.setZoom(l)}setCenter(l){this._helper.setCenter(l)}setElevation(l){this._helper.setElevation(l)}setMinElevationForCurrentTile(l){this._helper.setMinElevationForCurrentTile(l)}setPadding(l){this._helper.setPadding(l)}interpolatePadding(l,m,T){return this._helper.interpolatePadding(l,m,T)}isPaddingEqual(l){return this._helper.isPaddingEqual(l)}resize(l,m,T=!0){this._helper.resize(l,m,T)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(l){this._helper.setMaxBounds(l)}setConstrainOverride(l){this._helper.setConstrainOverride(l)}overrideNearFarZ(l,m){this._helper.overrideNearFarZ(l,m)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(l){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),l)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(l,m){}constructor(l){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this.defaultConstrain=(m,T)=>{T=o.ao(+T,this.minZoom,this.maxZoom);let P={center:new o.V(m.lng,m.lat),zoom:T},V=this._helper._lngRange;if(!this._helper._renderWorldCopies&&V===null){let It=179.9999999999;V=[-It,It]}let W=this.tileSize*o.ar(P.zoom),te=0,se=W,fe=0,ye=W,Re=0,Me=0,{x:je,y:tt}=this.size;if(this._helper._latRange){let It=this._helper._latRange;te=o.X(It[1])*W,se=o.X(It[0])*W,se-tese&&(Lt=se-It)}if(V){let It=(fe+ye)/2,Xt=yt;this._helper._renderWorldCopies&&(Xt=o.W(yt,It-W/2,It+W/2));let Rt=je/2;Xt-Rtye&&(vt=ye-Rt)}if(vt!==void 0||Lt!==void 0){let It=new o.P(vt??yt,Lt??At);P.center=Wn(W,It).wrap()}return P},this.applyConstrain=(m,T)=>this._helper.applyConstrain(m,T),this._helper=new xl({calcMatrices:()=>{this._calcMatrices()},defaultConstrain:(m,T)=>this.defaultConstrain(m,T)},l),this._coveringTilesDetailsProvider=new Gh}clone(){let l=new Gf;return l.apply(this),l}apply(l,m,T){this._helper.apply(l,m,T)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(l){let m=[new o.bd(0,l)];if(this._helper._renderWorldCopies){let T=this.screenPointToMercatorCoordinate(new o.P(0,0)),P=this.screenPointToMercatorCoordinate(new o.P(this._helper._width,0)),V=this.screenPointToMercatorCoordinate(new o.P(this._helper._width,this._helper._height)),W=this.screenPointToMercatorCoordinate(new o.P(0,this._helper._height)),te=Math.floor(Math.min(T.x,P.x,V.x,W.x)),se=Math.floor(Math.max(T.x,P.x,V.x,W.x)),fe=1;for(let ye=te-fe;ye<=se+fe;ye++)ye!==0&&m.push(new o.bd(ye,l))}return m}getCameraFrustum(){return Ec.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(l){let m=this.screenPointToLocation(this.centerPoint,l),T=l?l.getElevationForLngLatZoom(m,this._helper._tileZoom):0;this._helper.recalculateZoomAndCenter(T)}setLocationAtPoint(l,m){let T=o.at(this.elevation,this.center.lat),P=this.screenPointToMercatorCoordinateAtZ(m,T),V=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,T),W=o.ab.fromLngLat(l),te=new o.ab(W.x-(P.x-V.x),W.y-(P.y-V.y));this.setCenter(te?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(l,m){return m?this.coordinatePoint(o.ab.fromLngLat(l),m.getElevationForLngLat(l),this._pixelMatrix3D):this.coordinatePoint(o.ab.fromLngLat(l))}screenPointToLocation(l,m){var T;return(T=this.screenPointToMercatorCoordinate(l,m))===null||T===void 0?void 0:T.toLngLat()}screenPointToMercatorCoordinate(l,m){if(m){let T=m.pointCoordinate(l);if(T!=null)return T}return this.screenPointToMercatorCoordinateAtZ(l)}screenPointToMercatorCoordinateAtZ(l,m){let T=m||0,P=[l.x,l.y,0,1],V=[l.x,l.y,1,1];o.aI(P,P,this._pixelMatrixInverse),o.aI(V,V,this._pixelMatrixInverse);let W=P[3],te=V[3],se=P[1]/W,fe=V[1]/te,ye=P[2]/W,Re=V[2]/te,Me=ye===Re?0:(T-ye)/(Re-ye);return new o.ab(o.G.number(P[0]/W,V[0]/te,Me)/this.worldSize,o.G.number(se,fe,Me)/this.worldSize,T)}coordinatePoint(l,m=0,T=this._pixelMatrix){let P=[l.x*this.worldSize,l.y*this.worldSize,m,1];return o.aI(P,P,T),new o.P(P[0]/P[3],P[1]/P[3])}getBounds(){let l=Math.max(0,this._helper._height/2-bs(this));return new Ho().extend(this.screenPointToLocation(new o.P(0,l))).extend(this.screenPointToLocation(new o.P(this._helper._width,l))).extend(this.screenPointToLocation(new o.P(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new o.P(0,this._helper._height)))}isPointOnMapSurface(l,m){return m?m.pointCoordinate(l)!=null:l.y>this.height/2-bs(this)}calculatePosMatrix(l,m=!1,T){var P;let V=(P=l.key)!==null&&P!==void 0?P:o.be(l.wrap,l.canonical.z,l.canonical.z,l.canonical.x,l.canonical.y),W=m?this._alignedPosMatrixCache:this._posMatrixCache;if(W.has(V)){let fe=W.get(V);return T?fe.f32:fe.f64}let te=go(l,this.worldSize);o.S(te,m?this._alignedProjMatrix:this._viewProjMatrix,te);let se={f64:te,f32:new Float32Array(te)};return W.set(V,se),T?se.f32:se.f64}calculateFogMatrix(l){let m=l.key,T=this._fogMatrixCacheF32;if(T.has(m))return T.get(m);let P=go(l,this.worldSize);return o.S(P,this._fogMatrix,P),T.set(m,new Float32Array(P)),T.get(m)}calculateCenterFromCameraLngLatAlt(l,m,T,P){return this._helper.calculateCenterFromCameraLngLatAlt(l,m,T,P)}_calculateNearFarZIfNeeded(l,m,T){if(!this._helper.autoCalculateNearFarZ)return;let P=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),V=l-P*this._helper._pixelPerMeter/Math.cos(m),W=P<0?V:l,te=Math.PI/2+this.pitchInRadians,se=o.aq(this.fov)*(Math.abs(Math.cos(o.aq(this.roll)))*this.height+Math.abs(Math.sin(o.aq(this.roll)))*this.width)/this.height*(.5+T.y/this.height),fe=Math.sin(se)*W/Math.sin(o.ao(Math.PI-te-se,.01,Math.PI-.01)),ye=bs(this),Re=Math.atan(ye/this._helper.cameraToCenterDistance),Me=o.aq(.75),je=Re>Me?2*Re*(.5+T.y/(2*ye)):Me,tt=Math.sin(je)*W/Math.sin(o.ao(Math.PI-te-je,.01,Math.PI-.01)),yt=Math.min(fe,tt);this._helper._farZ=1.01*(Math.cos(Math.PI/2-m)*yt+W),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;let l=this.centerOffset,m=fn(this.worldSize,this.center),T=m.x,P=m.y;this._helper._pixelPerMeter=o.at(1,this.center.lat)*this.worldSize;let V=o.aq(Math.min(this.pitch,Wi)),W=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(V)),te;this._calculateNearFarZIfNeeded(W,V,l),te=new Float64Array(16),o.bf(te,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),o.aC(this._invProjMatrix,te),te[8]=2*-l.x/this._helper._width,te[9]=2*l.y/this._helper._height,this._projectionMatrix=o.bg(te),o.Q(te,te,[1,-1,1]),o.O(te,te,[0,0,-this._helper.cameraToCenterDistance]),o.bh(te,te,-this.rollInRadians),o.bi(te,te,this.pitchInRadians),o.bh(te,te,-this.bearingInRadians),o.O(te,te,[-T,-P,0]),this._mercatorMatrix=o.Q([],te,[this.worldSize,this.worldSize,this.worldSize]),o.Q(te,te,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=o.S(new Float64Array(16),this.clipSpaceToPixelsMatrix,te),o.O(te,te,[0,0,-this.elevation]),this._viewProjMatrix=te,this._invViewProjMatrix=o.aC([],te);let se=[0,0,-1,1];o.aI(se,se,this._invViewProjMatrix),this._cameraPosition=[se[0]/se[3],se[1]/se[3],se[2]/se[3]],this._fogMatrix=new Float64Array(16),o.bf(this._fogMatrix,this.fovInRadians,this.width/this.height,W,this._helper._farZ),this._fogMatrix[8]=2*-l.x/this.width,this._fogMatrix[9]=2*l.y/this.height,o.Q(this._fogMatrix,this._fogMatrix,[1,-1,1]),o.O(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),o.bh(this._fogMatrix,this._fogMatrix,-this.rollInRadians),o.bi(this._fogMatrix,this._fogMatrix,this.pitchInRadians),o.bh(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),o.O(this._fogMatrix,this._fogMatrix,[-T,-P,0]),o.Q(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),o.O(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=o.S(new Float64Array(16),this.clipSpaceToPixelsMatrix,te);let fe=this._helper._width%2/2,ye=this._helper._height%2/2,Re=Math.cos(this.bearingInRadians),Me=Math.sin(-this.bearingInRadians),je=T-Math.round(T)+Re*fe+Me*ye,tt=P-Math.round(P)+Re*ye+Me*fe,yt=new Float64Array(te);if(o.O(yt,yt,[je>.5?je-1:je,tt>.5?tt-1:tt,0]),this._alignedProjMatrix=yt,te=o.aC(new Float64Array(16),this._pixelMatrix),!te)throw new Error("failed to invert matrix");this._pixelMatrixInverse=te,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let l=this.screenPointToMercatorCoordinate(new o.P(0,0)),m=[l.x*this.worldSize,l.y*this.worldSize,0,1];return o.aI(m,m,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){let l=o.at(1,this.center.lat)*this.worldSize;return wr(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/l).toLngLat()}lngLatToCameraDepth(l,m){let T=o.ab.fromLngLat(l),P=[T.x*this.worldSize,T.y*this.worldSize,m,1];return o.aI(P,P,this._viewProjMatrix),P[2]/P[3]}getProjectionData(l){let{overscaledTileID:m,aligned:T,applyTerrainMatrix:P}=l,V=this._helper.getMercatorTileCoordinates(m),W=m?this.calculatePosMatrix(m,T,!0):null,te;return te=m&&m.terrainRttPosMatrix32f&&P?m.terrainRttPosMatrix32f:W||o.bj(),{mainMatrix:te,tileMercatorCoords:V,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:te}}isLocationOccluded(l){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(l,m,T){return 1}transformLightDirection(l){return o.b2(l)}getRayDirectionFromPixel(l){throw new Error("Not implemented.")}projectTileCoordinates(l,m,T,P){let V=this.calculatePosMatrix(T),W;P?(W=[l,m,P(l,m),1],o.aI(W,W,V)):(W=[l,m,0,1],md(W,W,V));let te=W[3];return{point:new o.P(W[0]/te,W[1]/te),signedDistanceFromCamera:te,isOccluded:!1}}populateCache(l){for(let m of l)this.calculatePosMatrix(m)}getMatrixForModel(l,m){let T=o.ab.fromLngLat(l,m),P=T.meterInMercatorCoordinateUnits(),V=o.bk();return o.O(V,V,[T.x,T.y,T.z]),o.bh(V,V,Math.PI),o.bi(V,V,Math.PI/2),o.Q(V,V,[-P,P,P]),V}getProjectionDataForCustomLayer(l=!0){let m=new o.a2(0,0,0,0,0),T=this.getProjectionData({overscaledTileID:m,applyGlobeMatrix:l}),P=go(m,this.worldSize);o.S(P,this._viewProjMatrix,P),T.tileMercatorCoords=[0,0,1,1];let V=[o.a5,o.a5,this.worldSize/this._helper.pixelsPerMeter],W=o.bl();return o.Q(W,P,V),T.fallbackMatrix=W,T.mainMatrix=W,T}getFastPathSimpleProjectionMatrix(l){return this.calculatePosMatrix(l)}}function Wh(){o.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}function Hd(z){if(z.useSlerp)if(z.k<1){let l=o.bm(z.startEulerAngles.roll,z.startEulerAngles.pitch,z.startEulerAngles.bearing),m=o.bm(z.endEulerAngles.roll,z.endEulerAngles.pitch,z.endEulerAngles.bearing),T=new Float64Array(4);o.bn(T,l,m,z.k);let P=o.bo(T);z.tr.setRoll(P.roll),z.tr.setPitch(P.pitch),z.tr.setBearing(P.bearing)}else z.tr.setRoll(z.endEulerAngles.roll),z.tr.setPitch(z.endEulerAngles.pitch),z.tr.setBearing(z.endEulerAngles.bearing);else z.tr.setRoll(o.G.number(z.startEulerAngles.roll,z.endEulerAngles.roll,z.k)),z.tr.setPitch(o.G.number(z.startEulerAngles.pitch,z.endEulerAngles.pitch,z.k)),z.tr.setBearing(o.G.number(z.startEulerAngles.bearing,z.endEulerAngles.bearing,z.k))}function Cp(z,l,m,T,P){let V=P.padding,W=fn(P.worldSize,m.getNorthWest()),te=fn(P.worldSize,m.getNorthEast()),se=fn(P.worldSize,m.getSouthEast()),fe=fn(P.worldSize,m.getSouthWest()),ye=o.aq(-T),Re=W.rotate(ye),Me=te.rotate(ye),je=se.rotate(ye),tt=fe.rotate(ye),yt=new o.P(Math.max(Re.x,Me.x,tt.x,je.x),Math.max(Re.y,Me.y,tt.y,je.y)),At=new o.P(Math.min(Re.x,Me.x,tt.x,je.x),Math.min(Re.y,Me.y,tt.y,je.y)),vt=yt.sub(At),Lt=(P.width-(V.left+V.right+l.left+l.right))/vt.x,Kt=(P.height-(V.top+V.bottom+l.top+l.bottom))/vt.y;if(Kt<0||Lt<0)return void Wh();let It=Math.min(o.au(P.scale*Math.min(Lt,Kt)),z.maxZoom),Xt=o.P.convert(z.offset),Rt=new o.P((l.left-l.right)/2,(l.top-l.bottom)/2).rotate(o.aq(T)),zt=Xt.add(Rt).mult(P.scale/o.ar(It));return{center:Wn(P.worldSize,W.add(se).div(2).sub(zt)),zoom:It,bearing:T}}class Af{get useGlobeControls(){return!1}handlePanInertia(l,m){let T=l.mag(),P=Math.abs(bs(m));return{easingOffset:l.mult(Math.min(.75*P/T,1)),easingCenter:m.center}}handleMapControlsRollPitchBearingZoom(l,m){l.bearingDelta&&m.setBearing(m.bearing+l.bearingDelta),l.pitchDelta&&m.setPitch(m.pitch+l.pitchDelta),l.rollDelta&&m.setRoll(m.roll+l.rollDelta),l.zoomDelta&&m.setZoom(m.zoom+l.zoomDelta)}handleMapControlsPan(l,m,T){l.around.distSqr(m.centerPoint)<.01||m.setLocationAtPoint(T,l.around)}cameraForBoxAndBearing(l,m,T,P,V){return Cp(l,m,T,P,V)}handleJumpToCenterZoom(l,m){l.zoom!==(m.zoom!==void 0?+m.zoom:l.zoom)&&l.setZoom(+m.zoom),m.center!==void 0&&l.setCenter(o.V.convert(m.center))}handleEaseTo(l,m){let T=l.zoom,P=l.padding,V={roll:l.roll,pitch:l.pitch,bearing:l.bearing},W={roll:m.roll===void 0?l.roll:m.roll,pitch:m.pitch===void 0?l.pitch:m.pitch,bearing:m.bearing===void 0?l.bearing:m.bearing},te=m.zoom!==void 0,se=!l.isPaddingEqual(m.padding),fe=!1,ye=te?+m.zoom:l.zoom,Re=l.centerPoint.add(m.offsetAsPoint),Me=l.screenPointToLocation(Re),{center:je,zoom:tt}=l.applyConstrain(o.V.convert(m.center||Me),ye??T);tu(l,je);let yt=fn(l.worldSize,Me),At=fn(l.worldSize,je).sub(yt),vt=o.ar(tt-T);return fe=tt!==T,{easeFunc:Lt=>{if(fe&&l.setZoom(o.G.number(T,tt,Lt)),o.bp(V,W)||Hd({startEulerAngles:V,endEulerAngles:W,tr:l,k:Lt,useSlerp:V.roll!=W.roll}),se&&(l.interpolatePadding(P,m.padding,Lt),Re=l.centerPoint.add(m.offsetAsPoint)),m.around)l.setLocationAtPoint(m.around,m.aroundPoint);else{let Kt=o.ar(l.zoom-T),It=tt>T?Math.min(2,vt):Math.max(.5,vt),Xt=Math.pow(It,1-Lt),Rt=Wn(l.worldSize,yt.add(At.mult(Lt*Xt)).mult(Kt));l.setLocationAtPoint(l.renderWorldCopies?Rt.wrap():Rt,Re)}},isZooming:fe,elevationCenter:je}}handleFlyTo(l,m){let T=m.zoom!==void 0,P=l.zoom,V=l.applyConstrain(o.V.convert(m.center||m.locationAtOffset),T?+m.zoom:P),W=V.center,te=V.zoom;tu(l,W);let se=fn(l.worldSize,m.locationAtOffset),fe=fn(l.worldSize,W).sub(se),ye=fe.mag(),Re=o.ar(te-P),Me;if(m.minZoom!==void 0){let je=Math.min(+m.minZoom,P,te),tt=l.applyConstrain(W,je).zoom;Me=o.ar(tt-P)}return{easeFunc:(je,tt,yt,At)=>{l.setZoom(je===1?te:P+o.au(tt));let vt=je===1?W:Wn(l.worldSize,se.add(fe.mult(yt)).mult(tt));l.setLocationAtPoint(l.renderWorldCopies?vt.wrap():vt,At)},scaleOfZoom:Re,targetCenter:W,scaleOfMinZoom:Me,pixelPathLength:ye}}}class ia{constructor(l,m,T){this.blendFunction=l,this.blendColor=m,this.mask=T}}ia.Replace=[1,0],ia.disabled=new ia(ia.Replace,o.bq.transparent,[!1,!1,!1,!1]),ia.unblended=new ia(ia.Replace,o.bq.transparent,[!0,!0,!0,!0]),ia.alphaBlended=new ia([1,771],o.bq.transparent,[!0,!0,!0,!0]);let mh=2305;class ms{constructor(l,m,T){this.enable=l,this.mode=m,this.frontFace=T}}ms.disabled=new ms(!1,1029,mh),ms.backCCW=new ms(!0,1029,mh),ms.frontCCW=new ms(!0,1028,mh);class Ao{constructor(l,m,T){this.func=l,this.mask=m,this.range=T}}Ao.ReadOnly=!1,Ao.ReadWrite=!0,Ao.disabled=new Ao(519,Ao.ReadOnly,[0,1]);let qh=7680;class us{constructor(l,m,T,P,V,W){this.test=l,this.ref=m,this.mask=T,this.fail=P,this.depthFail=V,this.pass=W}}us.disabled=new us({func:519,mask:0},0,0,qh,qh,qh);let Gd=new WeakMap;function q(z){var l;if(Gd.has(z))return Gd.get(z);{let m=(l=z.getParameter(z.VERSION))===null||l===void 0?void 0:l.startsWith("WebGL 2.0");return Gd.set(z,m),m}}class oe{get awaitingQuery(){return!!this._readbackQueue}constructor(l){this._readbackWaitFrames=4,this._measureWaitFrames=6,this._texWidth=1,this._texHeight=1,this._measuredError=0,this._updateCount=0,this._lastReadbackFrame=-1e3,this._readbackQueue=null,this._cachedRenderContext=l;let m=l.context,T=m.gl;this._texFormat=T.RGBA,this._texType=T.UNSIGNED_BYTE;let P=new o.aX;P.emplaceBack(-1,-1),P.emplaceBack(2,-1),P.emplaceBack(-1,2);let V=new o.aZ;V.emplaceBack(0,1,2),this._fullscreenTriangle=new Gs(m.createVertexBuffer(P,ec.members),m.createIndexBuffer(V),o.aY.simpleSegment(0,0,P.length,V.length)),this._resultBuffer=new Uint8Array(4),m.activeTexture.set(T.TEXTURE1);let W=T.createTexture();T.bindTexture(T.TEXTURE_2D,W),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_WRAP_S,T.CLAMP_TO_EDGE),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_WRAP_T,T.CLAMP_TO_EDGE),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,T.NEAREST),T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,T.NEAREST),T.texImage2D(T.TEXTURE_2D,0,this._texFormat,this._texWidth,this._texHeight,0,this._texFormat,this._texType,null),this._fbo=m.createFramebuffer(this._texWidth,this._texHeight,!1,!1),this._fbo.colorAttachment.set(W),q(T)&&(this._pbo=T.createBuffer(),T.bindBuffer(T.PIXEL_PACK_BUFFER,this._pbo),T.bufferData(T.PIXEL_PACK_BUFFER,4,T.STREAM_READ),T.bindBuffer(T.PIXEL_PACK_BUFFER,null))}destroy(){let l=this._cachedRenderContext.context.gl;this._fullscreenTriangle.destroy(),this._fbo.destroy(),l.deleteBuffer(this._pbo),this._fullscreenTriangle=null,this._fbo=null,this._pbo=null,this._resultBuffer=null}updateErrorLoop(l,m){let T=this._updateCount;return this._readbackQueue?T>=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():T>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(l,m),this._updateCount++,this._measuredError}_bindFramebuffer(){let l=this._cachedRenderContext.context,m=l.gl;l.activeTexture.set(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,this._fbo.colorAttachment.get()),l.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(l,m){let T=this._cachedRenderContext.context,P=T.gl;if(this._bindFramebuffer(),T.viewport.set([0,0,this._texWidth,this._texHeight]),T.clear({color:o.bq.transparent}),this._cachedRenderContext.useProgram("projectionErrorMeasurement").draw(T,P.TRIANGLES,Ao.disabled,us.disabled,ia.unblended,ms.disabled,((V,W)=>({u_input:V,u_output_expected:W}))(l,m),null,null,"$clipping",this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&q(P)){P.bindBuffer(P.PIXEL_PACK_BUFFER,this._pbo),P.readBuffer(P.COLOR_ATTACHMENT0),P.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),P.bindBuffer(P.PIXEL_PACK_BUFFER,null);let V=P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE,0);P.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:V}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){let l=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&q(l)){let m=l.clientWaitSync(this._readbackQueue.sync,0,0);if(m===l.WAIT_FAILED)return o.w("WebGL2 clientWaitSync failed."),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(m===l.TIMEOUT_EXPIRED)return;l.bindBuffer(l.PIXEL_PACK_BUFFER,this._pbo),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),l.bindBuffer(l.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),l.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=oe._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(l){let m=0;return m+=l[0]/256,m+=l[1]/65536,m+=l[2]/16777216,l[3]<127&&(m=-m),m/128}}let pe=o.a5/128;function be(z,l){let m=z.granularity!==void 0?Math.max(z.granularity,1):1,T=m+(z.generateBorders?2:0),P=m+(z.extendToNorthPole||z.generateBorders?1:0)+(z.extendToSouthPole||z.generateBorders?1:0),V=T+1,W=P+1,te=z.generateBorders?-1:0,se=z.generateBorders||z.extendToNorthPole?-1:0,fe=m+(z.generateBorders?1:0),ye=m+(z.generateBorders||z.extendToSouthPole?1:0),Re=V*W,Me=T*P*6,je=V*W>65536;if(je&&l==="16bit")throw new Error("Granularity is too large and meshes would not fit inside 16 bit vertex indices.");let tt=je||l==="32bit",yt=new Int16Array(2*Re),At=0;for(let Kt=se;Kt<=ye;Kt++)for(let It=te;It<=fe;It++){let Xt=It/m*o.a5;It===-1&&(Xt=-pe),It===m+1&&(Xt=o.a5+pe);let Rt=Kt/m*o.a5;Kt===-1&&(Rt=z.extendToNorthPole?o.bs:-pe),Kt===m+1&&(Rt=z.extendToSouthPole?o.bt:o.a5+pe),yt[At++]=Xt,yt[At++]=Rt}let vt=tt?new Uint32Array(Me):new Uint16Array(Me),Lt=0;for(let Kt=0;Kt0}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return"globe"}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(l){this._mercatorProjection.updateGPUdependent(l),this._verticalPerspectiveProjection.updateGPUdependent(l)}getMeshFromTileID(l,m,T,P,V){return this.currentProjection.getMeshFromTileID(l,m,T,P,V)}setProjection(l){this._transitionable.setValue("type",l?.type||"mercator")}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}setErrorQueryLatitudeDegrees(l){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(l),this._mercatorProjection.setErrorQueryLatitudeDegrees(l)}}function Ut(z){let l=li(z.worldSize,z.center.lat);return 2*Math.PI*l}function cr(z,l,m,T,P){let V=1/(1<1e-6){let T=z[0]/m,P=Math.acos(z[2]/m),V=(T>0?P:-P)/Math.PI*180;return new o.V(o.W(V,-180,180),l)}return new o.V(0,l)}function Bi(z){return Math.cos(z*Math.PI/180)}function gn(z,l){let m=Bi(z),T=Bi(l);return o.au(T/m)}function gs(z,l){let m=z.rotate(l.bearingInRadians),T=l.zoom+gn(l.center.lat,0),P=o.bv(1/Bi(l.center.lat),1/Bi(Math.min(Math.abs(l.center.lat),60)),o.by(T,7,3,0,1)),V=360/Ut({worldSize:l.worldSize,center:{lat:l.center.lat}});return new o.V(l.center.lng-m.x*V*P,o.ao(l.center.lat+m.y*V,-o.ap,o.ap))}function Mo(z){let l=.5*z,m=Math.sin(l),T=Math.cos(l);return Math.log(m+T)-Math.log(T-m)}function bl(z,l,m,T){let P=z.lat+m*T;if(Math.abs(m)>1){let V=(Math.sign(z.lat+m)!==Math.sign(z.lat)?-Math.abs(z.lat):Math.abs(z.lat))*Math.PI/180,W=Math.abs(z.lat+m)*Math.PI/180,te=Mo(V+T*(W-V)),se=Mo(V),fe=Mo(W);return new o.V(z.lng+l*((te-se)/(fe-se)),P)}return new o.V(z.lng+l*T,P)}class al{constructor(l){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._boundingVolumeFactory=l}swapBuffers(){if(!this._hadAnyChanges)return;let l=this._cachePrevious;this._cachePrevious=this._cache,this._cache=l,this._cache.clear(),this._hadAnyChanges=!1}getTileBoundingVolume(l,m,T,P){let V=`${l.z}_${l.x}_${l.y}_${P?.terrain?"t":""}`,W=this._cache.get(V);if(W)return W;let te=this._cachePrevious.get(V);if(te)return this._cache.set(V,te),te;let se=this._boundingVolumeFactory(l,m,T,P);return this._cache.set(V,se),this._hadAnyChanges=!0,se}}class Da{constructor(l,m,T,P){this.min=T,this.max=P,this.points=l,this.planes=m}static fromAabb(l,m){let T=[];for(let P=0;P<8;P++)T.push([1&~P?l[0]:m[0],(P>>1&1)==1?m[1]:l[1],(P>>2&1)==1?m[2]:l[2]]);return new Da(T,[[-1,0,0,m[0]],[1,0,0,-l[0]],[0,-1,0,m[1]],[0,1,0,-l[1]],[0,0,-1,m[2]],[0,0,1,-l[2]]],l,m)}static fromCenterSizeAngles(l,m,T){let P=o.bC([],T[0],T[1],T[2]),V=o.bD([],[m[0],0,0],P),W=o.bD([],[0,m[1],0],P),te=o.bD([],[0,0,m[2]],P),se=[...l],fe=[...l];for(let Re=0;Re<8;Re++)for(let Me=0;Me<3;Me++){let je=l[Me]+V[Me]*(1&~Re?-1:1)+W[Me]*((Re>>1&1)==1?1:-1)+te[Me]*((Re>>2&1)==1?1:-1);se[Me]=Math.min(se[Me],je),fe[Me]=Math.max(fe[Me],je)}let ye=[];for(let Re=0;Re<8;Re++){let Me=[...l];o.b1(Me,Me,o.b0([],V,1&~Re?-1:1)),o.b1(Me,Me,o.b0([],W,(Re>>1&1)==1?1:-1)),o.b1(Me,Me,o.b0([],te,(Re>>2&1)==1?1:-1)),ye.push(Me)}return new Da(ye,[[...V,-o.b6(V,ye[0])],[...W,-o.b6(W,ye[0])],[...te,-o.b6(te,ye[0])],[-V[0],-V[1],-V[2],-o.b6(V,ye[7])],[-W[0],-W[1],-W[2],-o.b6(W,ye[7])],[-te[0],-te[1],-te[2],-o.b6(te,ye[7])]],se,fe)}intersectsFrustum(l){let m=!0,T=this.points.length,P=this.planes.length,V=l.planes.length,W=l.points.length;for(let te=0;te=0&&fe++}if(fe===0)return 0;fe=0&&fe++}if(fe===0)return 0}return 1}intersectsPlane(l){let m=this.points.length,T=0;for(let P=0;P=0&&T++}return T===m?2:T===0?0:1}}function Ka(z,l,m){let T=z-l;return T<0?-T:Math.max(0,T-m)}function Yn(z,l,m,T,P){let V=z-m,W;return W=V<0?Math.min(-V,1+V-P):V>1?Math.min(Math.max(V-P,0),1-V):0,Math.max(W,Ka(l,T,P))}class Er{constructor(){this._boundingVolumeCache=new al(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(l,m,T,P){let V=1<4}allowWorldCopies(){return!1}getTileBoundingVolume(l,m,T,P){return this._boundingVolumeCache.getTileBoundingVolume(l,m,T,P)}_computeTileBoundingVolume(l,m,T,P){var V,W;let te=0,se=0;if(P?.terrain){let fe=new o.a2(l.z,m,l.z,l.x,l.y),ye=P.terrain.getMinMaxElevation(fe);te=(V=ye.minElevation)!==null&&V!==void 0?V:Math.min(0,T),se=(W=ye.maxElevation)!==null&&W!==void 0?W:Math.max(0,T)}if(te/=o.bF,se/=o.bF,te+=1,se+=1,l.z<=0)return Da.fromAabb([-se,-se,-se],[se,se,se]);if(l.z===1)return Da.fromAabb([l.x===0?-se:0,l.y===0?0:-se,-se],[l.x===0?0:se,l.y===0?se:0,se]);{let fe=[cr(0,0,l.x,l.y,l.z),cr(o.a5,0,l.x,l.y,l.z),cr(o.a5,o.a5,l.x,l.y,l.z),cr(0,o.a5,l.x,l.y,l.z)],ye=[];for(let Rr of fe)ye.push(o.b0([],Rr,se));if(se!==te)for(let Rr of fe)ye.push(o.b0([],Rr,te));l.y===0&&ye.push([0,1,0]),l.y===(1<=(1<{let P=o.ao(m.lat,-o.ap,o.ap),V=o.ao(+T,this.minZoom+gn(0,P),this.maxZoom);return{center:new o.V(m.lng,P),zoom:V}},this.applyConstrain=(m,T)=>this._helper.applyConstrain(m,T),this._helper=new xl({calcMatrices:()=>{this._calcMatrices()},defaultConstrain:(m,T)=>this.defaultConstrain(m,T)},l),this._coveringTilesDetailsProvider=new Er}clone(){let l=new wi;return l.apply(this),l}apply(l,m){this._globeLatitudeErrorCorrectionRadians=m||0,this._helper.apply(l)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let l=o.bA();return l[0]=this._cameraPosition[0],l[1]=this._cameraPosition[1],l[2]=this._cameraPosition[2],l}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(l){let{overscaledTileID:m,applyGlobeMatrix:T}=l,P=this._helper.getMercatorTileCoordinates(m);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:P,clippingPlane:this._cachedClippingPlane,projectionTransition:T?1:0,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(l){let m=this.pitchInRadians,T=this.cameraToCenterDistance/l,P=Math.sin(m)*T,V=Math.cos(m)*T+1,W=1/Math.sqrt(P*P+V*V)*1,te=-P,se=V,fe=Math.sqrt(te*te+se*se);te/=fe,se/=fe;let ye=[0,te,se];o.bH(ye,ye,[0,0,0],-this.bearingInRadians),o.bI(ye,ye,[0,0,0],-1*this.center.lat*Math.PI/180),o.bJ(ye,ye,[0,0,0],this.center.lng*Math.PI/180);let Re=1/o.b8(ye);return o.b0(ye,ye,Re),[...ye,-W*Re]}isLocationOccluded(l){return!this.isSurfacePointVisible(Fr(l))}transformLightDirection(l){let m=this._helper._center.lng*Math.PI/180,T=this._helper._center.lat*Math.PI/180,P=Math.cos(T),V=[Math.sin(m)*P,Math.sin(T),Math.cos(m)*P],W=[V[2],0,-V[0]],te=[0,0,0];o.b5(te,W,V),o.b4(W,W),o.b4(te,te);let se=[0,0,0];return o.b4(se,[W[0]*l[0]+te[0]*l[1]+V[0]*l[2],W[1]*l[0]+te[1]*l[1]+V[1]*l[2],W[2]*l[0]+te[2]*l[1]+V[2]*l[2]]),se}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(l,m,T){let P=function(te,se,fe){let ye=1/(1<V&&(V=Me),jete&&(te=je)}let ye=[fe.lng+W,fe.lat+se,fe.lng+V,fe.lat+te];return this.isSurfacePointOnScreen([0,1,0])&&(ye[3]=90,ye[0]=-180,ye[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(ye[1]=-90,ye[0]=-180,ye[2]=180),new Ho(ye)}calculateCenterFromCameraLngLatAlt(l,m,T,P){return this._helper.calculateCenterFromCameraLngLatAlt(l,m,T,P)}setLocationAtPoint(l,m){let T=Fr(this.unprojectScreenPoint(m)),P=Fr(l),V=o.bA();o.bM(V);let W=o.bA();o.bJ(W,T,V,-this.center.lng*Math.PI/180),o.bI(W,W,V,this.center.lat*Math.PI/180);let te=P[0]*P[0]+P[2]*P[2],se=W[0]*W[0];if(te=-vt&&tt<=vt,Kt=At>=-vt&&At<=vt,It,Xt;if(Lt&&Kt){let br=this.center.lng*Math.PI/180,Cr=this.center.lat*Math.PI/180;o.bO(Re,br)+o.bO(tt,Cr)=0}isSurfacePointOnScreen(l){if(!this.isSurfacePointVisible(l))return!1;let m=o.bG();return o.aI(m,[...l,1],this._globeViewProjMatrixNoCorrection),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[0]>-1&&m[0]<1&&m[1]>-1&&m[1]<1&&m[2]>-1&&m[2]<1}rayPlanetIntersection(l,m){let T=o.b6(l,m),P=o.bA(),V=o.bA();o.b0(V,m,T),o.b3(P,l,V);let W=1-o.b6(P,P);if(W<0)return null;let te=o.b6(l,l)-1,se=-T+(T<0?1:-1)*Math.sqrt(W),fe=te/se,ye=se;return{tMin:Math.min(fe,ye),tMax:Math.max(fe,ye)}}unprojectScreenPoint(l){let m=this._cameraPosition,T=this.getRayDirectionFromPixel(l),P=this.rayPlanetIntersection(m,T);if(P){let ye=o.bA();o.b1(ye,m,[T[0]*P.tMin,T[1]*P.tMin,T[2]*P.tMin]);let Re=o.bA();return o.b4(Re,ye),vr(Re)}let V=this._cachedClippingPlane,W=V[0]*T[0]+V[1]*T[1]+V[2]*T[2],te=-o.bc(V,m)/W,se=o.bA();if(te>0)o.b1(se,m,[T[0]*te,T[1]*te,T[2]*te]);else{let ye=o.bA();o.b1(ye,m,[2*T[0],2*T[1],2*T[2]]);let Re=o.bc(this._cachedClippingPlane,ye);o.b3(se,ye,[this._cachedClippingPlane[0]*Re,this._cachedClippingPlane[1]*Re,this._cachedClippingPlane[2]*Re])}let fe=function(ye){let Re=o.bA();return Re[0]=ye[0]*-ye[3],Re[1]=ye[1]*-ye[3],Re[2]=ye[2]*-ye[3],{center:Re,radius:Math.sqrt(1-ye[3]*ye[3])}}(V);return vr(function(ye,Re,Me){let je=o.bA();o.b3(je,Me,ye);let tt=o.bA();return o.bB(tt,ye,je,Re/o.ba(je)),tt}(fe.center,fe.radius,se))}getMatrixForModel(l,m){let T=o.V.convert(l),P=1/o.bF,V=o.bk();return o.bK(V,V,T.lng/180*Math.PI),o.bi(V,V,-T.lat/180*Math.PI),o.O(V,V,[0,0,1+m/o.bF]),o.bi(V,V,.5*Math.PI),o.Q(V,V,[P,P,P]),V}getProjectionDataForCustomLayer(l=!0){let m=this.getProjectionData({overscaledTileID:new o.a2(0,0,0,0,0),applyGlobeMatrix:l});return m.tileMercatorCoords=[0,0,1,1],m}getFastPathSimpleProjectionMatrix(l){}}class ni{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(l){this._helper.setMinZoom(l)}setMaxZoom(l){this._helper.setMaxZoom(l)}setMinPitch(l){this._helper.setMinPitch(l)}setMaxPitch(l){this._helper.setMaxPitch(l)}setRenderWorldCopies(l){this._helper.setRenderWorldCopies(l)}setBearing(l){this._helper.setBearing(l)}setPitch(l){this._helper.setPitch(l)}setRoll(l){this._helper.setRoll(l)}setFov(l){this._helper.setFov(l)}setZoom(l){this._helper.setZoom(l)}setCenter(l){this._helper.setCenter(l)}setElevation(l){this._helper.setElevation(l)}setMinElevationForCurrentTile(l){this._helper.setMinElevationForCurrentTile(l)}setPadding(l){this._helper.setPadding(l)}interpolatePadding(l,m,T){return this._helper.interpolatePadding(l,m,T)}isPaddingEqual(l){return this._helper.isPaddingEqual(l)}resize(l,m,T=!0){this._helper.resize(l,m,T)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(l){this._helper.setMaxBounds(l)}setConstrainOverride(l){this._helper.setConstrainOverride(l)}overrideNearFarZ(l,m){this._helper.overrideNearFarZ(l,m)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(l){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),l)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(l,m){this._globeness=l,this._globeLatitudeErrorCorrectionRadians=m,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(l){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this.defaultConstrain=(m,T)=>this.currentTransform.defaultConstrain(m,T),this.applyConstrain=(m,T)=>this._helper.applyConstrain(m,T),this._helper=new xl({calcMatrices:()=>{this._calcMatrices()},defaultConstrain:(m,T)=>this.defaultConstrain(m,T)},l),this._globeness=1,this._mercatorTransform=new Gf,this._verticalPerspectiveTransform=new wi}clone(){let l=new ni;return l._globeness=this._globeness,l._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,l.apply(this),l}apply(l){this._helper.apply(l),this._mercatorTransform.apply(this),this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(l){let m=this._mercatorTransform.getProjectionData(l),T=this._verticalPerspectiveTransform.getProjectionData(l);return{mainMatrix:this.isGlobeRendering?T.mainMatrix:m.mainMatrix,clippingPlane:T.clippingPlane,tileMercatorCoords:T.tileMercatorCoords,projectionTransition:l.applyGlobeMatrix?this._globeness:0,fallbackMatrix:m.fallbackMatrix}}isLocationOccluded(l){return this.currentTransform.isLocationOccluded(l)}transformLightDirection(l){return this.currentTransform.transformLightDirection(l)}getPixelScale(){return o.bv(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return o.bv(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(l,m,T){let P=this._mercatorTransform.getPitchedTextCorrection(l,m,T),V=this._verticalPerspectiveTransform.getPitchedTextCorrection(l,m,T);return o.bv(P,V,this._globeness)}projectTileCoordinates(l,m,T,P){return this.currentTransform.projectTileCoordinates(l,m,T,P)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(l){return this.currentTransform.calculateFogMatrix(l)}getVisibleUnwrappedCoordinates(l){return this.currentTransform.getVisibleUnwrappedCoordinates(l)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(l){this._mercatorTransform.recalculateZoomAndCenter(l),this._verticalPerspectiveTransform.recalculateZoomAndCenter(l)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(l,m){return this.currentTransform.lngLatToCameraDepth(l,m)}populateCache(l){this._mercatorTransform.populateCache(l),this._verticalPerspectiveTransform.populateCache(l)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(l,m,T,P){return this._helper.calculateCenterFromCameraLngLatAlt(l,m,T,P)}setLocationAtPoint(l,m){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(l,m),void this.apply(this._mercatorTransform);this._verticalPerspectiveTransform.setLocationAtPoint(l,m),this.apply(this._verticalPerspectiveTransform)}locationToScreenPoint(l,m){return this.currentTransform.locationToScreenPoint(l,m)}screenPointToMercatorCoordinate(l,m){return this.currentTransform.screenPointToMercatorCoordinate(l,m)}screenPointToLocation(l,m){return this.currentTransform.screenPointToLocation(l,m)}isPointOnMapSurface(l,m){return this.currentTransform.isPointOnMapSurface(l,m)}getRayDirectionFromPixel(l){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(l)}getMatrixForModel(l,m){return this.currentTransform.getMatrixForModel(l,m)}getProjectionDataForCustomLayer(l=!0){let m=this._mercatorTransform.getProjectionDataForCustomLayer(l);if(!this.isGlobeRendering)return m;let T=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(l);return T.fallbackMatrix=m.mainMatrix,T}getFastPathSimpleProjectionMatrix(l){return this.currentTransform.getFastPathSimpleProjectionMatrix(l)}}class b{get useGlobeControls(){return!0}handlePanInertia(l,m){let T=gs(l,m);return Math.abs(T.lng-m.center.lng)>180&&(T.lng=m.center.lng+179.5*Math.sign(T.lng-m.center.lng)),{easingCenter:T,easingOffset:new o.P(0,0)}}handleMapControlsRollPitchBearingZoom(l,m){let T=l.around,P=m.screenPointToLocation(T);l.bearingDelta&&m.setBearing(m.bearing+l.bearingDelta),l.pitchDelta&&m.setPitch(m.pitch+l.pitchDelta),l.rollDelta&&m.setRoll(m.roll+l.rollDelta);let V=m.zoom;l.zoomDelta&&m.setZoom(m.zoom+l.zoomDelta);let W=m.zoom-V;if(W===0)return;let te=o.bL(m.center.lng,P.lng),se=te/(Math.abs(te/180)+1),fe=o.bL(m.center.lat,P.lat),ye=m.getRayDirectionFromPixel(T),Re=m.cameraPosition,Me=-1*o.b6(Re,ye),je=o.bA();o.b1(je,Re,[ye[0]*Me,ye[1]*Me,ye[2]*Me]);let tt=o.b8(je)-1,yt=Math.exp(.5*-Math.max(tt-.3,0)),At=li(m.worldSize,m.center.lat)/Math.min(m.width,m.height),vt=o.by(At,.9,.5,1,.25),Lt=(1-o.ar(-W))*Math.min(yt,vt),Kt=m.center.lat,It=m.zoom,Xt=new o.V(m.center.lng+se*Lt,o.ao(m.center.lat+fe*Lt,-o.ap,o.ap));m.setLocationAtPoint(P,T);let Rt=m.center,zt=o.by(Math.abs(te),45,85,0,1),jt=o.by(At,.75,.35,0,1),br=Math.pow(Math.max(zt,jt),.25),Cr=o.bL(Rt.lng,Xt.lng),Rr=o.bL(Rt.lat,Xt.lat);m.setCenter(new o.V(Rt.lng+Cr*br,Rt.lat+Rr*br).wrap()),m.setZoom(It+gn(Kt,m.center.lat))}handleMapControlsPan(l,m,T){if(!l.panDelta)return;let P=m.center.lat,V=m.zoom;m.setCenter(gs(l.panDelta,m).wrap()),m.setZoom(V+gn(P,m.center.lat))}cameraForBoxAndBearing(l,m,T,P,V){let W=Cp(l,m,T,P,V),te=m.left/V.width*2-1,se=(V.width-m.right)/V.width*2-1,fe=m.top/V.height*-2+1,ye=(V.height-m.bottom)/V.height*-2+1,Re=o.bL(T.getWest(),T.getEast())<0,Me=Re?T.getEast():T.getWest(),je=Re?T.getWest():T.getEast(),tt=Math.max(T.getNorth(),T.getSouth()),yt=Math.min(T.getNorth(),T.getSouth()),At=Me+.5*o.bL(Me,je),vt=tt+.5*o.bL(tt,yt),Lt=V.clone();Lt.setCenter(W.center),Lt.setBearing(W.bearing),Lt.setPitch(0),Lt.setRoll(0),Lt.setZoom(W.zoom);let Kt=Lt.modelViewProjectionMatrix,It=[Fr(T.getNorthWest()),Fr(T.getNorthEast()),Fr(T.getSouthWest()),Fr(T.getSouthEast()),Fr(new o.V(je,vt)),Fr(new o.V(Me,vt)),Fr(new o.V(At,tt)),Fr(new o.V(At,yt))],Xt=Fr(W.center),Rt=Number.POSITIVE_INFINITY;for(let zt of It)te<0&&(Rt=b.getLesserNonNegativeNonNull(Rt,b.solveVectorScale(zt,Xt,Kt,"x",te))),se>0&&(Rt=b.getLesserNonNegativeNonNull(Rt,b.solveVectorScale(zt,Xt,Kt,"x",se))),fe>0&&(Rt=b.getLesserNonNegativeNonNull(Rt,b.solveVectorScale(zt,Xt,Kt,"y",fe))),ye<0&&(Rt=b.getLesserNonNegativeNonNull(Rt,b.solveVectorScale(zt,Xt,Kt,"y",ye)));if(Number.isFinite(Rt)&&Rt!==0)return W.zoom=Lt.zoom+o.au(Rt),W;Wh()}handleJumpToCenterZoom(l,m){let T=l.center.lat,P=l.applyConstrain(m.center?o.V.convert(m.center):l.center,l.zoom).center;l.setCenter(P.wrap());let V=m.zoom!==void 0?+m.zoom:l.zoom+gn(T,P.lat);l.zoom!==V&&l.setZoom(V)}handleEaseTo(l,m){let T=l.zoom,P=l.center,V=l.padding,W={roll:l.roll,pitch:l.pitch,bearing:l.bearing},te={roll:m.roll===void 0?l.roll:m.roll,pitch:m.pitch===void 0?l.pitch:m.pitch,bearing:m.bearing===void 0?l.bearing:m.bearing},se=m.zoom!==void 0,fe=!l.isPaddingEqual(m.padding),ye=!1,Re=m.center?o.V.convert(m.center):P,Me=l.applyConstrain(Re,T).center;tu(l,Me);let je=l.clone();je.setCenter(Me),je.setZoom(se?+m.zoom:T+gn(P.lat,Re.lat)),je.setBearing(m.bearing);let tt=new o.P(o.ao(l.centerPoint.x+m.offsetAsPoint.x,0,l.width),o.ao(l.centerPoint.y+m.offsetAsPoint.y,0,l.height));je.setLocationAtPoint(Me,tt);let yt=(m.offset&&m.offsetAsPoint.mag())>0?je.center:Me,At=se?+m.zoom:T+gn(P.lat,yt.lat),vt=T+gn(P.lat,0),Lt=At+gn(yt.lat,0),Kt=o.bL(P.lng,yt.lng),It=o.bL(P.lat,yt.lat),Xt=o.ar(Lt-vt);return ye=At!==T,{easeFunc:Rt=>{if(o.bp(W,te)||Hd({startEulerAngles:W,endEulerAngles:te,tr:l,k:Rt,useSlerp:W.roll!=te.roll}),fe&&l.interpolatePadding(V,m.padding,Rt),m.around)o.w("Easing around a point is not supported under globe projection."),l.setLocationAtPoint(m.around,m.aroundPoint);else{let zt=Lt>vt?Math.min(2,Xt):Math.max(.5,Xt),jt=Math.pow(zt,1-Rt),br=bl(P,Kt,It,Rt*jt);l.setCenter(br.wrap())}if(ye){let zt=o.G.number(vt,Lt,Rt)+gn(0,l.center.lat);l.setZoom(zt)}},isZooming:ye,elevationCenter:yt}}handleFlyTo(l,m){let T=m.zoom!==void 0,P=l.center,V=l.zoom,W=l.padding,te=!l.isPaddingEqual(m.padding),se=l.applyConstrain(o.V.convert(m.center||m.locationAtOffset),V).center,fe=T?+m.zoom:l.zoom+gn(l.center.lat,se.lat),ye=l.clone();ye.setCenter(se),ye.setZoom(fe),ye.setBearing(m.bearing);let Re=new o.P(o.ao(l.centerPoint.x+m.offsetAsPoint.x,0,l.width),o.ao(l.centerPoint.y+m.offsetAsPoint.y,0,l.height));ye.setLocationAtPoint(se,Re);let Me=ye.center;tu(l,Me);let je=function(It,Xt,Rt){let zt=Fr(Xt),jt=Fr(Rt),br=o.b6(zt,jt),Cr=Math.acos(br),Rr=Ut(It);return Cr/(2*Math.PI)*Rr}(l,P,Me),tt=V+gn(P.lat,0),yt=fe+gn(Me.lat,0),At=o.ar(yt-tt),vt;if(typeof m.minZoom=="number"){let It=+m.minZoom+gn(Me.lat,0),Xt=Math.min(It,tt,yt)+gn(0,Me.lat),Rt=l.applyConstrain(Me,Xt).zoom+gn(Me.lat,0);vt=o.ar(Rt-tt)}let Lt=o.bL(P.lng,Me.lng),Kt=o.bL(P.lat,Me.lat);return{easeFunc:(It,Xt,Rt,zt)=>{let jt=bl(P,Lt,Kt,Rt);te&&l.interpolatePadding(W,m.padding,It);let br=It===1?Me:jt;l.setCenter(br.wrap());let Cr=tt+o.au(Xt);l.setZoom(It===1?fe:Cr+gn(0,br.lat))},scaleOfZoom:At,targetCenter:Me,scaleOfMinZoom:vt,pixelPathLength:je}}static solveVectorScale(l,m,T,P,V){let W=P==="x"?[T[0],T[4],T[8],T[12]]:[T[1],T[5],T[9],T[13]],te=[T[3],T[7],T[11],T[15]],se=l[0]*W[0]+l[1]*W[1]+l[2]*W[2],fe=l[0]*te[0]+l[1]*te[1]+l[2]*te[2],ye=m[0]*W[0]+m[1]*W[1]+m[2]*W[2],Re=m[0]*te[0]+m[1]*te[1]+m[2]*te[2];return ye+V*fe===se+V*Re||te[3]*(se-ye)+W[3]*(Re-fe)+se*Re==ye*fe?null:(ye+W[3]-V*Re-V*te[3])/(ye-se-V*Re+V*fe)}static getLesserNonNegativeNonNull(l,m){return m!==null&&m>=0&&mo.B(z,l&&l.filter(m=>m.identifier!=="source.canvas")),Ye=o.bP();class Ms extends o.E{constructor(l,m={}){var T,P;super(),this._rtlPluginLoaded=()=>{for(let W in this.tileManagers){let te=this.tileManagers[W].getSource().type;te!=="vector"&&te!=="geojson"||this.tileManagers[W].reload()}},this.map=l,this.dispatcher=new Ft(nt(),l._getMapId()),this.dispatcher.registerMessageHandler("GG",(W,te)=>this.getGlyphs(W,te)),this.dispatcher.registerMessageHandler("GI",(W,te)=>this.getImages(W,te)),this.dispatcher.registerMessageHandler("GDA",(W,te)=>this.getDashes(W,te)),this.imageManager=new _e,this.imageManager.setEventedParent(this);let V=((T=l._container)===null||T===void 0?void 0:T.lang)||typeof document<"u"&&((P=document.documentElement)===null||P===void 0?void 0:P.lang)||void 0;this.glyphManager=new sr(l._requestManager,m.localIdeographFontFamily,V),this.lineAtlas=new Yr(256,512),this.crossTileSymbolIndex=new Ql,this._setInitialValues(),this._resetUpdates(),this.dispatcher.broadcast("SR",o.bQ()),fr().on(Vt,this._rtlPluginLoaded),this.on("data",W=>{if(W.dataType!=="source"||W.sourceDataType!=="metadata")return;let te=this.tileManagers[W.sourceId];if(!te)return;let se=te.getSource();if(se&&se.vectorLayerIds)for(let fe in this._layers){let ye=this._layers[fe];ye.source===se.id&&this._validateLayer(ye)}})}_setInitialValues(){var l;this._spritesImagesIds={},this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new o.bR,this._availableImages=[],this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this.crossTileSymbolIndex=new(((l=this.crossTileSymbolIndex)===null||l===void 0?void 0:l.constructor)||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(l,m){var T,P,V;this._checkLoaded();let W=m===null?(V=(P=(T=this.stylesheet.state)===null||T===void 0?void 0:T[l])===null||P===void 0?void 0:P.default)!==null&&V!==void 0?V:null:m;if(o.bS(W,this._globalState[l]))return this;this._globalState[l]=W,this._applyGlobalStateChanges([l])}getGlobalState(){return this._globalState}setGlobalState(l){this._checkLoaded();let m=[];for(let T in l)!o.bS(this._globalState[T],l[T].default)&&(m.push(T),this._globalState[T]=l[T].default);this._applyGlobalStateChanges(m)}_applyGlobalStateChanges(l){if(l.length===0)return;let m=new Set,T={};for(let P of l){T[P]=this._globalState[P];for(let V in this._layers){let W=this._layers[V],te=W.getLayoutAffectingGlobalStateRefs(),se=W.getPaintAffectingGlobalStateRefs();if(te.has(P)&&m.add(W.source),se.has(P))for(let{name:fe,value:ye}of se.get(P))this._updatePaintProperty(W,fe,ye)}}this.dispatcher.broadcast("UGS",T);for(let P in this.tileManagers)m.has(P)&&(this._reloadSource(P),this._changed=!0)}loadURL(l,m={},T){this.fire(new o.l("dataloading",{dataType:"style"})),m.validate=typeof m.validate!="boolean"||m.validate;let P=this.map._requestManager.transformRequest(l,"Style");this._loadStyleRequest=new AbortController;let V=this._loadStyleRequest;o.j(P,this._loadStyleRequest).then(W=>{this._loadStyleRequest=null,this._load(W.data,m,T)}).catch(W=>{this._loadStyleRequest=null,W&&!V.signal.aborted&&this.fire(new o.k(W))})}loadJSON(l,m={},T){this.fire(new o.l("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,I.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,m.validate=m.validate!==!1,this._load(l,m,T)}).catch(()=>{})}loadEmpty(){this.fire(new o.l("dataloading",{dataType:"style"})),this._load(Ye,{validate:!1})}_load(l,m,T){var P,V;let W=m.transformStyle?m.transformStyle(T,l):l;if(!m.validate||!_o(this,o.C(W))){W=Object.assign({},W),this._loaded=!0,this.stylesheet=W;for(let te in W.sources)this.addSource(te,W.sources[te],{validate:!1});W.sprite?this._loadSprite(W.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(W.glyphs),this._createLayers(),this.light=new mi(this.stylesheet.light),this._setProjectionInternal(((P=this.stylesheet.projection)===null||P===void 0?void 0:P.type)||"mercator"),this.sky=new un(this.stylesheet.sky),this.map.setTerrain((V=this.stylesheet.terrain)!==null&&V!==void 0?V:null),this.fire(new o.l("data",{dataType:"style"})),this.fire(new o.l("style.load"))}}_createLayers(){var l,m,T;let P=o.bT(this.stylesheet.layers);this.setGlobalState((l=this.stylesheet.state)!==null&&l!==void 0?l:null),this.dispatcher.broadcast("SL",P),this._order=P.map(V=>V.id),this._layers={},this._serializedLayers=null;for(let V of P){let W=o.bU(V,this._globalState);if(W.setEventedParent(this,{layer:{id:V.id}}),this._layers[V.id]=W,o.bV(W)&&this.tileManagers[W.source]){let te=(T=(m=V.paint)===null||m===void 0?void 0:m["raster-fade-duration"])!==null&&T!==void 0?T:W.paint.get("raster-fade-duration");this.tileManagers[W.source].setRasterFadeDuration(te)}}}_loadSprite(l,m=!1,T=void 0){this.imageManager.setLoaded(!1);let P=new AbortController,V;this._spriteRequest=P,function(W,te,se,fe){return o._(this,void 0,void 0,function*(){let ye=Ge(W),Re=se>1?"@2x":"",Me={},je={};for(let{id:tt,url:yt}of ye){let At=te.transformRequest(Xe(yt,Re,".json"),"SpriteJSON");Me[tt]=o.j(At,fe);let vt=te.transformRequest(Xe(yt,Re,".png"),"SpriteImage");je[tt]=Oe.getImage(vt,fe)}return yield Promise.all([...Object.values(Me),...Object.values(je)]),function(tt,yt){return o._(this,void 0,void 0,function*(){let At={};for(let vt in tt){At[vt]={};let Lt=I.getImageCanvasContext((yield yt[vt]).data),Kt=(yield tt[vt]).data;for(let It in Kt){let{width:Xt,height:Rt,x:zt,y:jt,sdf:br,pixelRatio:Cr,stretchX:Rr,stretchY:Pr,content:Ai,textFitWidth:_i,textFitHeight:hi}=Kt[It];At[vt][It]={data:null,pixelRatio:Cr,sdf:br,stretchX:Rr,stretchY:Pr,content:Ai,textFitWidth:_i,textFitHeight:hi,spriteData:{width:Xt,height:Rt,x:zt,y:jt,context:Lt}}}}return At})}(Me,je)})}(l,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(W=>{if(this._spriteRequest=null,W)for(let te in W){this._spritesImagesIds[te]=[];let se=this._spritesImagesIds[te]?this._spritesImagesIds[te].filter(fe=>!(fe in W)):[];for(let fe of se)this.imageManager.removeImage(fe),this._changedImages[fe]=!0;for(let fe in W[te]){let ye=te==="default"?fe:`${te}:${fe}`;this._spritesImagesIds[te].push(ye),ye in this.imageManager.images?this.imageManager.updateImage(ye,W[te][fe],!1):this.imageManager.addImage(ye,W[te][fe]),m&&(this._changedImages[ye]=!0)}}}).catch(W=>{this._spriteRequest=null,V=W,P.signal.aborted||this.fire(new o.k(V))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),m&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new o.l("data",{dataType:"style"})),T&&T(V)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new o.l("data",{dataType:"style"}))}_validateLayer(l){let m=this.tileManagers[l.source];if(!m)return;let T=l.sourceLayer;if(!T)return;let P=m.getSource();(P.type==="geojson"||P.vectorLayerIds&&P.vectorLayerIds.indexOf(T)===-1)&&this.fire(new o.k(new Error(`Source layer "${T}" does not exist on source "${P.id}" as specified by style layer "${l.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.tileManagers)if(!this.tileManagers[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l,m=!1){let T=this._serializedAllLayers();if(!l||l.length===0)return Object.values(m?o.bW(T):T);let P=[];for(let V of l)if(T[V]){let W=m?o.bW(T[V]):T[V];P.push(W)}return P}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let m=Object.keys(this._layers);for(let T of m){let P=this._layers[T];P.type!=="custom"&&(l[T]=P.serialize())}return l}hasTransitions(){var l,m,T;if(!((l=this.light)===null||l===void 0)&&l.hasTransition()||!((m=this.sky)===null||m===void 0)&&m.hasTransition()||!((T=this.projection)===null||T===void 0)&&T.hasTransition())return!0;for(let P in this.tileManagers)if(this.tileManagers[P].hasTransition())return!0;for(let P in this._layers)if(this._layers[P].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(l){if(!this._loaded)return;let m=this._changed;if(m){let P=Object.keys(this._updatedLayers),V=Object.keys(this._removedLayers);(P.length||V.length)&&this._updateWorkerLayers(P,V);for(let W in this._updatedSources){let te=this._updatedSources[W];if(te==="reload")this._reloadSource(W);else{if(te!=="clear")throw new Error(`Invalid action ${te}`);this._clearSource(W)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let W in this._updatedPaintProps)this._layers[W].updateTransitions(l);this.light.updateTransitions(l),this.sky.updateTransitions(l),this._resetUpdates()}let T={};for(let P in this.tileManagers){let V=this.tileManagers[P];T[P]=V.used,V.used=!1}for(let P of this._order){let V=this._layers[P];V.recalculate(l,this._availableImages),!V.isHidden(l.zoom)&&V.source&&(this.tileManagers[V.source].used=!0)}for(let P in T){let V=this.tileManagers[P];!!T[P]!=!!V.used&&V.fire(new o.l("data",{sourceDataType:"visibility",dataType:"source",sourceId:P}))}this.light.recalculate(l),this.sky.recalculate(l),this.projection.recalculate(l),this.z=l.zoom,m&&this.fire(new o.l("data",{dataType:"style"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let m in this.tileManagers)this.tileManagers[m].reloadTilesForDependencies(["icons","patterns"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.tileManagers)this.tileManagers[l].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,m){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(l,!1),removedIds:m})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,m={}){var T;this._checkLoaded();let P=this.serialize();if(l=m.transformStyle?m.transformStyle(P,l):l,((T=m.validate)===null||T===void 0||T)&&_o(this,o.C(l)))return!1;(l=o.bW(l)).layers=o.bT(l.layers);let V=o.bX(P,l),W=this._getOperationsToPerform(V);if(W.unimplemented.length>0)throw new Error(`Unimplemented: ${W.unimplemented.join(", ")}.`);if(W.operations.length===0)return!1;for(let te of W.operations)te();return this.stylesheet=l,this._serializedLayers=null,!0}_getOperationsToPerform(l){let m=[],T=[];for(let P of l)switch(P.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":case"setRoll":continue;case"addLayer":m.push(()=>this.addLayer.apply(this,P.args));break;case"removeLayer":m.push(()=>this.removeLayer.apply(this,P.args));break;case"setPaintProperty":m.push(()=>this.setPaintProperty.apply(this,P.args));break;case"setLayoutProperty":m.push(()=>this.setLayoutProperty.apply(this,P.args));break;case"setFilter":m.push(()=>this.setFilter.apply(this,P.args));break;case"addSource":m.push(()=>this.addSource.apply(this,P.args));break;case"removeSource":m.push(()=>this.removeSource.apply(this,P.args));break;case"setLayerZoomRange":m.push(()=>this.setLayerZoomRange.apply(this,P.args));break;case"setLight":m.push(()=>this.setLight.apply(this,P.args));break;case"setGeoJSONSourceData":m.push(()=>this.setGeoJSONSourceData.apply(this,P.args));break;case"setGlyphs":m.push(()=>this.setGlyphs.apply(this,P.args));break;case"setSprite":m.push(()=>this.setSprite.apply(this,P.args));break;case"setTerrain":m.push(()=>this.map.setTerrain.apply(this,P.args));break;case"setSky":m.push(()=>this.setSky.apply(this,P.args));break;case"setProjection":this.setProjection.apply(this,P.args);break;case"setGlobalState":m.push(()=>this.setGlobalState.apply(this,P.args));break;case"setTransition":m.push(()=>{});break;default:T.push(P.command)}return{operations:m,unimplemented:T}}addImage(l,m){if(this.getImage(l))return this.fire(new o.k(new Error(`An image named "${l}" already exists.`)));this.imageManager.addImage(l,m),this._afterImageUpdated(l)}updateImage(l,m){this.imageManager.updateImage(l,m)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new o.k(new Error(`An image named "${l}" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new o.l("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,m,T={}){if(this._checkLoaded(),this.tileManagers[l]!==void 0)throw new Error(`Source "${l}" already exists.`);if(!m.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(m).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(m.type)>=0&&this._validate(o.C.source,`sources.${l}`,m,null,T))return;this.map&&this.map._collectResourceTiming&&(m.collectResourceTiming=!0);let P=this.tileManagers[l]=new si(l,m,this.dispatcher);P.style=this,P.setEventedParent(this,()=>({isSourceLoaded:P.loaded(),source:P.serialize(),sourceId:l})),P.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.tileManagers[l]===void 0)throw new Error("There is no source with this ID");for(let T in this._layers)if(this._layers[T].source===l)return this.fire(new o.k(new Error(`Source "${l}" cannot be removed while layer "${T}" is using it.`)));let m=this.tileManagers[l];delete this.tileManagers[l],delete this._updatedSources[l],m.fire(new o.l("data",{sourceDataType:"metadata",dataType:"source",sourceId:l})),m.setEventedParent(null),m.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,m){if(this._checkLoaded(),this.tileManagers[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let T=this.tileManagers[l].getSource();if(T.type!=="geojson")throw new Error(`geojsonSource.type is ${T.type}, which is !== 'geojson`);T.setData(m),this._changed=!0}getSource(l){return this.tileManagers[l]&&this.tileManagers[l].getSource()}addLayer(l,m,T={}){this._checkLoaded();let P=l.id;if(this.getLayer(P))return void this.fire(new o.k(new Error(`Layer "${P}" already exists on this map.`)));let V;if(l.type==="custom"){if(_o(this,o.bY(l)))return;V=o.bU(l,this._globalState)}else{if("source"in l&&typeof l.source=="object"&&(this.addSource(P,l.source),l=o.bW(l),l=o.e(l,{source:P})),this._validate(o.C.layer,`layers.${P}`,l,{arrayIndex:-1},T))return;V=o.bU(l,this._globalState),this._validateLayer(V),V.setEventedParent(this,{layer:{id:P}})}let W=m?this._order.indexOf(m):this._order.length;if(m&&W===-1)this.fire(new o.k(new Error(`Cannot add layer "${P}" before non-existing layer "${m}".`)));else{if(this._order.splice(W,0,P),this._layerOrderChanged=!0,this._layers[P]=V,this._removedLayers[P]&&V.source&&V.type!=="custom"){let te=this._removedLayers[P];delete this._removedLayers[P],te.type!==V.type?this._updatedSources[V.source]="clear":(this._updatedSources[V.source]="reload",this.tileManagers[V.source].pause())}this._updateLayer(V),V.onAdd&&V.onAdd(this.map)}}moveLayer(l,m){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new o.k(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===m)return;let T=this._order.indexOf(l);this._order.splice(T,1);let P=m?this._order.indexOf(m):this._order.length;m&&P===-1?this.fire(new o.k(new Error(`Cannot move layer "${l}" before non-existing layer "${m}".`))):(this._order.splice(P,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let m=this._layers[l];if(!m)return void this.fire(new o.k(new Error(`Cannot remove non-existing layer "${l}".`)));m.setEventedParent(null);let T=this._order.indexOf(l);this._order.splice(T,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=m,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],m.onRemove&&m.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,m,T){this._checkLoaded();let P=this.getLayer(l);P?P.minzoom===m&&P.maxzoom===T||(m!=null&&(P.minzoom=m),T!=null&&(P.maxzoom=T),this._updateLayer(P)):this.fire(new o.k(new Error(`Cannot set the zoom range of non-existing layer "${l}".`)))}setFilter(l,m,T={}){this._checkLoaded();let P=this.getLayer(l);if(P){if(!o.bS(P.filter,m))return m==null?(P.setFilter(void 0),void this._updateLayer(P)):void(this._validate(o.C.filter,`layers.${P.id}.filter`,m,null,T)||(P.setFilter(o.bW(m)),this._updateLayer(P)))}else this.fire(new o.k(new Error(`Cannot filter non-existing layer "${l}".`)))}getFilter(l){return o.bW(this.getLayer(l).filter)}setLayoutProperty(l,m,T,P={}){this._checkLoaded();let V=this.getLayer(l);V?o.bS(V.getLayoutProperty(m),T)||(V.setLayoutProperty(m,T,P),this._updateLayer(V)):this.fire(new o.k(new Error(`Cannot style non-existing layer "${l}".`)))}getLayoutProperty(l,m){let T=this.getLayer(l);if(T)return T.getLayoutProperty(m);this.fire(new o.k(new Error(`Cannot get style of non-existing layer "${l}".`)))}setPaintProperty(l,m,T,P={}){this._checkLoaded();let V=this.getLayer(l);V?o.bS(V.getPaintProperty(m),T)||this._updatePaintProperty(V,m,T,P):this.fire(new o.k(new Error(`Cannot style non-existing layer "${l}".`)))}_updatePaintProperty(l,m,T,P={}){l.setPaintProperty(m,T,P)&&this._updateLayer(l),o.bV(l)&&m==="raster-fade-duration"&&this.tileManagers[l.source].setRasterFadeDuration(T),this._changed=!0,this._updatedPaintProps[l.id]=!0,this._serializedLayers=null}getPaintProperty(l,m){return this.getLayer(l).getPaintProperty(m)}setFeatureState(l,m){this._checkLoaded();let T=l.source,P=l.sourceLayer,V=this.tileManagers[T];if(V===void 0)return void this.fire(new o.k(new Error(`The source '${T}' does not exist in the map's style.`)));let W=V.getSource().type;W==="geojson"&&P?this.fire(new o.k(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):W!=="vector"||P?(l.id===void 0&&this.fire(new o.k(new Error("The feature id parameter must be provided."))),V.setFeatureState(P,l.id,m)):this.fire(new o.k(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(l,m){this._checkLoaded();let T=l.source,P=this.tileManagers[T];if(P===void 0)return void this.fire(new o.k(new Error(`The source '${T}' does not exist in the map's style.`)));let V=P.getSource().type,W=V==="vector"?l.sourceLayer:void 0;V!=="vector"||W?m&&typeof l.id!="string"&&typeof l.id!="number"?this.fire(new o.k(new Error("A feature id is required to remove its specific state property."))):P.removeFeatureState(W,l.id,m):this.fire(new o.k(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(l){this._checkLoaded();let m=l.source,T=l.sourceLayer,P=this.tileManagers[m];if(P!==void 0)return P.getSource().type!=="vector"||T?(l.id===void 0&&this.fire(new o.k(new Error("The feature id parameter must be provided."))),P.getFeatureState(T,l.id)):void this.fire(new o.k(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new o.k(new Error(`The source '${m}' does not exist in the map's style.`)))}getTransition(){return o.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=o.bZ(this.tileManagers,V=>V.serialize()),m=this._serializeByIds(this._order,!0),T=this.map.getTerrain()||void 0,P=this.stylesheet;return o.b_({version:P.version,name:P.name,metadata:P.metadata,light:P.light,sky:P.sky,center:P.center,zoom:P.zoom,bearing:P.bearing,pitch:P.pitch,sprite:P.sprite,glyphs:P.glyphs,transition:P.transition,projection:P.projection,sources:l,layers:m,terrain:T},V=>V!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.tileManagers[l.source].getSource().type!=="raster"&&(this._updatedSources[l.source]="reload",this.tileManagers[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let m=W=>this._layers[W].type==="fill-extrusion",T={},P=[];for(let W=this._order.length-1;W>=0;W--){let te=this._order[W];if(m(te)){T[te]=W;for(let se of l){let fe=se[te];if(fe)for(let ye of fe)P.push(ye)}}}P.sort((W,te)=>te.intersectionZ-W.intersectionZ);let V=[];for(let W=this._order.length-1;W>=0;W--){let te=this._order[W];if(m(te))for(let se=P.length-1;se>=0;se--){let fe=P[se].feature;if(T[fe.layer.id]this.map.terrain.getElevation(ye,Re,Me):void 0));return this.placement&&V.push(function(fe,ye,Re,Me,je,tt,yt){let At={},vt=tt.queryRenderedSymbols(Me),Lt=[];for(let Kt of Object.keys(vt).map(Number))Lt.push(yt[Kt]);Lt.sort(ln);for(let Kt of Lt){let It=Kt.featureIndex.lookupSymbolFeatures(vt[Kt.bucketInstanceId],ye,Kt.bucketIndex,Kt.sourceLayerIndex,{filterSpec:je.filter,globalState:je.globalState},je.layers,je.availableImages,fe);for(let Xt in It){let Rt=At[Xt]=At[Xt]||[],zt=It[Xt];zt.sort((jt,br)=>{let Cr=Kt.featureSortOrder;if(Cr){let Rr=Cr.indexOf(jt.featureIndex);return Cr.indexOf(br.featureIndex)-Rr}return br.featureIndex-jt.featureIndex});for(let jt of zt)Rt.push(jt)}}return function(Kt,It,Xt){for(let Rt in Kt)for(let zt of Kt[Rt])Nn(zt,Xt[It[Rt].source]);return Kt}(At,fe,Re)}(this._layers,W,this.tileManagers,l,se,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(V)}querySourceFeatures(l,m){m?.filter&&this._validate(o.C.filter,"querySourceFeatures.filter",m.filter,null,m);let T=this.tileManagers[l];return T?function(P,V){let W=P.getRenderableIds().map(fe=>P.getTileByID(fe)),te=[],se={};for(let fe=0;feMe.getTileByID(je)).sort((je,tt)=>tt.tileID.overscaledZ-je.tileID.overscaledZ||(je.tileID.isLessThan(tt.tileID)?-1:1))}let Re=this.crossTileSymbolIndex.addLayer(ye,se[ye.source],l.center.lng);W=W||Re}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((V=V||this._layerOrderChanged||T===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(k(),l.zoom))&&(this.pauseablePlacement=new Hh(l,this.map.terrain,this._order,V,m,T,P,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,se),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(k()),te=!0),W&&this.pauseablePlacement.placement.setStale()),te||W)for(let fe of this._order){let ye=this._layers[fe];ye.type==="symbol"&&this.placement.updateLayerOpacities(ye,se[ye.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(k())}_releaseSymbolFadeTiles(){for(let l in this.tileManagers)this.tileManagers[l].releaseSymbolFadeTiles()}getImages(l,m){return o._(this,void 0,void 0,function*(){let T=yield this.imageManager.getImages(m.icons);this._updateTilesForChangedImages();let P=this.tileManagers[m.source];return P&&P.setDependencies(m.tileID.key,m.type,m.icons),T})}getGlyphs(l,m){return o._(this,void 0,void 0,function*(){let T=yield this.glyphManager.getGlyphs(m.stacks),P=this.tileManagers[m.source];return P&&P.setDependencies(m.tileID.key,m.type,[""]),T})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,m={}){this._checkLoaded(),l&&this._validate(o.C.glyphs,"glyphs",l,null,m)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}getDashes(l,m){return o._(this,void 0,void 0,function*(){let T={};for(let[P,V]of Object.entries(m.dashes))T[P]=this.lineAtlas.getDash(V.dasharray,V.round);return T})}addSprite(l,m,T={},P){this._checkLoaded();let V=[{id:l,url:m}],W=[...Ge(this.stylesheet.sprite),...V];this._validate(o.C.sprite,"sprite",W,null,T)||(this.stylesheet.sprite=W,this._loadSprite(V,!0,P))}removeSprite(l){this._checkLoaded();let m=Ge(this.stylesheet.sprite);if(m.find(T=>T.id===l)){if(this._spritesImagesIds[l])for(let T of this._spritesImagesIds[l])this.imageManager.removeImage(T),this._changedImages[T]=!0;m.splice(m.findIndex(T=>T.id===l),1),this.stylesheet.sprite=m.length>0?m:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new o.l("data",{dataType:"style"}))}else this.fire(new o.k(new Error(`Sprite "${l}" doesn't exists on this map.`)))}getSprite(){return Ge(this.stylesheet.sprite)}setSprite(l,m={},T){this._checkLoaded(),l&&this._validate(o.C.sprite,"sprite",l,null,m)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,T):(this._unloadSprite(),T&&T(null)))}destroy(){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null);for(let l in this.tileManagers){let m=this.tileManagers[l];m.setEventedParent(null),m.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this._availableImages=[],this._spritesImagesIds={}),this.glyphManager&&this.glyphManager.destroy();for(let l in this._layers){let m=this._layers[l];m.setEventedParent(null),m.onRemove&&m.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler("GG"),this.dispatcher.unregisterMessageHandler("GI"),this.dispatcher.unregisterMessageHandler("GDA"),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}}var ao=o.aV([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Ps{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,m,T,P,V,W,te,se,fe){this.context=l;let ye=this.boundPaintVertexBuffers.length!==P.length;for(let Re=0;!ye&&Re({u_texture:0,u_ele_delta:z,u_fog_matrix:l,u_fog_color:m?m.properties.get("fog-color"):o.bq.white,u_fog_ground_blend:m?m.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:P?0:m?m.calculateFogBlendOpacity(T):0,u_horizon_color:m?m.properties.get("horizon-color"):o.bq.white,u_horizon_fog_blend:m?m.properties.get("horizon-fog-blend"):1,u_is_globe_mode:P?1:0}),Go={mainMatrix:"u_projection_matrix",tileMercatorCoords:"u_projection_tile_mercator_coords",clippingPlane:"u_projection_clipping_plane",projectionTransition:"u_projection_transition",fallbackMatrix:"u_projection_fallback_matrix"};function Qs(z){let l=[];for(let m=0;m({u_depth:new o.b$(Cr,Rr.u_depth),u_terrain:new o.b$(Cr,Rr.u_terrain),u_terrain_dim:new o.br(Cr,Rr.u_terrain_dim),u_terrain_matrix:new o.c1(Cr,Rr.u_terrain_matrix),u_terrain_unpack:new o.c2(Cr,Rr.u_terrain_unpack),u_terrain_exaggeration:new o.br(Cr,Rr.u_terrain_exaggeration)}))(l,br),this.projectionUniforms=((Cr,Rr)=>({u_projection_matrix:new o.c1(Cr,Rr.u_projection_matrix),u_projection_tile_mercator_coords:new o.c2(Cr,Rr.u_projection_tile_mercator_coords),u_projection_clipping_plane:new o.c2(Cr,Rr.u_projection_clipping_plane),u_projection_transition:new o.br(Cr,Rr.u_projection_transition),u_projection_fallback_matrix:new o.c1(Cr,Rr.u_projection_fallback_matrix)}))(l,br),this.binderUniforms=T?T.getUniforms(l,br):[]}draw(l,m,T,P,V,W,te,se,fe,ye,Re,Me,je,tt,yt,At,vt,Lt,Kt){let It=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(T),l.setStencilMode(P),l.setColorMode(V),l.setCullFace(W),se){l.activeTexture.set(It.TEXTURE2),It.bindTexture(It.TEXTURE_2D,se.depthTexture),l.activeTexture.set(It.TEXTURE3),It.bindTexture(It.TEXTURE_2D,se.texture);for(let Rt in this.terrainUniforms)this.terrainUniforms[Rt].set(se[Rt])}if(fe)for(let Rt in fe)this.projectionUniforms[Go[Rt]].set(fe[Rt]);if(te)for(let Rt in this.fixedUniforms)this.fixedUniforms[Rt].set(te[Rt]);At&&At.setUniforms(l,this.binderUniforms,tt,{zoom:yt});let Xt=0;switch(m){case It.LINES:Xt=2;break;case It.TRIANGLES:Xt=3;break;case It.LINE_STRIP:Xt=1}for(let Rt of je.get()){let zt=Rt.vaos||(Rt.vaos={});(zt[ye]||(zt[ye]=new Ps)).bind(l,this,Re,At?At.getPaintVertexBuffers():[],Me,Rt.vertexOffset,vt,Lt,Kt),It.drawElements(m,Rt.primitiveLength*Xt,It.UNSIGNED_SHORT,Rt.primitiveOffset*Xt*2)}}}function Os(z,l,m){let T=1/o.aO(m,1,l.transform.tileZoom),P=Math.pow(2,m.tileID.overscaledZ),V=m.tileSize*Math.pow(2,l.transform.tileZoom)/P,W=V*(m.tileID.canonical.x+m.tileID.wrap*P),te=V*m.tileID.canonical.y;return{u_image:0,u_texsize:m.imageAtlasTexture.size,u_scale:[T,z.fromScale,z.toScale],u_fade:z.t,u_pixel_coord_upper:[W>>16,te>>16],u_pixel_coord_lower:[65535&W,65535&te]}}let gh=(z,l,m,T)=>{let P=z.style.light,V=P.properties.get("position"),W=[V.x,V.y,V.z],te=o.c5();P.properties.get("anchor")==="viewport"&&o.c6(te,z.transform.bearingInRadians),o.c7(W,W,te);let se=z.transform.transformLightDirection(W),fe=P.properties.get("color");return{u_lightpos:W,u_lightpos_globe:se,u_lightintensity:P.properties.get("intensity"),u_lightcolor:[fe.r,fe.g,fe.b],u_vertical_gradient:+l,u_opacity:m,u_fill_translate:T}},Ss=(z,l,m,T,P,V,W)=>o.e(gh(z,l,m,T),Os(V,z,W),{u_height_factor:-Math.pow(2,P.overscaledZ)/W.tileSize/8}),Ah=(z,l,m,T)=>o.e(Os(l,z,m),{u_fill_translate:T}),mc=(z,l)=>({u_world:z,u_fill_translate:l}),Qa=(z,l,m,T,P)=>o.e(Ah(z,l,m,P),{u_world:T}),Ru=(z,l,m,T,P)=>{let V=z.transform,W,te,se=0;if(m.paint.get("circle-pitch-alignment")==="map"){let fe=o.aO(l,1,V.zoom);W=!0,te=[fe,fe],se=fe/(o.a5*Math.pow(2,l.tileID.overscaledZ))*2*Math.PI*P}else W=!1,te=V.pixelsToGLUnits;return{u_camera_to_center_distance:V.cameraToCenterDistance,u_scale_with_map:+(m.paint.get("circle-pitch-scale")==="map"),u_pitch_with_map:+W,u_device_pixel_ratio:z.pixelRatio,u_extrude_scale:te,u_globe_extrude_scale:se,u_translate:T}},gc=z=>({u_pixel_extrude_scale:[1/z.width,1/z.height]}),_h=z=>({u_viewport_size:[z.width,z.height]}),Fl=(z,l=1)=>({u_color:z,u_overlay:0,u_overlay_scale:l}),Ac=(z,l,m,T)=>{let P=o.aO(z,1,l)/(o.a5*Math.pow(2,z.tileID.overscaledZ))*2*Math.PI*T;return{u_extrude_scale:o.aO(z,1,l),u_intensity:m,u_globe_extrude_scale:P}},qn=(z,l,m,T)=>{let P=o.N();o.c8(P,0,z.width,z.height,0,0,1);let V=z.context.gl;return{u_matrix:P,u_world:[V.drawingBufferWidth,V.drawingBufferHeight],u_image:m,u_color_ramp:T,u_opacity:l.paint.get("heatmap-opacity")}},dt=(z,l,m)=>{let T=m.paint.get("hillshade-accent-color"),P;switch(m.paint.get("hillshade-method")){case"basic":P=4;break;case"combined":P=1;break;case"igor":P=2;break;case"multidirectional":P=3;break;default:P=0}let V=m.getIlluminationProperties();for(let W=0;W{let m=l.stride,T=o.N();return o.c8(T,0,o.a5,-o.a5,0,0,1),o.O(T,T,[0,-o.a5,0]),{u_matrix:T,u_image:1,u_dimension:[m,m],u_zoom:z.overscaledZ,u_unpack:l.getUnpackVector()}};function $h(z,l){let m=Math.pow(2,l.canonical.z),T=l.canonical.y;return[new o.ab(0,T/m).toLngLat().lat,new o.ab(0,(T+1)/m).toLngLat().lat]}let _f=(z,l,m=0)=>({u_image:0,u_unpack:l.getUnpackVector(),u_dimension:[l.stride,l.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:m,u_opacity:z.paint.get("color-relief-opacity")}),Xh=(z,l,m,T)=>{let P=z.transform;return{u_translation:Wf(z,l,m),u_ratio:T/o.aO(l,1,P.zoom),u_device_pixel_ratio:z.pixelRatio,u_units_to_pixels:[1/P.pixelsToGLUnits[0],1/P.pixelsToGLUnits[1]]}},Wd=(z,l,m,T,P)=>o.e(Xh(z,l,m,T),{u_image:0,u_image_height:P}),Ad=(z,l,m,T,P)=>{let V=z.transform,W=Bu(l,V);return{u_translation:Wf(z,l,m),u_texsize:l.imageAtlasTexture.size,u_ratio:T/o.aO(l,1,V.zoom),u_device_pixel_ratio:z.pixelRatio,u_image:0,u_scale:[W,P.fromScale,P.toScale],u_fade:P.t,u_units_to_pixels:[1/V.pixelsToGLUnits[0],1/V.pixelsToGLUnits[1]]}},et=(z,l,m,T,P)=>{let V=Bu(l,z.transform);return o.e(Xh(z,l,m,T),{u_tileratio:V,u_crossfade_from:P.fromScale,u_crossfade_to:P.toScale,u_image:0,u_mix:P.t,u_lineatlas_width:z.lineAtlas.width,u_lineatlas_height:z.lineAtlas.height})},yf=(z,l,m,T,P,V)=>{let W=Bu(l,z.transform);return o.e(Xh(z,l,m,T),{u_image:0,u_image_height:V,u_tileratio:W,u_crossfade_from:P.fromScale,u_crossfade_to:P.toScale,u_image_dash:1,u_mix:P.t,u_lineatlas_width:z.lineAtlas.width,u_lineatlas_height:z.lineAtlas.height})};function Bu(z,l){return 1/o.aO(z,1,l.tileZoom)}function Wf(z,l,m){return o.aP(z.transform,l,m.paint.get("line-translate"),m.paint.get("line-translate-anchor"))}let qf=(z,l,m,T,P)=>{return{u_tl_parent:z,u_scale_parent:l,u_buffer_scale:1,u_fade_t:m.mix,u_opacity:m.opacity*T.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:T.paint.get("raster-brightness-min"),u_brightness_high:T.paint.get("raster-brightness-max"),u_saturation_factor:(W=T.paint.get("raster-saturation"),W>0?1-1/(1.001-W):-W),u_contrast_factor:(V=T.paint.get("raster-contrast"),V>0?1/(1-V):1+V),u_spin_weights:Bt(T.paint.get("raster-hue-rotate")),u_coords_top:[P[0].x,P[0].y,P[1].x,P[1].y],u_coords_bottom:[P[3].x,P[3].y,P[2].x,P[2].y]};var V,W};function Bt(z){z*=Math.PI/180;let l=Math.sin(z),m=Math.cos(z);return[(2*m+1)/3,(-Math.sqrt(3)*l-m+1)/3,(Math.sqrt(3)*l-m+1)/3]}let ar=(z,l,m,T,P,V,W,te,se,fe,ye,Re,Me)=>{let je=W.transform;return{u_is_size_zoom_constant:+(z==="constant"||z==="source"),u_is_size_feature_constant:+(z==="constant"||z==="camera"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:je.cameraToCenterDistance,u_pitch:je.pitch/360*2*Math.PI,u_rotate_symbol:+m,u_aspect_ratio:je.width/je.height,u_fade_change:W.options.fadeDuration?W.symbolFadeChange:1,u_label_plane_matrix:te,u_coord_matrix:se,u_is_text:+ye,u_pitch_with_map:+T,u_is_along_line:P,u_is_variable_anchor:V,u_texsize:Re,u_texture:0,u_translation:fe,u_pitched_scale:Me}},Br=(z,l,m,T,P,V,W,te,se,fe,ye,Re,Me,je)=>{let tt=W.transform;return o.e(ar(z,l,m,T,P,V,W,te,se,fe,ye,Re,je),{u_gamma_scale:T?Math.cos(tt.pitch*Math.PI/180)*tt.cameraToCenterDistance:1,u_device_pixel_ratio:W.pixelRatio,u_is_halo:1})},Ur=(z,l,m,T,P,V,W,te,se,fe,ye,Re,Me)=>o.e(Br(z,l,m,T,P,V,W,te,se,fe,!0,ye,0,Me),{u_texsize_icon:Re,u_texture_icon:1}),ci=(z,l)=>({u_opacity:z,u_color:l}),Li=(z,l,m,T,P)=>o.e(function(V,W,te,se){let fe=te.imageManager.getPattern(V.from.toString()),ye=te.imageManager.getPattern(V.to.toString()),{width:Re,height:Me}=te.imageManager.getPixelSize(),je=Math.pow(2,se.tileID.overscaledZ),tt=se.tileSize*Math.pow(2,te.transform.tileZoom)/je,yt=tt*(se.tileID.canonical.x+se.tileID.wrap*je),At=tt*se.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:fe.tl,u_pattern_br_a:fe.br,u_pattern_tl_b:ye.tl,u_pattern_br_b:ye.br,u_texsize:[Re,Me],u_mix:W.t,u_pattern_size_a:fe.displaySize,u_pattern_size_b:ye.displaySize,u_scale_a:W.fromScale,u_scale_b:W.toScale,u_tile_units_to_pixels:1/o.aO(se,1,te.transform.tileZoom),u_pixel_coord_upper:[yt>>16,At>>16],u_pixel_coord_lower:[65535&yt,65535&At]}}(m,P,l,T),{u_opacity:z}),yi=(z,l)=>{},Pn={fillExtrusion:(z,l)=>({u_lightpos:new o.c3(z,l.u_lightpos),u_lightpos_globe:new o.c3(z,l.u_lightpos_globe),u_lightintensity:new o.br(z,l.u_lightintensity),u_lightcolor:new o.c3(z,l.u_lightcolor),u_vertical_gradient:new o.br(z,l.u_vertical_gradient),u_opacity:new o.br(z,l.u_opacity),u_fill_translate:new o.c4(z,l.u_fill_translate)}),fillExtrusionPattern:(z,l)=>({u_lightpos:new o.c3(z,l.u_lightpos),u_lightpos_globe:new o.c3(z,l.u_lightpos_globe),u_lightintensity:new o.br(z,l.u_lightintensity),u_lightcolor:new o.c3(z,l.u_lightcolor),u_vertical_gradient:new o.br(z,l.u_vertical_gradient),u_height_factor:new o.br(z,l.u_height_factor),u_opacity:new o.br(z,l.u_opacity),u_fill_translate:new o.c4(z,l.u_fill_translate),u_image:new o.b$(z,l.u_image),u_texsize:new o.c4(z,l.u_texsize),u_pixel_coord_upper:new o.c4(z,l.u_pixel_coord_upper),u_pixel_coord_lower:new o.c4(z,l.u_pixel_coord_lower),u_scale:new o.c3(z,l.u_scale),u_fade:new o.br(z,l.u_fade)}),fill:(z,l)=>({u_fill_translate:new o.c4(z,l.u_fill_translate)}),fillPattern:(z,l)=>({u_image:new o.b$(z,l.u_image),u_texsize:new o.c4(z,l.u_texsize),u_pixel_coord_upper:new o.c4(z,l.u_pixel_coord_upper),u_pixel_coord_lower:new o.c4(z,l.u_pixel_coord_lower),u_scale:new o.c3(z,l.u_scale),u_fade:new o.br(z,l.u_fade),u_fill_translate:new o.c4(z,l.u_fill_translate)}),fillOutline:(z,l)=>({u_world:new o.c4(z,l.u_world),u_fill_translate:new o.c4(z,l.u_fill_translate)}),fillOutlinePattern:(z,l)=>({u_world:new o.c4(z,l.u_world),u_image:new o.b$(z,l.u_image),u_texsize:new o.c4(z,l.u_texsize),u_pixel_coord_upper:new o.c4(z,l.u_pixel_coord_upper),u_pixel_coord_lower:new o.c4(z,l.u_pixel_coord_lower),u_scale:new o.c3(z,l.u_scale),u_fade:new o.br(z,l.u_fade),u_fill_translate:new o.c4(z,l.u_fill_translate)}),circle:(z,l)=>({u_camera_to_center_distance:new o.br(z,l.u_camera_to_center_distance),u_scale_with_map:new o.b$(z,l.u_scale_with_map),u_pitch_with_map:new o.b$(z,l.u_pitch_with_map),u_extrude_scale:new o.c4(z,l.u_extrude_scale),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_globe_extrude_scale:new o.br(z,l.u_globe_extrude_scale),u_translate:new o.c4(z,l.u_translate)}),collisionBox:(z,l)=>({u_pixel_extrude_scale:new o.c4(z,l.u_pixel_extrude_scale)}),collisionCircle:(z,l)=>({u_viewport_size:new o.c4(z,l.u_viewport_size)}),debug:(z,l)=>({u_color:new o.c0(z,l.u_color),u_overlay:new o.b$(z,l.u_overlay),u_overlay_scale:new o.br(z,l.u_overlay_scale)}),depth:yi,clippingMask:yi,heatmap:(z,l)=>({u_extrude_scale:new o.br(z,l.u_extrude_scale),u_intensity:new o.br(z,l.u_intensity),u_globe_extrude_scale:new o.br(z,l.u_globe_extrude_scale)}),heatmapTexture:(z,l)=>({u_matrix:new o.c1(z,l.u_matrix),u_world:new o.c4(z,l.u_world),u_image:new o.b$(z,l.u_image),u_color_ramp:new o.b$(z,l.u_color_ramp),u_opacity:new o.br(z,l.u_opacity)}),hillshade:(z,l)=>({u_image:new o.b$(z,l.u_image),u_latrange:new o.c4(z,l.u_latrange),u_exaggeration:new o.br(z,l.u_exaggeration),u_altitudes:new o.ca(z,l.u_altitudes),u_azimuths:new o.ca(z,l.u_azimuths),u_accent:new o.c0(z,l.u_accent),u_method:new o.b$(z,l.u_method),u_shadows:new o.c9(z,l.u_shadows),u_highlights:new o.c9(z,l.u_highlights)}),hillshadePrepare:(z,l)=>({u_matrix:new o.c1(z,l.u_matrix),u_image:new o.b$(z,l.u_image),u_dimension:new o.c4(z,l.u_dimension),u_zoom:new o.br(z,l.u_zoom),u_unpack:new o.c2(z,l.u_unpack)}),colorRelief:(z,l)=>({u_image:new o.b$(z,l.u_image),u_unpack:new o.c2(z,l.u_unpack),u_dimension:new o.c4(z,l.u_dimension),u_elevation_stops:new o.b$(z,l.u_elevation_stops),u_color_stops:new o.b$(z,l.u_color_stops),u_color_ramp_size:new o.b$(z,l.u_color_ramp_size),u_opacity:new o.br(z,l.u_opacity)}),line:(z,l)=>({u_translation:new o.c4(z,l.u_translation),u_ratio:new o.br(z,l.u_ratio),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_units_to_pixels:new o.c4(z,l.u_units_to_pixels)}),lineGradient:(z,l)=>({u_translation:new o.c4(z,l.u_translation),u_ratio:new o.br(z,l.u_ratio),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_units_to_pixels:new o.c4(z,l.u_units_to_pixels),u_image:new o.b$(z,l.u_image),u_image_height:new o.br(z,l.u_image_height)}),linePattern:(z,l)=>({u_translation:new o.c4(z,l.u_translation),u_texsize:new o.c4(z,l.u_texsize),u_ratio:new o.br(z,l.u_ratio),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_image:new o.b$(z,l.u_image),u_units_to_pixels:new o.c4(z,l.u_units_to_pixels),u_scale:new o.c3(z,l.u_scale),u_fade:new o.br(z,l.u_fade)}),lineSDF:(z,l)=>({u_translation:new o.c4(z,l.u_translation),u_ratio:new o.br(z,l.u_ratio),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_units_to_pixels:new o.c4(z,l.u_units_to_pixels),u_image:new o.b$(z,l.u_image),u_mix:new o.br(z,l.u_mix),u_tileratio:new o.br(z,l.u_tileratio),u_crossfade_from:new o.br(z,l.u_crossfade_from),u_crossfade_to:new o.br(z,l.u_crossfade_to),u_lineatlas_width:new o.br(z,l.u_lineatlas_width),u_lineatlas_height:new o.br(z,l.u_lineatlas_height)}),lineGradientSDF:(z,l)=>({u_translation:new o.c4(z,l.u_translation),u_ratio:new o.br(z,l.u_ratio),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_units_to_pixels:new o.c4(z,l.u_units_to_pixels),u_image:new o.b$(z,l.u_image),u_image_height:new o.br(z,l.u_image_height),u_tileratio:new o.br(z,l.u_tileratio),u_crossfade_from:new o.br(z,l.u_crossfade_from),u_crossfade_to:new o.br(z,l.u_crossfade_to),u_image_dash:new o.b$(z,l.u_image_dash),u_mix:new o.br(z,l.u_mix),u_lineatlas_width:new o.br(z,l.u_lineatlas_width),u_lineatlas_height:new o.br(z,l.u_lineatlas_height)}),raster:(z,l)=>({u_tl_parent:new o.c4(z,l.u_tl_parent),u_scale_parent:new o.br(z,l.u_scale_parent),u_buffer_scale:new o.br(z,l.u_buffer_scale),u_fade_t:new o.br(z,l.u_fade_t),u_opacity:new o.br(z,l.u_opacity),u_image0:new o.b$(z,l.u_image0),u_image1:new o.b$(z,l.u_image1),u_brightness_low:new o.br(z,l.u_brightness_low),u_brightness_high:new o.br(z,l.u_brightness_high),u_saturation_factor:new o.br(z,l.u_saturation_factor),u_contrast_factor:new o.br(z,l.u_contrast_factor),u_spin_weights:new o.c3(z,l.u_spin_weights),u_coords_top:new o.c2(z,l.u_coords_top),u_coords_bottom:new o.c2(z,l.u_coords_bottom)}),symbolIcon:(z,l)=>({u_is_size_zoom_constant:new o.b$(z,l.u_is_size_zoom_constant),u_is_size_feature_constant:new o.b$(z,l.u_is_size_feature_constant),u_size_t:new o.br(z,l.u_size_t),u_size:new o.br(z,l.u_size),u_camera_to_center_distance:new o.br(z,l.u_camera_to_center_distance),u_pitch:new o.br(z,l.u_pitch),u_rotate_symbol:new o.b$(z,l.u_rotate_symbol),u_aspect_ratio:new o.br(z,l.u_aspect_ratio),u_fade_change:new o.br(z,l.u_fade_change),u_label_plane_matrix:new o.c1(z,l.u_label_plane_matrix),u_coord_matrix:new o.c1(z,l.u_coord_matrix),u_is_text:new o.b$(z,l.u_is_text),u_pitch_with_map:new o.b$(z,l.u_pitch_with_map),u_is_along_line:new o.b$(z,l.u_is_along_line),u_is_variable_anchor:new o.b$(z,l.u_is_variable_anchor),u_texsize:new o.c4(z,l.u_texsize),u_texture:new o.b$(z,l.u_texture),u_translation:new o.c4(z,l.u_translation),u_pitched_scale:new o.br(z,l.u_pitched_scale)}),symbolSDF:(z,l)=>({u_is_size_zoom_constant:new o.b$(z,l.u_is_size_zoom_constant),u_is_size_feature_constant:new o.b$(z,l.u_is_size_feature_constant),u_size_t:new o.br(z,l.u_size_t),u_size:new o.br(z,l.u_size),u_camera_to_center_distance:new o.br(z,l.u_camera_to_center_distance),u_pitch:new o.br(z,l.u_pitch),u_rotate_symbol:new o.b$(z,l.u_rotate_symbol),u_aspect_ratio:new o.br(z,l.u_aspect_ratio),u_fade_change:new o.br(z,l.u_fade_change),u_label_plane_matrix:new o.c1(z,l.u_label_plane_matrix),u_coord_matrix:new o.c1(z,l.u_coord_matrix),u_is_text:new o.b$(z,l.u_is_text),u_pitch_with_map:new o.b$(z,l.u_pitch_with_map),u_is_along_line:new o.b$(z,l.u_is_along_line),u_is_variable_anchor:new o.b$(z,l.u_is_variable_anchor),u_texsize:new o.c4(z,l.u_texsize),u_texture:new o.b$(z,l.u_texture),u_gamma_scale:new o.br(z,l.u_gamma_scale),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_is_halo:new o.b$(z,l.u_is_halo),u_translation:new o.c4(z,l.u_translation),u_pitched_scale:new o.br(z,l.u_pitched_scale)}),symbolTextAndIcon:(z,l)=>({u_is_size_zoom_constant:new o.b$(z,l.u_is_size_zoom_constant),u_is_size_feature_constant:new o.b$(z,l.u_is_size_feature_constant),u_size_t:new o.br(z,l.u_size_t),u_size:new o.br(z,l.u_size),u_camera_to_center_distance:new o.br(z,l.u_camera_to_center_distance),u_pitch:new o.br(z,l.u_pitch),u_rotate_symbol:new o.b$(z,l.u_rotate_symbol),u_aspect_ratio:new o.br(z,l.u_aspect_ratio),u_fade_change:new o.br(z,l.u_fade_change),u_label_plane_matrix:new o.c1(z,l.u_label_plane_matrix),u_coord_matrix:new o.c1(z,l.u_coord_matrix),u_is_text:new o.b$(z,l.u_is_text),u_pitch_with_map:new o.b$(z,l.u_pitch_with_map),u_is_along_line:new o.b$(z,l.u_is_along_line),u_is_variable_anchor:new o.b$(z,l.u_is_variable_anchor),u_texsize:new o.c4(z,l.u_texsize),u_texsize_icon:new o.c4(z,l.u_texsize_icon),u_texture:new o.b$(z,l.u_texture),u_texture_icon:new o.b$(z,l.u_texture_icon),u_gamma_scale:new o.br(z,l.u_gamma_scale),u_device_pixel_ratio:new o.br(z,l.u_device_pixel_ratio),u_is_halo:new o.b$(z,l.u_is_halo),u_translation:new o.c4(z,l.u_translation),u_pitched_scale:new o.br(z,l.u_pitched_scale)}),background:(z,l)=>({u_opacity:new o.br(z,l.u_opacity),u_color:new o.c0(z,l.u_color)}),backgroundPattern:(z,l)=>({u_opacity:new o.br(z,l.u_opacity),u_image:new o.b$(z,l.u_image),u_pattern_tl_a:new o.c4(z,l.u_pattern_tl_a),u_pattern_br_a:new o.c4(z,l.u_pattern_br_a),u_pattern_tl_b:new o.c4(z,l.u_pattern_tl_b),u_pattern_br_b:new o.c4(z,l.u_pattern_br_b),u_texsize:new o.c4(z,l.u_texsize),u_mix:new o.br(z,l.u_mix),u_pattern_size_a:new o.c4(z,l.u_pattern_size_a),u_pattern_size_b:new o.c4(z,l.u_pattern_size_b),u_scale_a:new o.br(z,l.u_scale_a),u_scale_b:new o.br(z,l.u_scale_b),u_pixel_coord_upper:new o.c4(z,l.u_pixel_coord_upper),u_pixel_coord_lower:new o.c4(z,l.u_pixel_coord_lower),u_tile_units_to_pixels:new o.br(z,l.u_tile_units_to_pixels)}),terrain:(z,l)=>({u_texture:new o.b$(z,l.u_texture),u_ele_delta:new o.br(z,l.u_ele_delta),u_fog_matrix:new o.c1(z,l.u_fog_matrix),u_fog_color:new o.c0(z,l.u_fog_color),u_fog_ground_blend:new o.br(z,l.u_fog_ground_blend),u_fog_ground_blend_opacity:new o.br(z,l.u_fog_ground_blend_opacity),u_horizon_color:new o.c0(z,l.u_horizon_color),u_horizon_fog_blend:new o.br(z,l.u_horizon_fog_blend),u_is_globe_mode:new o.br(z,l.u_is_globe_mode)}),terrainDepth:(z,l)=>({u_ele_delta:new o.br(z,l.u_ele_delta)}),terrainCoords:(z,l)=>({u_texture:new o.b$(z,l.u_texture),u_terrain_coords_id:new o.br(z,l.u_terrain_coords_id),u_ele_delta:new o.br(z,l.u_ele_delta)}),projectionErrorMeasurement:(z,l)=>({u_input:new o.br(z,l.u_input),u_output_expected:new o.br(z,l.u_output_expected)}),atmosphere:(z,l)=>({u_sun_pos:new o.c3(z,l.u_sun_pos),u_atmosphere_blend:new o.br(z,l.u_atmosphere_blend),u_globe_position:new o.c3(z,l.u_globe_position),u_globe_radius:new o.br(z,l.u_globe_radius),u_inv_proj_matrix:new o.c1(z,l.u_inv_proj_matrix)}),sky:(z,l)=>({u_sky_color:new o.c0(z,l.u_sky_color),u_horizon_color:new o.c0(z,l.u_horizon_color),u_horizon:new o.c4(z,l.u_horizon),u_horizon_normal:new o.c4(z,l.u_horizon_normal),u_sky_horizon_blend:new o.br(z,l.u_sky_horizon_blend),u_sky_blend:new o.br(z,l.u_sky_blend)})};class sn{constructor(l,m,T){this.context=l;let P=l.gl;this.buffer=P.createBuffer(),this.dynamicDraw=Boolean(T),this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),P.bufferData(P.ELEMENT_ARRAY_BUFFER,m.arrayBuffer,this.dynamicDraw?P.DYNAMIC_DRAW:P.STATIC_DRAW),this.dynamicDraw||delete m.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let m=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),m.bufferSubData(m.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let To={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Hi{constructor(l,m,T,P){this.length=m.length,this.attributes=T,this.itemSize=m.bytesPerElement,this.dynamicDraw=P,this.context=l;let V=l.gl;this.buffer=V.createBuffer(),l.bindVertexBuffer.set(this.buffer),V.bufferData(V.ARRAY_BUFFER,m.arrayBuffer,this.dynamicDraw?V.DYNAMIC_DRAW:V.STATIC_DRAW),this.dynamicDraw||delete m.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let m=this.context.gl;this.bind(),m.bufferSubData(m.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,m){for(let T=0;T0&&(fe.push({circleArray:Xt,circleOffset:Re,coord:Lt}),ye+=Xt.length/4,Re=ye),It&&se.draw(V,te.LINES,Ao.disabled,us.disabled,z.colorModeForRenderPass(),ms.disabled,gc(z.transform),z.style.map.terrain&&z.style.map.terrain.getTerrainData(Lt),W.getProjectionData({overscaledTileID:Lt,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),m.id,It.layoutVertexBuffer,It.indexBuffer,It.segments,null,z.transform.zoom,null,null,It.collisionVertexBuffer)}if(!P||!fe.length)return;let Me=z.useProgram("collisionCircle"),je=new o.cb;je.resize(4*ye),je._trim();let tt=0;for(let vt of fe)for(let Lt=0;Lt=0&&(yt[vt.associatedIconIndex]={shiftedAnchor:hi,angle:hn})}else Ya(vt.numGlyphs,je)}if(se){tt.clear();let At=z.icon.placedSymbolArray;for(let vt=0;vtz.style.map.terrain.getElevation(Cr,Tt,er):null,wt=m.layout.get("text-rotation-alignment")==="map";Ls(Pr,z,P,v,x,vt,fe,wt,Cr.toUnwrapped(),yt.width,yt.height,B,bt)}let Q=P&&zt||X,ue=Lt||Q?xf:vt?v:z.transform.clipSpaceToPixelsMatrix,Ae=hi&&m.paint.get(P?"text-halo-width":"icon-halo-width").constantOr(1)!==0,Te;Te=hi?Pr.iconsInText?Ur(hn.kind,di,Kt,vt,Lt,Q,z,ue,E,B,Ja,Wa,br):Br(hn.kind,di,Kt,vt,Lt,Q,z,ue,E,B,P,Ja,0,br):ar(hn.kind,di,Kt,vt,Lt,Q,z,ue,E,B,P,Ja,br);let at={program:$r,buffers:Ai,uniformValues:Te,projectionData:N,atlasTexture:ya,atlasTextureIcon:Hl,atlasInterpolation:jl,atlasInterpolationIcon:qs,isSDF:hi,hasHalo:Ae};if(It&&Pr.canOverlap){Xt=!0;let bt=Ai.segments.get();for(let wt of bt)jt.push({segments:new o.aY([wt]),sortKey:wt.sortKey,state:at,terrainData:oa})}else jt.push({segments:Ai.segments,sortKey:0,state:at,terrainData:oa})}Xt&&jt.sort((Cr,Rr)=>Cr.sortKey-Rr.sortKey);for(let Cr of jt){let Rr=Cr.state;if(je.activeTexture.set(tt.TEXTURE0),Rr.atlasTexture.bind(Rr.atlasInterpolation,tt.CLAMP_TO_EDGE),Rr.atlasTextureIcon&&(je.activeTexture.set(tt.TEXTURE1),Rr.atlasTextureIcon&&Rr.atlasTextureIcon.bind(Rr.atlasInterpolationIcon,tt.CLAMP_TO_EDGE)),Rr.isSDF){let Pr=Rr.uniformValues;Rr.hasHalo&&(Pr.u_is_halo=1,nn(Rr.buffers,Cr.segments,m,z,Rr.program,Rt,ye,Re,Pr,Rr.projectionData,Cr.terrainData)),Pr.u_is_halo=0}nn(Rr.buffers,Cr.segments,m,z,Rr.program,Rt,ye,Re,Rr.uniformValues,Rr.projectionData,Cr.terrainData)}}function nn(z,l,m,T,P,V,W,te,se,fe,ye){let Re=T.context;P.draw(Re,Re.gl.TRIANGLES,V,W,te,ms.backCCW,se,ye,fe,m.id,z.layoutVertexBuffer,z.indexBuffer,l,m.paint,T.transform.zoom,z.programConfigurations.get(m.id),z.dynamicLayoutVertexBuffer,z.opacityVertexBuffer)}function Xd(z,l,m,T,P){let V=z.context,W=V.gl,te=us.disabled,se=new ia([W.ONE,W.ONE],o.bq.transparent,[!0,!0,!0,!0]),fe=l.getBucket(m);if(!fe)return;let ye=T.key,Re=m.heatmapFbos.get(ye);Re||(Re=Au(V,l.tileSize,l.tileSize),m.heatmapFbos.set(ye,Re)),V.bindFramebuffer.set(Re.framebuffer),V.viewport.set([0,0,l.tileSize,l.tileSize]),V.clear({color:o.bq.transparent});let Me=fe.programConfigurations.get(m.id),je=z.useProgram("heatmap",Me,!P),tt=z.transform.getProjectionData({overscaledTileID:l.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),yt=z.style.map.terrain.getTerrainData(T);je.draw(V,W.TRIANGLES,Ao.disabled,te,se,ms.disabled,Ac(l,z.transform.zoom,m.paint.get("heatmap-intensity"),1),yt,tt,m.id,fe.layoutVertexBuffer,fe.indexBuffer,fe.segments,m.paint,z.transform.zoom,Me)}function Vc(z,l,m,T,P){let V=z.context,W=V.gl,te=z.transform;V.setColorMode(z.colorModeForRenderPass());let se=Cl(V,l),fe=m.key,ye=l.heatmapFbos.get(fe);if(!ye)return;V.activeTexture.set(W.TEXTURE0),W.bindTexture(W.TEXTURE_2D,ye.colorAttachment.get()),V.activeTexture.set(W.TEXTURE1),se.bind(W.LINEAR,W.CLAMP_TO_EDGE);let Re=te.getProjectionData({overscaledTileID:m,applyTerrainMatrix:P,applyGlobeMatrix:!T});z.useProgram("heatmapTexture").draw(V,W.TRIANGLES,Ao.disabled,us.disabled,z.colorModeForRenderPass(),ms.disabled,qn(z,l,0,1),null,Re,l.id,z.rasterBoundsBuffer,z.quadTriangleIndexBuffer,z.rasterBoundsSegments,l.paint,te.zoom),ye.destroy(),l.heatmapFbos.delete(fe)}function Au(z,l,m){var T,P;let V=z.gl,W=V.createTexture();V.bindTexture(V.TEXTURE_2D,W),V.texParameteri(V.TEXTURE_2D,V.TEXTURE_WRAP_S,V.CLAMP_TO_EDGE),V.texParameteri(V.TEXTURE_2D,V.TEXTURE_WRAP_T,V.CLAMP_TO_EDGE),V.texParameteri(V.TEXTURE_2D,V.TEXTURE_MIN_FILTER,V.LINEAR),V.texParameteri(V.TEXTURE_2D,V.TEXTURE_MAG_FILTER,V.LINEAR);let te=(T=z.HALF_FLOAT)!==null&&T!==void 0?T:V.UNSIGNED_BYTE,se=(P=z.RGBA16F)!==null&&P!==void 0?P:V.RGBA;V.texImage2D(V.TEXTURE_2D,0,se,l,m,0,V.RGBA,te,null);let fe=z.createFramebuffer(l,m,!1,!1);return fe.colorAttachment.set(W),fe}function Cl(z,l){return l.colorRampTexture||(l.colorRampTexture=new o.T(z,l.colorRamp,z.gl.RGBA)),l.colorRampTexture}function Zh(z,l,m,T,P,V,W,te){let se=256;if(P.stepInterpolant){let fe=l.getSource().maxzoom,ye=W.canonical.z===fe?Math.ceil(1<20&&Me.texParameterf(Me.TEXTURE_2D,Re.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Re.extTextureFilterAnisotropicMax);let _i=z.style.map.terrain&&z.style.map.terrain.getTerrainData(Rt),hi=tt.getProjectionData({overscaledTileID:Rt,aligned:vt,applyGlobeMatrix:!fe,applyTerrainMatrix:!0}),hn=qf(Pr,Rr,Ai.fadeMix,m,te),fo=yt.getMeshFromTileID(Re,Rt.canonical,V,W,"raster");je.draw(Re,Me.TRIANGLES,zt,P?P[Rt.overscaledZ]:us.disabled,At,se?ms.frontCCW:ms.backCCW,hn,_i,hi,m.id,fo.vertexBuffer,fo.indexBuffer,fo.segments)}}function Zf(z,l,m,T){let P={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(m===0||T)return P;if(z.fadingParentID){let V=l.getLoadedTile(z.fadingParentID);if(!V)return P;let W=Math.pow(2,V.tileID.overscaledZ-z.tileID.overscaledZ),te=[z.tileID.canonical.x*W%1,z.tileID.canonical.y*W%1],se=function(fe,ye,Re){let Me=k(),je=(Me-ye.timeAdded)/Re,tt=fe.fadingDirection===xr.Incoming,yt=o.ao((Me-fe.timeAdded)/Re,0,1),At=o.ao(1-je,0,1),vt=tt?yt:At;return{tileOpacity:vt,parentTileOpacity:tt?At:yt,fadeMix:{opacity:1,mix:1-vt}}}(z,V,m);return{parentTile:V,parentScaleBy:W,parentTopLeft:te,fadeValues:se}}if(z.selfFading){let V=function(W,te){let se=(k()-W.timeAdded)/te,fe=o.ao(se,0,1);return{tileOpacity:fe,fadeMix:{opacity:fe,mix:0}}}(z,m);return{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:V}}return P}let Zd=new o.bq(1,0,0,1),xd=new o.bq(0,1,0,1),mm=new o.bq(0,0,1,1),xh=new o.bq(1,0,1,1),Qu=new o.bq(0,1,1,1);function Yd(z,l,m,T){bh(z,0,l+m/2,z.transform.width,m,T)}function Kh(z,l,m,T){bh(z,l-m/2,0,m,z.transform.height,T)}function bh(z,l,m,T,P,V){let W=z.context,te=W.gl;te.enable(te.SCISSOR_TEST),te.scissor(l*z.pixelRatio,m*z.pixelRatio,T*z.pixelRatio,P*z.pixelRatio),W.clear({color:V}),te.disable(te.SCISSOR_TEST)}function Rp(z,l,m){let T=z.context,P=T.gl,V=z.useProgram("debug"),W=Ao.disabled,te=us.disabled,se=z.colorModeForRenderPass(),fe="$debug",ye=z.style.map.terrain&&z.style.map.terrain.getTerrainData(m);T.activeTexture.set(P.TEXTURE0);let Re=l.getTileByID(m.key).latestRawTileData,Me=Math.floor((Re&&Re.byteLength||0)/1024),je=l.getTile(m).tileSize,tt=512/Math.min(je,512)*(m.overscaledZ/z.transform.zoom)*.5,yt=m.canonical.toString();m.overscaledZ!==m.canonical.z&&(yt+=` => ${m.overscaledZ}`),function(vt,Lt){vt.initDebugOverlayCanvas();let Kt=vt.debugOverlayCanvas,It=vt.context.gl,Xt=vt.debugOverlayCanvas.getContext("2d");Xt.clearRect(0,0,Kt.width,Kt.height),Xt.shadowColor="white",Xt.shadowBlur=2,Xt.lineWidth=1.5,Xt.strokeStyle="white",Xt.textBaseline="top",Xt.font="bold 36px Open Sans, sans-serif",Xt.fillText(Lt,5,5),Xt.strokeText(Lt,5,5),vt.debugOverlayTexture.update(Kt),vt.debugOverlayTexture.bind(It.LINEAR,It.CLAMP_TO_EDGE)}(z,`${yt} ${Me}kB`);let At=z.transform.getProjectionData({overscaledTileID:m,applyGlobeMatrix:!0,applyTerrainMatrix:!0});V.draw(T,P.TRIANGLES,W,te,ia.alphaBlended,ms.disabled,Fl(o.bq.transparent,tt),null,At,fe,z.debugBuffer,z.quadTriangleIndexBuffer,z.debugSegments),V.draw(T,P.LINE_STRIP,W,te,se,ms.disabled,Fl(o.bq.red),ye,At,fe,z.debugBuffer,z.tileBorderIndexBuffer,z.debugSegments)}function bf(z,l,m,T){let{isRenderingGlobe:P}=T,V=z.context,W=V.gl,te=z.transform,se=z.colorModeForRenderPass(),fe=z.getDepthModeFor3D(),ye=z.useProgram("terrain");V.bindFramebuffer.set(null),V.viewport.set([0,0,z.width,z.height]);for(let Re of m){let Me=l.getTerrainMesh(Re.tileID),je=z.renderToTexture.getTexture(Re),tt=l.getTerrainData(Re.tileID);V.activeTexture.set(W.TEXTURE0),W.bindTexture(W.TEXTURE_2D,je.texture);let yt=l.getMeshFrameDelta(te.zoom),At=te.calculateFogMatrix(Re.tileID.toUnwrapped()),vt=Rs(yt,At,z.style.sky,te.pitch,P),Lt=te.getProjectionData({overscaledTileID:Re.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});ye.draw(V,W.TRIANGLES,fe,us.disabled,se,ms.backCCW,vt,tt,Lt,"terrain",Me.vertexBuffer,Me.indexBuffer,Me.segments)}}function Du(z,l){if(!l.mesh){let m=new o.aX;m.emplaceBack(-1,-1),m.emplaceBack(1,-1),m.emplaceBack(1,1),m.emplaceBack(-1,1);let T=new o.aZ;T.emplaceBack(0,1,2),T.emplaceBack(0,2,3),l.mesh=new Gs(z.createVertexBuffer(m,ec.members),z.createIndexBuffer(T),o.aY.simpleSegment(0,0,m.length,T.length))}return l.mesh}class Bp{constructor(l,m){this.context=new Lu(l),this.transform=m,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:o.as(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=si.maxOverzooming+si.maxUnderzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ql}resize(l,m,T){if(this.width=Math.floor(l*T),this.height=Math.floor(m*T),this.pixelRatio=T,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let P of this.style._order)this.style._layers[P].resize()}setup(){let l=this.context,m=new o.aX;m.emplaceBack(0,0),m.emplaceBack(o.a5,0),m.emplaceBack(0,o.a5),m.emplaceBack(o.a5,o.a5),this.tileExtentBuffer=l.createVertexBuffer(m,ec.members),this.tileExtentSegments=o.aY.simpleSegment(0,0,4,2);let T=new o.aX;T.emplaceBack(0,0),T.emplaceBack(o.a5,0),T.emplaceBack(0,o.a5),T.emplaceBack(o.a5,o.a5),this.debugBuffer=l.createVertexBuffer(T,ec.members),this.debugSegments=o.aY.simpleSegment(0,0,4,5);let P=new o.ci;P.emplaceBack(0,0,0,0),P.emplaceBack(o.a5,0,o.a5,0),P.emplaceBack(0,o.a5,0,o.a5),P.emplaceBack(o.a5,o.a5,o.a5,o.a5),this.rasterBoundsBuffer=l.createVertexBuffer(P,ao.members),this.rasterBoundsSegments=o.aY.simpleSegment(0,0,4,2);let V=new o.aX;V.emplaceBack(0,0),V.emplaceBack(o.a5,0),V.emplaceBack(0,o.a5),V.emplaceBack(o.a5,o.a5),this.rasterBoundsBufferPosOnly=l.createVertexBuffer(V,ec.members),this.rasterBoundsSegmentsPosOnly=o.aY.simpleSegment(0,0,4,5);let W=new o.aX;W.emplaceBack(0,0),W.emplaceBack(1,0),W.emplaceBack(0,1),W.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(W,ec.members),this.viewportSegments=o.aY.simpleSegment(0,0,4,2);let te=new o.cj;te.emplaceBack(0),te.emplaceBack(1),te.emplaceBack(3),te.emplaceBack(2),te.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(te);let se=new o.aZ;se.emplaceBack(1,0,2),se.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(se);let fe=this.context.gl;this.stencilClearMode=new us({func:fe.ALWAYS,mask:0},0,255,fe.ZERO,fe.ZERO,fe.ZERO),this.tileExtentMesh=new Gs(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let l=this.context,m=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let T=o.N();o.c8(T,0,this.width,this.height,0,0,1),o.Q(T,T,[m.drawingBufferWidth,m.drawingBufferHeight,0]);let P={mainMatrix:T,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:T};this.useProgram("clippingMask",null,!0).draw(l,m.TRIANGLES,Ao.disabled,this.stencilClearMode,ia.disabled,ms.disabled,null,null,P,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,m,T){if(this.currentStencilSource===l.source||!l.isTileClipped()||!m||!m.length)return;this.currentStencilSource=l.source,this.nextStencilID+m.length>256&&this.clearStencil();let P=this.context;P.setColorMode(ia.disabled),P.setDepthMode(Ao.disabled);let V={};for(let W of m)V[W.key]=this.nextStencilID++;this._renderTileMasks(V,m,T,!0),this._renderTileMasks(V,m,T,!1),this._tileClippingMaskIDs=V}_renderTileMasks(l,m,T,P){let V=this.context,W=V.gl,te=this.style.projection,se=this.transform,fe=this.useProgram("clippingMask");for(let ye of m){let Re=l[ye.key],Me=this.style.map.terrain&&this.style.map.terrain.getTerrainData(ye),je=te.getMeshFromTileID(this.context,ye.canonical,P,!0,"stencil"),tt=se.getProjectionData({overscaledTileID:ye,applyGlobeMatrix:!T,applyTerrainMatrix:!0});fe.draw(V,W.TRIANGLES,Ao.disabled,new us({func:W.ALWAYS,mask:0},Re,255,W.KEEP,W.KEEP,W.REPLACE),ia.disabled,T?ms.disabled:ms.backCCW,null,Me,tt,"$clipping",je.vertexBuffer,je.indexBuffer,je.segments)}}_renderTilesDepthBuffer(){let l=this.context,m=l.gl,T=this.style.projection,P=this.transform,V=this.useProgram("depth"),W=this.getDepthModeFor3D(),te=Qe(P,{tileSize:P.tileSize});for(let se of te){let fe=this.style.map.terrain&&this.style.map.terrain.getTerrainData(se),ye=T.getMeshFromTileID(this.context,se.canonical,!0,!0,"raster"),Re=P.getProjectionData({overscaledTileID:se,applyGlobeMatrix:!0,applyTerrainMatrix:!0});V.draw(l,m.TRIANGLES,W,us.disabled,ia.disabled,ms.backCCW,null,fe,Re,"$clipping",ye.vertexBuffer,ye.indexBuffer,ye.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,m=this.context.gl;return new us({func:m.NOTEQUAL,mask:255},l,255,m.KEEP,m.KEEP,m.REPLACE)}stencilModeForClipping(l){let m=this.context.gl;return new us({func:m.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,m.KEEP,m.KEEP,m.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(l){let m=this.context.gl,T=l.sort((W,te)=>te.overscaledZ-W.overscaledZ),P=T[T.length-1].overscaledZ,V=T[0].overscaledZ-P+1;if(V>1){this.currentStencilSource=void 0,this.nextStencilID+V>256&&this.clearStencil();let W={};for(let te=0;tete.overscaledZ-W.overscaledZ),P=T[T.length-1].overscaledZ,V=T[0].overscaledZ-P+1;if(this.clearStencil(),V>1){let W={},te={};for(let se=0;se0};for(let Me in W){let je=W[Me];je.used&&je.prepare(this.context),te[Me]=je.getVisibleCoordinates(!1),se[Me]=te[Me].slice().reverse(),fe[Me]=je.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let Me=0;Methis.useProgram(Me)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:m.showOverdrawInspector?o.bq.black:o.bq.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(Me,je){let tt=Me.context,yt=tt.gl,At=((Rt,zt,jt)=>{let br=Math.cos(zt.rollInRadians),Cr=Math.sin(zt.rollInRadians),Rr=bs(zt),Pr=zt.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:Rt.properties.get("sky-color"),u_horizon_color:Rt.properties.get("horizon-color"),u_horizon:[(zt.width/2-Rr*Cr)*jt,(zt.height/2+Rr*br)*jt],u_horizon_normal:[-Cr,br],u_sky_horizon_blend:Rt.properties.get("sky-horizon-blend")*zt.height/2*jt,u_sky_blend:Pr}})(je,Me.style.map.transform,Me.pixelRatio),vt=new Ao(yt.LEQUAL,Ao.ReadWrite,[0,1]),Lt=us.disabled,Kt=Me.colorModeForRenderPass(),It=Me.useProgram("sky"),Xt=Du(tt,je);It.draw(tt,yt.TRIANGLES,vt,Lt,Kt,ms.disabled,At,null,void 0,"sky",Xt.vertexBuffer,Xt.indexBuffer,Xt.segments)}(this,this.style.sky),this._showOverdrawInspector=m.showOverdrawInspector,this.depthRangeFor3D=[0,1-(l._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=V.length-1;this.currentLayer>=0;this.currentLayer--){let Me=this.style._layers[V[this.currentLayer]],je=W[Me.source],tt=te[Me.source];this._renderTileClippingMasks(Me,tt,!1),this.renderLayer(this,je,Me,tt,ye)}this.renderPass="translucent";let Re=!1;for(this.currentLayer=0;this.currentLayer({u_sun_pos:Pr,u_atmosphere_blend:Ai,u_globe_position:_i,u_globe_radius:hi,u_inv_proj_matrix:hn}))(It,Rt,[br[0],br[1],br[2]],zt,jt),Rr=Du(yt,je);vt.draw(yt,At.TRIANGLES,Lt,us.disabled,ia.alphaBlended,ms.disabled,Cr,null,null,"atmosphere",Rr.vertexBuffer,Rr.indexBuffer,Rr.segments)}(this,this.style.sky,this.style.light),this.options.showTileBoundaries){let Me=function(je,tt){let yt=null,At=Object.values(je._layers).flatMap(It=>It.source&&!It.isHidden(tt)?[je.tileManagers[It.source]]:[]),vt=At.filter(It=>It.getSource().type==="vector"),Lt=At.filter(It=>It.getSource().type!=="vector"),Kt=It=>{(!yt||yt.getSource().maxzoomKt(It)),yt||Lt.forEach(It=>Kt(It)),yt}(this.style,this.transform.zoom);Me&&function(je,tt,yt){for(let At=0;Atbr.getElevation(Pr,Ja,ya):null;El(_i,Cr,Rr,zt,jt,fo,di,hi,$r,o.aP(jt,Ai,Xt,Rt),Pr.toUnwrapped(),oa)}}}(fe,W,se,te,se.layout.get("text-rotation-alignment"),se.layout.get("text-pitch-alignment"),se.paint.get("text-translate"),se.paint.get("text-translate-anchor"),ye),se.paint.get("icon-opacity").constantOr(1)!==0&&An(W,te,se,fe,!1,se.paint.get("icon-translate"),se.paint.get("icon-translate-anchor"),se.layout.get("icon-rotation-alignment"),se.layout.get("icon-pitch-alignment"),se.layout.get("icon-keep-upright"),je,tt,Me),se.paint.get("text-opacity").constantOr(1)!==0&&An(W,te,se,fe,!0,se.paint.get("text-translate"),se.paint.get("text-translate-anchor"),se.layout.get("text-rotation-alignment"),se.layout.get("text-pitch-alignment"),se.layout.get("text-keep-upright"),je,tt,Me),te.map.showCollisionBoxes&&(fa(W,te,se,fe,!0),fa(W,te,se,fe,!1))}(l,m,T,P,this.style.placement.variableOffsets,V):o.co(T)?function(W,te,se,fe,ye){if(W.renderPass!=="translucent")return;let{isRenderingToTexture:Re}=ye,Me=se.paint.get("circle-opacity"),je=se.paint.get("circle-stroke-width"),tt=se.paint.get("circle-stroke-opacity"),yt=!se.layout.get("circle-sort-key").isConstant();if(Me.constantOr(1)===0&&(je.constantOr(1)===0||tt.constantOr(1)===0))return;let At=W.context,vt=At.gl,Lt=W.transform,Kt=W.getDepthModeForSublayer(0,Ao.ReadOnly),It=us.disabled,Xt=W.colorModeForRenderPass(),Rt=[],zt=Lt.getCircleRadiusCorrection();for(let jt=0;jtjt.sortKey-br.sortKey);for(let jt of Rt){let{programConfiguration:br,program:Cr,layoutVertexBuffer:Rr,indexBuffer:Pr,uniformValues:Ai,terrainData:_i,projectionData:hi}=jt.state;Cr.draw(At,vt.TRIANGLES,Kt,It,Xt,ms.backCCW,Ai,_i,hi,se.id,Rr,Pr,jt.segments,se.paint,W.transform.zoom,br)}}(l,m,T,P,V):o.cp(T)?function(W,te,se,fe,ye){if(se.paint.get("heatmap-opacity")===0)return;let Re=W.context,{isRenderingToTexture:Me,isRenderingGlobe:je}=ye;if(W.style.map.terrain){for(let tt of fe){let yt=te.getTile(tt);te.hasRenderableParent(tt)||(W.renderPass==="offscreen"?Xd(W,yt,se,tt,je):W.renderPass==="translucent"&&Vc(W,se,tt,Me,je))}Re.viewport.set([0,0,W.width,W.height])}else W.renderPass==="offscreen"?function(tt,yt,At,vt){let Lt=tt.context,Kt=Lt.gl,It=tt.transform,Xt=us.disabled,Rt=new ia([Kt.ONE,Kt.ONE],o.bq.transparent,[!0,!0,!0,!0]);(function(zt,jt,br){let Cr=zt.gl;zt.activeTexture.set(Cr.TEXTURE1),zt.viewport.set([0,0,jt.width/4,jt.height/4]);let Rr=br.heatmapFbos.get(o.ce);Rr?(Cr.bindTexture(Cr.TEXTURE_2D,Rr.colorAttachment.get()),zt.bindFramebuffer.set(Rr.framebuffer)):(Rr=Au(zt,jt.width/4,jt.height/4),br.heatmapFbos.set(o.ce,Rr))})(Lt,tt,At),Lt.clear({color:o.bq.transparent});for(let zt=0;zt0?m.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let m=this.imageManager.getPattern(l.from.toString()),T=this.imageManager.getPattern(l.to.toString());return!m||!T}useProgram(l,m,T=!1,P=[]){this.cache=this.cache||{};let V=!!this.style.map.terrain,W=this.style.projection,te=T?_a.projectionMercator:W.shaderPreludeCode,se=T?sl:W.shaderDefine,fe=l+(m?m.cacheKey:"")+`/${T?Ol:W.shaderVariantName}`+(this._showOverdrawInspector?"/overdraw":"")+(V?"/terrain":"")+(P?`/${P.join("/")}`:"");return this.cache[fe]||(this.cache[fe]=new Ts(this.context,_a[l],m,Pn[l],this._showOverdrawInspector,V,te,se,P)),this.cache[fe]}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 l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new o.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){var l,m;if(this._tileTextures){for(let T in this._tileTextures){let P=this._tileTextures[T];if(P)for(let V of P)V.destroy()}this._tileTextures={}}if(this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&((l=this.tileExtentMesh.vertexBuffer)===null||l===void 0||l.destroy()),this.tileExtentMesh&&((m=this.tileExtentMesh.indexBuffer)===null||m===void 0||m.destroy()),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.cache){for(let T in this.cache){let P=this.cache[T];P&&P.program&&this.context.gl.deleteProgram(P.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:m}=this.context.gl;return this.width!==l||this.height!==m}}function Kd(z,l){let m,T=!1,P=null,V=null,W=()=>{P=null,T&&(z.apply(V,m),P=setTimeout(W,l),T=!1)};return(...te)=>(T=!0,V=this,m=te,P||W(),P)}class Yf{constructor(l){this._getCurrentHash=()=>{let m=window.location.hash.replace("#","");if(this._hashName){let T;return m.split("&").map(P=>P.split("=")).forEach(P=>{P[0]===this._hashName&&(T=P)}),(T&&T[1]||"").split("/")}return m.split("/")},this._onHashChange=()=>{let m=this._getCurrentHash();if(!this._isValidHash(m))return!1;let T=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(m[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+m[2],+m[1]],zoom:+m[0],bearing:T,pitch:+(m[4]||0)}),!0},this._updateHashUnthrottled=()=>{let m=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,m)},this._removeHash=()=>{let m=this._getCurrentHash();if(m.length===0)return;let T=m.join("/"),P=T;P.split("&").length>0&&(P=P.split("&")[0]),this._hashName&&(P=`${this._hashName}=${T}`);let V=window.location.hash.replace(P,"");V.startsWith("#&")?V=V.slice(0,1)+V.slice(2):V==="#"&&(V="");let W=window.location.href.replace(/(#.+)?$/,V);W=W.replace("&&","&"),window.history.replaceState(window.history.state,null,W)},this._updateHash=Kd(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,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(l){let m=this._map.getCenter(),T=Math.round(100*this._map.getZoom())/100,P=Math.ceil((T*Math.LN2+Math.log(512/360/.5))/Math.LN10),V=Math.pow(10,P),W=Math.round(m.lng*V)/V,te=Math.round(m.lat*V)/V,se=this._map.getBearing(),fe=this._map.getPitch(),ye="";if(ye+=l?`/${W}/${te}/${T}`:`${T}/${te}/${W}`,(se||fe)&&(ye+="/"+Math.round(10*se)/10),fe&&(ye+=`/${Math.round(fe)}`),this._hashName){let Re=this._hashName,Me=!1,je=window.location.hash.slice(1).split("&").map(tt=>{let yt=tt.split("=")[0];return yt===Re?(Me=!0,`${yt}=${ye}`):tt}).filter(tt=>tt);return Me||je.push(`${Re}=${ye}`),`#${je.join("&")}`}return`#${ye}`}_isValidHash(l){if(l.length<3||l.some(isNaN))return!1;try{new o.V(+l[2],+l[1])}catch{return!1}let m=+l[0],T=+(l[3]||0),P=+(l[4]||0);return m>=this._map.getMinZoom()&&m<=this._map.getMaxZoom()&&T>=-180&&T<=180&&P>=this._map.getMinPitch()&&P<=this._map.getMaxPitch()}}let Qh={linearity:.3,easing:o.cx(0,0,.3,1)},w=o.e({deceleration:2500,maxSpeed:1400},Qh),M=o.e({deceleration:20,maxSpeed:1400},Qh),S=o.e({deceleration:1e3,maxSpeed:360},Qh),L=o.e({deceleration:1e3,maxSpeed:90},Qh),Y=o.e({deceleration:1e3,maxSpeed:360},Qh);class ie{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:k(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,m=k();for(;l.length>0&&m-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let m={zoom:0,bearing:0,pitch:0,roll:0,pan:new o.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:V}of this._inertiaBuffer)m.zoom+=V.zoomDelta||0,m.bearing+=V.bearingDelta||0,m.pitch+=V.pitchDelta||0,m.roll+=V.rollDelta||0,V.panDelta&&m.pan._add(V.panDelta),V.around&&(m.around=V.around),V.pinchAround&&(m.pinchAround=V.pinchAround);let T=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,P={};if(m.pan.mag()){let V=ge(m.pan.mag(),T,o.e({},w,l||{})),W=m.pan.mult(V.amount/m.pan.mag()),te=this._map.cameraHelper.handlePanInertia(W,this._map.transform);P.center=te.easingCenter,P.offset=te.easingOffset,ae(P,V)}if(m.zoom){let V=ge(m.zoom,T,M);P.zoom=this._map.transform.zoom+V.amount,ae(P,V)}if(m.bearing){let V=ge(m.bearing,T,S);P.bearing=this._map.transform.bearing+o.ao(V.amount,-179,179),ae(P,V)}if(m.pitch){let V=ge(m.pitch,T,L);P.pitch=this._map.transform.pitch+V.amount,ae(P,V)}if(m.roll){let V=ge(m.roll,T,Y);P.roll=this._map.transform.roll+o.ao(V.amount,-179,179),ae(P,V)}if(P.zoom||P.bearing){let V=m.pinchAround===void 0?m.around:m.pinchAround;P.around=V?this._map.unproject(V):this._map.getCenter()}return this.clear(),o.e(P,{noMoveStart:!0})}}function ae(z,l){(!z.duration||z.durationm.unproject(se)),te=V.reduce((se,fe,ye,Re)=>se.add(fe.div(Re.length)),new o.P(0,0));super(l,{points:V,point:te,lngLats:W,lngLat:m.unproject(te),originalEvent:T}),this._defaultPrevented=!1}}class ct extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,m,T){super(l,{originalEvent:T}),this._defaultPrevented=!1}}class ft{constructor(l,m){this._map=l,this._clickTolerance=m.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new ct(l.type,this._map,l))}mousedown(l,m){return this._mousedownPos=m,this._firePreventable(new Pe(l.type,this._map,l))}mouseup(l){this._map.fire(new Pe(l.type,this._map,l))}click(l,m){this._mousedownPos&&this._mousedownPos.dist(m)>=this._clickTolerance||this._map.fire(new Pe(l.type,this._map,l))}dblclick(l){return this._firePreventable(new Pe(l.type,this._map,l))}mouseover(l){this._map.fire(new Pe(l.type,this._map,l))}mouseout(l){this._map.fire(new Pe(l.type,this._map,l))}touchstart(l){return this._firePreventable(new Ue(l.type,this._map,l))}touchmove(l){this._map.fire(new Ue(l.type,this._map,l))}touchend(l){this._map.fire(new Ue(l.type,this._map,l))}touchcancel(l){this._map.fire(new Ue(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gt{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new Pe(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Pe("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new Pe(l.type,this._map,l)),this._map.listens("contextmenu")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ut{constructor(l){this._map=l}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(l){return this.transform.screenPointToLocation(o.P.convert(l),this._map.terrain)}}class Pt{constructor(l,m){this._map=l,this._tr=new ut(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=m.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,m){this.isEnabled()&&l.shiftKey&&l.button===0&&(U.disableDrag(),this._startPos=this._lastPos=m,this._active=!0)}mousemoveWindow(l,m){if(!this._active)return;let T=m;if(this._lastPos.equals(T)||!this._box&&T.dist(this._startPos)V.fitScreenCoordinates(T,P,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",l))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(U.remove(this._box),this._box=null),U.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,m){return this._map.fire(new o.l(l,{originalEvent:m}))}}function Wt(z,l){if(z.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${z.length}, points ${l.length}`);let m={};for(let T=0;Tthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),T.length===this.numTouches&&(this.centroid=function(P){let V=new o.P(0,0);for(let W of P)V._add(W);return V.div(P.length)}(m),this.touches=Wt(T,m)))}touchmove(l,m,T){if(this.aborted||!this.centroid)return;let P=Wt(T,m);for(let V in this.touches){let W=P[V];(!W||W.dist(this.touches[V])>30)&&(this.aborted=!0)}}touchend(l,m,T){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),T.length===0){let P=!this.aborted&&this.centroid;if(this.reset(),P)return P}}}class Zt{constructor(l){this.singleTap=new St(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,m,T){this.singleTap.touchstart(l,m,T)}touchmove(l,m,T){this.singleTap.touchmove(l,m,T)}touchend(l,m,T){let P=this.singleTap.touchend(l,m,T);if(P){let V=l.timeStamp-this.lastTime<500,W=!this.lastTap||this.lastTap.dist(P)<30;if(V&&W||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=P,this.count===this.numTaps)return this.reset(),P}}}class ir{constructor(l){this._tr=new ut(l),this._zoomIn=new Zt({numTouches:1,numTaps:2}),this._zoomOut=new Zt({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,m,T){this._zoomIn.touchstart(l,m,T),this._zoomOut.touchstart(l,m,T)}touchmove(l,m,T){this._zoomIn.touchmove(l,m,T),this._zoomOut.touchmove(l,m,T)}touchend(l,m,T){let P=this._zoomIn.touchend(l,m,T),V=this._zoomOut.touchend(l,m,T),W=this._tr;return P?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:te=>te.easeTo({duration:300,zoom:W.zoom+1,around:W.unproject(P)},{originalEvent:l})}):V?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:te=>te.easeTo({duration:300,zoom:W.zoom-1,around:W.unproject(V)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class dr{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let m=this._moveFunction(...l);if(m.bearingDelta||m.pitchDelta||m.rollDelta||m.around||m.panDelta)return this._active=!0,m}dragStart(l,m){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=Array.isArray(m)?m[0]:m,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,m){if(!this.isEnabled())return;let T=this._lastPoint;if(!T)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let P=Array.isArray(m)?m[0]:m;return!this._moved&&P.dist(T)!0}),m=new Ci){this.mouseMoveStateManager=l,this.oneFingerTouchMoveStateManager=m}_executeRelevantHandler(l,m,T){return l instanceof MouseEvent?m(l):typeof TouchEvent<"u"&&l instanceof TouchEvent?T(l):void 0}startMove(l){this._executeRelevantHandler(l,m=>this.mouseMoveStateManager.startMove(m),m=>this.oneFingerTouchMoveStateManager.startMove(m))}endMove(l){this._executeRelevantHandler(l,m=>this.mouseMoveStateManager.endMove(m),m=>this.oneFingerTouchMoveStateManager.endMove(m))}isValidStartEvent(l){return this._executeRelevantHandler(l,m=>this.mouseMoveStateManager.isValidStartEvent(m),m=>this.oneFingerTouchMoveStateManager.isValidStartEvent(m))}isValidMoveEvent(l){return this._executeRelevantHandler(l,m=>this.mouseMoveStateManager.isValidMoveEvent(m),m=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(m))}isValidEndEvent(l){return this._executeRelevantHandler(l,m=>this.mouseMoveStateManager.isValidEndEvent(m),m=>this.oneFingerTouchMoveStateManager.isValidEndEvent(m))}}let $i=z=>{z.mousedown=z.dragStart,z.mousemoveWindow=z.dragMove,z.mouseup=z.dragEnd,z.contextmenu=l=>{l.preventDefault()}};class bn{constructor(l,m){this._clickTolerance=l.clickTolerance||1,this._map=m,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new o.P(0,0)}_shouldBePrevented(l){return l<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(l,m,T){return this._calculateTransform(l,m,T)}touchmove(l,m,T){if(this._active){if(!this._shouldBePrevented(T.length))return l.preventDefault(),this._calculateTransform(l,m,T);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",l)}}touchend(l,m,T){this._calculateTransform(l,m,T),this._active&&this._shouldBePrevented(T.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(l,m,T){T.length>0&&(this._active=!0);let P=Wt(T,m),V=new o.P(0,0),W=new o.P(0,0),te=0;for(let fe in P){let ye=P[fe],Re=this._touches[fe];Re&&(V._add(ye),W._add(ye.sub(Re)),te++,P[fe]=ye)}if(this._touches=P,this._shouldBePrevented(te)||!W.mag())return;let se=W.div(te);return this._sum._add(se),this._sum.mag()Math.abs(z.x)}class Hn extends Tn{constructor(l){super(),this._currentTouchCount=0,this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,m,T){super.touchstart(l,m,T),this._currentTouchCount=T.length}_start(l){this._lastPoints=l,Gi(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,m,T){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let P=l[0].sub(this._lastPoints[0]),V=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(P,V,T.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(P.y+V.y)/2*-.5}):void 0}gestureBeginsVertically(l,m,T){if(this._valid!==void 0)return this._valid;let P=l.mag()>=2,V=m.mag()>=2;if(!P&&!V)return;if(!P||!V)return this._firstMove===void 0&&(this._firstMove=T),T-this._firstMove<100&&void 0;let W=l.y>0==m.y>0;return Gi(l)&&Gi(m)&&W}}let eo={panStep:100,bearingStep:15,pitchStep:10};class Dn{constructor(l){this._tr=new ut(l);let m=eo;this._panStep=m.panStep,this._bearingStep=m.bearingStep,this._pitchStep=m.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let m=0,T=0,P=0,V=0,W=0;switch(l.keyCode){case 61:case 107:case 171:case 187:m=1;break;case 189:case 109:case 173:m=-1;break;case 37:l.shiftKey?T=-1:(l.preventDefault(),V=-1);break;case 39:l.shiftKey?T=1:(l.preventDefault(),V=1);break;case 38:l.shiftKey?P=1:(l.preventDefault(),W=-1);break;case 40:l.shiftKey?P=-1:(l.preventDefault(),W=1);break;default:return}return this._rotationDisabled&&(T=0,P=0),{cameraAnimation:te=>{let se=this._tr;te.easeTo({duration:300,easeId:"keyboardHandler",easing:Rn,zoom:m?Math.round(se.zoom)+m*(l.shiftKey?2:1):se.zoom,bearing:se.bearing+T*this._bearingStep,pitch:se.pitch+P*this._pitchStep,offset:[-V*this._panStep,-W*this._panStep],center:se.center},{originalEvent:l})}}}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 Rn(z){return z*(2-z)}let Il=4.000244140625,Ga=1/450;class yc{constructor(l,m){this._onTimeout=T=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(T)},this._map=l,this._tr=new ut(l),this._triggerRenderFrame=m,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=Ga}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(l){return!!this._map.cooperativeGestures.isEnabled()&&!(l.ctrlKey||this._map.cooperativeGestures.isBypassed(l))}wheel(l){if(!this.isEnabled())return;if(this._shouldBePrevented(l))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",l);let m=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,T=k(),P=T-(this._lastWheelEventTime||0);this._lastWheelEventTime=T,m!==0&&m%Il==0?this._type="wheel":m!==0&&Math.abs(m)<4?this._type="trackpad":P>400?(this._type=null,this._lastValue=m,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(P*m)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,m+=this._lastValue)),l.shiftKey&&m&&(m/=4),this._type&&(this._lastWheelEvent=l,this._delta-=m,this._active||this._start(l)),l.preventDefault()}_start(l){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 m=U.mousePos(this._map.getCanvas(),l),T=this._tr;this._aroundPoint=this._aroundCenter?T.transform.locationToScreenPoint(o.V.convert(T.center)):m,this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(typeof this._lastExpectedZoom=="number"){let te=l.zoom-this._lastExpectedZoom;typeof this._startZoom=="number"&&(this._startZoom+=te),typeof this._targetZoom=="number"&&(this._targetZoom+=te)}if(this._delta!==0){let te=this._type==="wheel"&&Math.abs(this._delta)>Il?this._wheelZoomRate:this._defaultZoomRate,se=2/(1+Math.exp(-Math.abs(this._delta*te)));this._delta<0&&se!==0&&(se=1/se);let fe=typeof this._targetZoom!="number"?l.scale:o.ar(this._targetZoom);this._targetZoom=l.applyConstrain(l.getCameraLngLat(),o.au(fe*se)).zoom,this._type==="wheel"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let m=typeof this._targetZoom!="number"?l.zoom:this._targetZoom,T=this._startZoom,P=this._easing,V,W=!1;if(this._type==="wheel"&&T&&P){let te=k()-this._lastWheelEventTime,se=Math.min((te+5)/200,1),fe=P(se);V=o.G.number(T,m,fe),se<1?this._frameId||(this._frameId=!0):W=!0}else V=m,W=!0;return this._active=!0,W&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=V,{noInertia:!0,needsRenderFrame:!W,zoomDelta:V-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let m=o.cz;if(this._prevEase){let T=this._prevEase,P=(k()-T.start)/T.duration,V=T.easing(P+.01)-T.easing(P),W=.27/Math.sqrt(V*V+1e-4)*.01,te=Math.sqrt(.0729-W*W);m=o.cx(W,te,.25,1)}return this._prevEase={start:k(),duration:l,easing:m},m}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class cl{constructor(l,m){this._clickZoom=l,this._tapZoom=m}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 Vs{constructor(l){this._tr=new ut(l),this.reset()}reset(){this._active=!1}dblclick(l,m){return l.preventDefault(),{cameraAnimation:T=>{T.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(m)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ta{constructor(){this._tap=new Zt({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(l,m,T){if(!this._swipePoint)if(this._tapTime){let P=m[0],V=l.timeStamp-this._tapTime<500,W=this._tapPoint.dist(P)<30;V&&W?T.length>0&&(this._swipePoint=P,this._swipeTouch=T[0].identifier):this.reset()}else this._tap.touchstart(l,m,T)}touchmove(l,m,T){if(this._tapTime){if(this._swipePoint){if(T[0].identifier!==this._swipeTouch)return;let P=m[0],V=P.y-this._swipePoint.y;return this._swipePoint=P,l.preventDefault(),this._active=!0,{zoomDelta:V/128}}}else this._tap.touchmove(l,m,T)}touchend(l,m,T){if(this._tapTime)this._swipePoint&&T.length===0&&this.reset();else{let P=this._tap.touchend(l,m,T);P&&(this._tapTime=l.timeStamp,this._tapPoint=P)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class tn{constructor(l,m,T){this._el=l,this._mousePan=m,this._touchPan=T}enable(l){this._inertiaOptions=l||{},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 _n{constructor(l,m,T,P){this._pitchWithRotate=l.pitchWithRotate,this._rollEnabled=l.rollEnabled,this._mouseRotate=m,this._mousePitch=T,this._mouseRoll=P}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class Ju{constructor(l,m,T,P){this._el=l,this._touchZoom=m,this._touchRotate=T,this._tapDragZoom=P,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),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 jc{constructor(l,m){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=l,this._options=m,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let l=this._map.getCanvasContainer();l.classList.add("maplibregl-cooperative-gestures"),this._container=U.create("div","maplibregl-cooperative-gesture-screen",l);let m=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(m=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let T=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),P=document.createElement("div");P.className="maplibregl-desktop-message",P.textContent=m,this._container.appendChild(P);let V=document.createElement("div");V.className="maplibregl-mobile-message",V.textContent=T,this._container.appendChild(V),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(U.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(l){return l[this._bypassKey]}notifyGestureBlocked(l,m){this._enabled&&(this._map.fire(new o.l("cooperativegestureprevented",{gestureType:l,originalEvent:m})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let Hc=z=>z.zoom||z.drag||z.roll||z.pitch||z.rotate;class Fa extends o.l{}function Gc(z){return z.panDelta&&z.panDelta.mag()||z.zoomDelta||z.bearingDelta||z.pitchDelta||z.rollDelta}class bd{constructor(l,m){this.handleWindowEvent=P=>{this.handleEvent(P,`${P.type}Window`)},this.handleEvent=(P,V)=>{if(P.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let W=P.type==="renderFrame"?void 0:P,te={needsRenderFrame:!1},se={},fe={};for(let{handlerName:Me,handler:je,allowed:tt}of this._handlers){if(!je.isEnabled())continue;let yt;if(this._blockedByActive(fe,tt,Me))je.reset();else if(je[V||P.type]){if(o.cA(P,V||P.type)){let At=U.mousePos(this._map.getCanvas(),P);yt=je[V||P.type](P,At)}else if(o.cB(P,V||P.type)){let At=this._getMapTouches(P.touches),vt=U.touchPos(this._map.getCanvas(),At);yt=je[V||P.type](P,vt,At)}else o.cC(V||P.type)||(yt=je[V||P.type](P));this.mergeHandlerResult(te,se,yt,Me,W),yt&&yt.needsRenderFrame&&this._triggerRenderFrame()}(yt||je.isActive())&&(fe[Me]=je)}let ye={};for(let Me in this._previousActiveHandlers)fe[Me]||(ye[Me]=W);this._previousActiveHandlers=fe,(Object.keys(ye).length||Gc(te))&&(this._changes.push([te,se,ye]),this._triggerRenderFrame()),(Object.keys(fe).length||Gc(te))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:Re}=te;Re&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Re(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new ie(l),this._bearingSnap=m.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(m);let T=this._el;this._listeners=[[T,"touchstart",{passive:!0}],[T,"touchmove",{passive:!1}],[T,"touchend",void 0],[T,"touchcancel",void 0],[T,"mousedown",void 0],[T,"mousemove",void 0],[T,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[T,"mouseover",void 0],[T,"mouseout",void 0],[T,"dblclick",void 0],[T,"click",void 0],[T,"keydown",{capture:!1}],[T,"keyup",void 0],[T,"wheel",{passive:!1}],[T,"contextmenu",void 0],[window,"blur",void 0]];for(let[P,V,W]of this._listeners)U.addEventListener(P,V,P===document?this.handleWindowEvent:this.handleEvent,W)}destroy(){for(let[l,m,T]of this._listeners)U.removeEventListener(l,m,l===document?this.handleWindowEvent:this.handleEvent,T)}_addDefaultHandlers(l){let m=this._map,T=m.getCanvasContainer();this._add("mapEvent",new ft(m,l));let P=m.boxZoom=new Pt(m,l);this._add("boxZoom",P),l.interactive&&l.boxZoom&&P.enable();let V=m.cooperativeGestures=new jc(m,l.cooperativeGestures);this._add("cooperativeGestures",V),l.cooperativeGestures&&V.enable();let W=new ir(m),te=new Vs(m);m.doubleClickZoom=new cl(te,W),this._add("tapZoom",W),this._add("clickZoom",te),l.interactive&&l.doubleClickZoom&&m.doubleClickZoom.enable();let se=new Ta;this._add("tapDragZoom",se);let fe=m.touchPitch=new Hn(m);this._add("touchPitch",fe),l.interactive&&l.touchPitch&&m.touchPitch.enable(l.touchPitch);let ye=()=>m.project(m.getCenter()),Re=function({enable:It,clickTolerance:Xt,aroundCenter:Rt=!0,minPixelCenterThreshold:zt=100,rotateDegreesPerPixelMoved:jt=.8},br){let Cr=new ai({checkCorrectEvent:Rr=>U.mouseButton(Rr)===0&&Rr.ctrlKey||U.mouseButton(Rr)===2&&!Rr.ctrlKey});return new dr({clickTolerance:Xt,move:(Rr,Pr)=>{let Ai=br();if(Rt&&Math.abs(Ai.y-Rr.y)>zt)return{bearingDelta:o.cy(new o.P(Rr.x,Pr.y),Pr,Ai)};let _i=(Pr.x-Rr.x)*jt;return Rt&&Pr.yU.mouseButton(jt)===0&&jt.ctrlKey||U.mouseButton(jt)===2});return new dr({clickTolerance:Xt,move:(jt,br)=>({pitchDelta:(br.y-jt.y)*Rt}),moveStateManager:zt,enable:It,assignEvents:$i})}(l),je=function({enable:It,clickTolerance:Xt,rollDegreesPerPixelMoved:Rt=.3},zt){let jt=new ai({checkCorrectEvent:br=>U.mouseButton(br)===2&&br.ctrlKey});return new dr({clickTolerance:Xt,move:(br,Cr)=>{let Rr=zt(),Pr=(Cr.x-br.x)*Rt;return Cr.yU.mouseButton(zt)===0&&!zt.ctrlKey});return new dr({clickTolerance:Xt,move:(zt,jt)=>({around:jt,panDelta:jt.sub(zt)}),activateOnStart:!0,moveStateManager:Rt,enable:It,assignEvents:$i})}(l),yt=new bn(l,m);m.dragPan=new tn(T,tt,yt),this._add("mousePan",tt),this._add("touchPan",yt,["touchZoom","touchRotate"]),l.interactive&&l.dragPan&&m.dragPan.enable(l.dragPan);let At=new $n,vt=new qi;m.touchZoomRotate=new Ju(T,vt,At,se),this._add("touchRotate",At,["touchPan","touchZoom"]),this._add("touchZoom",vt,["touchPan","touchRotate"]),l.interactive&&l.touchZoomRotate&&m.touchZoomRotate.enable(l.touchZoomRotate),this._add("blockableMapEvent",new gt(m));let Lt=m.scrollZoom=new yc(m,()=>this._triggerRenderFrame());this._add("scrollZoom",Lt,["mousePan"]),l.interactive&&l.scrollZoom&&m.scrollZoom.enable(l.scrollZoom);let Kt=m.keyboard=new Dn(m);this._add("keyboard",Kt),l.interactive&&l.keyboard&&m.keyboard.enable()}_add(l,m,T){this._handlers.push({handlerName:l,handler:m,allowed:T}),this._handlersById[l]=m}stop(l){if(!this._updatingCamera){for(let{handler:m}of this._handlers)m.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(Hc(this._eventsInProgress))||this.isZooming()}_blockedByActive(l,m,T){for(let P in l)if(P!==T&&(!m||m.indexOf(P)<0))return!0;return!1}_getMapTouches(l){let m=[];for(let T of l)this._el.contains(T.target)&&m.push(T);return m}mergeHandlerResult(l,m,T,P,V){if(!T)return;o.e(l,T);let W={handlerName:P,originalEvent:T.originalEvent||V};T.zoomDelta!==void 0&&(m.zoom=W),T.panDelta!==void 0&&(m.drag=W),T.rollDelta!==void 0&&(m.roll=W),T.pitchDelta!==void 0&&(m.pitch=W),T.bearingDelta!==void 0&&(m.rotate=W)}_applyChanges(){let l={},m={},T={};for(let[P,V,W]of this._changes)P.panDelta&&(l.panDelta=(l.panDelta||new o.P(0,0))._add(P.panDelta)),P.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+P.zoomDelta),P.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+P.bearingDelta),P.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+P.pitchDelta),P.rollDelta&&(l.rollDelta=(l.rollDelta||0)+P.rollDelta),P.around!==void 0&&(l.around=P.around),P.pinchAround!==void 0&&(l.pinchAround=P.pinchAround),P.noInertia&&(l.noInertia=P.noInertia),o.e(m,V),o.e(T,W);this._updateMapTransform(l,m,T),this._changes=[]}_updateMapTransform(l,m,T){let P=this._map,V=P._getTransformForUpdate(),W=P.terrain;if(!(Gc(l)||W&&this._terrainMovement))return this._fireEvents(m,T,!0);P._stop(!0);let{panDelta:te,zoomDelta:se,bearingDelta:fe,pitchDelta:ye,rollDelta:Re,around:Me,pinchAround:je}=l;je!==void 0&&(Me=je),Me=Me||P.transform.centerPoint,W&&!V.isPointOnMapSurface(Me)&&(Me=V.centerPoint);let tt={panDelta:te,zoomDelta:se,rollDelta:Re,pitchDelta:ye,bearingDelta:fe,around:Me};this._map.cameraHelper.useGlobeControls&&!V.isPointOnMapSurface(Me)&&(Me=V.centerPoint);let yt=Me.distSqr(V.centerPoint)<.01?V.center:V.screenPointToLocation(te?Me.sub(te):Me);this._handleMapControls({terrain:W,tr:V,deltasForHelper:tt,preZoomAroundLoc:yt,combinedEventsInProgress:m,panDelta:te}),P._applyUpdatedTransform(V),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(m,T,!0)}_handleMapControls({terrain:l,tr:m,deltasForHelper:T,preZoomAroundLoc:P,combinedEventsInProgress:V,panDelta:W}){let te=this._map.cameraHelper;if(te.handleMapControlsRollPitchBearingZoom(T,m),l)return te.useGlobeControls?(this._terrainMovement||!V.drag&&!V.zoom||(this._terrainMovement=!0,this._map._elevationFreeze=!0),void te.handleMapControlsPan(T,m,P)):this._terrainMovement||!V.drag&&!V.zoom?void(V.drag&&this._terrainMovement&&W?m.setCenter(m.screenPointToLocation(m.centerPoint.sub(W))):te.handleMapControlsPan(T,m,P)):(this._terrainMovement=!0,this._map._elevationFreeze=!0,void te.handleMapControlsPan(T,m,P));te.handleMapControlsPan(T,m,P)}_fireEvents(l,m,T){let P=Hc(this._eventsInProgress),V=Hc(l),W={};for(let Re in l){let{originalEvent:Me}=l[Re];this._eventsInProgress[Re]||(W[`${Re}start`]=Me),this._eventsInProgress[Re]=l[Re]}!P&&V&&this._fireEvent("movestart",V.originalEvent);for(let Re in W)this._fireEvent(Re,W[Re]);V&&this._fireEvent("move",V.originalEvent);for(let Re in l){let{originalEvent:Me}=l[Re];this._fireEvent(Re,Me)}let te={},se;for(let Re in this._eventsInProgress){let{handlerName:Me,originalEvent:je}=this._eventsInProgress[Re];this._handlersById[Me].isActive()||(delete this._eventsInProgress[Re],se=m[Me]||je,te[`${Re}end`]=se)}for(let Re in te)this._fireEvent(Re,te[Re]);let fe=Hc(this._eventsInProgress),ye=(P||V)&&!fe;if(ye&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Re=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&Re.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(Re)}if(T&&ye){this._updatingCamera=!0;let Re=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Me=je=>je!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Fa("renderFrame",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class wd extends o.E{constructor(l,m,T){super(),this._renderFrameCallback=()=>{let P=Math.min((k()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(P)),P<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=T.bearingSnap,this.cameraHelper=m,this.on("moveend",()=>{delete this._requestedCameraState})}migrateProjection(l,m){l.apply(this.transform),this.transform=l,this.cameraHelper=m}getCenter(){return new o.V(this.transform.center.lng,this.transform.center.lat)}setCenter(l,m){return this.jumpTo({center:l},m)}getCenterElevation(){return this.transform.elevation}setCenterElevation(l,m){return this.jumpTo({elevation:l},m),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(l){this._centerClampedToGround=l}panBy(l,m,T){return l=o.P.convert(l).mult(-1),this.panTo(this.transform.center,o.e({offset:l},m),T)}panTo(l,m,T){return this.easeTo(o.e({center:l},m),T)}getZoom(){return this.transform.zoom}setZoom(l,m){return this.jumpTo({zoom:l},m),this}zoomTo(l,m,T){return this.easeTo(o.e({zoom:l},m),T)}zoomIn(l,m){return this.zoomTo(this.getZoom()+1,l,m),this}zoomOut(l,m){return this.zoomTo(this.getZoom()-1,l,m),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(l,m){return l!=this.transform.fov&&(this.transform.setFov(l),this.fire(new o.l("movestart",m)).fire(new o.l("move",m)).fire(new o.l("moveend",m))),this}getBearing(){return this.transform.bearing}setBearing(l,m){return this.jumpTo({bearing:l},m),this}getPadding(){return this.transform.padding}setPadding(l,m){return this.jumpTo({padding:l},m),this}rotateTo(l,m,T){return this.easeTo(o.e({bearing:l},m),T)}resetNorth(l,m){return this.rotateTo(0,o.e({duration:1e3},l),m),this}resetNorthPitch(l,m){return this.easeTo(o.e({bearing:0,pitch:0,roll:0,duration:1e3},l),m),this}snapToNorth(l,m){return Math.abs(this.getBearing()){yt.easeFunc(At),this.terrain&&!l.freezeElevation&&this._updateElevation(At),this._applyUpdatedTransform(T),this._fireMoveEvents(m)},At=>{this.terrain&&l.freezeElevation&&this._finalizeElevation(),this._afterEase(m,At)},l),this}_prepareEase(l,m,T={}){this._moving=!0,m||T.moving||this.fire(new o.l("movestart",l)),this._zooming&&!T.zooming&&this.fire(new o.l("zoomstart",l)),this._rotating&&!T.rotating&&this.fire(new o.l("rotatestart",l)),this._pitching&&!T.pitching&&this.fire(new o.l("pitchstart",l)),this._rolling&&!T.rolling&&this.fire(new o.l("rollstart",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this._elevationStart!==void 0&&this._elevationCenter!==void 0||this._prepareElevation(this.transform.center),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));let m=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&m!==this._elevationTarget){let T=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(T-(m-(T*l+this._elevationStart))/(1-l)),this._elevationTarget=m}this.transform.setElevation(o.G.number(this._elevationStart,this._elevationTarget,l))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(l){if(!this.terrain&&l.elevation>=0&&l.pitch<=90)return{};let m=l.getCameraLngLat(),T=l.getCameraAltitude(),P=this.terrain?this.terrain.getElevationForLngLatZoom(m,l.zoom):0;if(Tthis._elevateCameraIfInsideTerrain(P)),this.transformCameraUpdate&&m.push(P=>this.transformCameraUpdate(P)),!m.length)return;let T=l.clone();for(let P of m){let V=T.clone(),{center:W,zoom:te,roll:se,pitch:fe,bearing:ye,elevation:Re}=P(V);W&&V.setCenter(W),Re!==void 0&&V.setElevation(Re),te!==void 0&&V.setZoom(te),se!==void 0&&V.setRoll(se),fe!==void 0&&V.setPitch(fe),ye!==void 0&&V.setBearing(ye),T.apply(V)}this.transform.apply(T)}_fireMoveEvents(l){this.fire(new o.l("move",l)),this._zooming&&this.fire(new o.l("zoom",l)),this._rotating&&this.fire(new o.l("rotate",l)),this._pitching&&this.fire(new o.l("pitch",l)),this._rolling&&this.fire(new o.l("roll",l))}_afterEase(l,m){if(this._easeId&&m&&this._easeId===m)return;delete this._easeId;let T=this._zooming,P=this._rotating,V=this._pitching,W=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,T&&this.fire(new o.l("zoomend",l)),P&&this.fire(new o.l("rotateend",l)),V&&this.fire(new o.l("pitchend",l)),W&&this.fire(new o.l("rollend",l)),this.fire(new o.l("moveend",l))}flyTo(l,m){if(!l.essential&&I.prefersReducedMotion){let Pr=o.U(l,["center","zoom","bearing","pitch","roll","elevation","padding"]);return this.jumpTo(Pr,m)}this.stop(),l=o.e({offset:[0,0],speed:1.2,curve:1.42,easing:o.cz},l);let T=this._getTransformForUpdate(),P=T.bearing,V=T.pitch,W=T.roll,te=T.padding,se="bearing"in l?this._normalizeBearing(l.bearing,P):P,fe="pitch"in l?+l.pitch:V,ye="roll"in l?this._normalizeBearing(l.roll,W):W,Re="padding"in l?l.padding:T.padding,Me=o.P.convert(l.offset),je=T.centerPoint.add(Me),tt=T.screenPointToLocation(je),yt=this.cameraHelper.handleFlyTo(T,{bearing:se,pitch:fe,roll:ye,padding:Re,locationAtOffset:tt,offsetAsPoint:Me,center:l.center,minZoom:l.minZoom,zoom:l.zoom}),At=l.curve,vt=Math.max(T.width,T.height),Lt=vt/yt.scaleOfZoom,Kt=yt.pixelPathLength;typeof yt.scaleOfMinZoom=="number"&&(At=Math.sqrt(vt/yt.scaleOfMinZoom/Kt*2));let It=At*At;function Xt(Pr){let Ai=(Lt*Lt-vt*vt+(Pr?-1:1)*It*It*Kt*Kt)/(2*(Pr?Lt:vt)*It*Kt);return Math.log(Math.sqrt(Ai*Ai+1)-Ai)}function Rt(Pr){return(Math.exp(Pr)-Math.exp(-Pr))/2}function zt(Pr){return(Math.exp(Pr)+Math.exp(-Pr))/2}let jt=Xt(!1),br=function(Pr){return zt(jt)/zt(jt+At*Pr)},Cr=function(Pr){return vt*((zt(jt)*(Rt(Ai=jt+At*Pr)/zt(Ai))-Rt(jt))/It)/Kt;var Ai},Rr=(Xt(!0)-jt)/At;if(Math.abs(Kt)<2e-6||!isFinite(Rr)){if(Math.abs(vt-Lt)<1e-6)return this.easeTo(l,m);let Pr=Lt0,br=Ai=>Math.exp(Pr*At*Ai)}return l.duration="duration"in l?+l.duration:1e3*Rr/("screenSpeed"in l?+l.screenSpeed/At:+l.speed),l.maxDuration&&l.duration>l.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=P!==se,this._pitching=fe!==V,this._rolling=ye!==W,this._padding=!T.isPaddingEqual(Re),this._prepareEase(m,!1),this.terrain&&this._prepareElevation(yt.targetCenter),this._ease(Pr=>{let Ai=Pr*Rr,_i=1/br(Ai),hi=Cr(Ai);this._rotating&&T.setBearing(o.G.number(P,se,Pr)),this._pitching&&T.setPitch(o.G.number(V,fe,Pr)),this._rolling&&T.setRoll(o.G.number(W,ye,Pr)),this._padding&&(T.interpolatePadding(te,Re,Pr),je=T.centerPoint.add(Me)),yt.easeFunc(Pr,_i,hi,je),this.terrain&&!l.freezeElevation&&this._updateElevation(Pr),this._applyUpdatedTransform(T),this._fireMoveEvents(m)},()=>{this.terrain&&l.freezeElevation&&this._finalizeElevation(),this._afterEase(m)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,m){var T;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let P=this._onEaseEnd;delete this._onEaseEnd,P.call(this,m)}return l||(T=this.handlers)===null||T===void 0||T.stop(!1),this}_ease(l,m,T){T.animate===!1||T.duration===0?(l(1),m()):(this._easeStart=k(),this._easeOptions=T,this._onEaseFrame=l,this._onEaseEnd=m,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,m){l=o.W(l,-180,180);let T=Math.abs(l-m);return Math.abs(l-360-m)MapLibre'};class Ou{constructor(l=Td){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=m=>{!m||m.sourceDataType!=="metadata"&&m.sourceDataType!=="visibility"&&m.dataType!=="style"&&m.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=l}getDefaultPosition(){return"bottom-right"}onAdd(l){return this._map=l,this._compact=this.options.compact,this._container=U.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=U.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=U.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(){U.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(l,m){let T=this._map._getUIString(`AttributionControl.${m}`);l.title=T,l.setAttribute("aria-label",T)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(P=>typeof P!="string"?"":P)):typeof this.options.customAttribution=="string"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let P=this._map.style.stylesheet;this.styleOwner=P.owner,this.styleId=P.id}let m=this._map.style.tileManagers;for(let P in m){let V=m[P];if(V.used||V.usedForTerrain){let W=V.getSource();W.attribution&&l.indexOf(W.attribution)<0&&l.push(W.attribution)}}l=l.filter(P=>String(P).trim()),l.sort((P,V)=>P.length-V.length),l=l.filter((P,V)=>{for(let W=V+1;W=0)return!1;return!0});let T=l.join(" | ");T!==this._attribHTML&&(this._attribHTML=T,l.length?(this._innerContainer.innerHTML=U.sanitize(T),this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class iu{constructor(l={}){this._updateCompact=()=>{let m=this._container.children;if(m.length){let T=m[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&T.classList.add("maplibregl-compact"):T.classList.remove("maplibregl-compact")}},this.options=l}getDefaultPosition(){return"bottom-left"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=U.create("div","maplibregl-ctrl");let m=U.create("a","maplibregl-ctrl-logo");return m.target="_blank",m.rel="noopener nofollow",m.href="https://maplibre.org/",m.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),m.setAttribute("rel","noopener nofollow"),this._container.appendChild(m),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){U.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Sa{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let m=++this._id;return this._queue.push({callback:l,id:m,cancelled:!1}),m}remove(l){let m=this._currentlyRunning,T=m?this._queue.concat(m):this._queue;for(let P of T)if(P.id===l)return void(P.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let m=this._currentlyRunning=this._queue;this._queue=[];for(let T of m)if(!T.cancelled&&(T.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var na=o.aV([{name:"a_pos3d",type:"Int16",components:3}]);class zl extends o.E{constructor(l){super(),this._lastTilesetChange=k(),this.tileManager=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=l._source.tileSize*2**this.deltaZoom,l.usedForTerrain=!0,l.tileSize=this.tileSize}destruct(){this.tileManager.usedForTerrain=!1,this.tileManager.tileSize=null}getSource(){return this.tileManager._source}update(l,m){this.tileManager.update(l,m),this._renderableTilesKeys=[];let T={};for(let P of Qe(l,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:m,calculateTileZoom:this.tileManager._source.calculateTileZoom}))T[P.key]=!0,this._renderableTilesKeys.push(P.key),this._tiles[P.key]||(P.terrainRttPosMatrix32f=new Float64Array(16),o.c8(P.terrainRttPosMatrix32f,0,o.a5,o.a5,0,0,1),this._tiles[P.key]=new ti(P,this.tileSize),this._lastTilesetChange=k());for(let P in this._tiles)T[P]||delete this._tiles[P]}freeRtt(l){for(let m in this._tiles){let T=this._tiles[m];(!l||T.tileID.equals(l)||T.tileID.isChildOf(l)||l.isChildOf(T.tileID))&&(T.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l,m){return m?this._getTerrainCoordsForTileRanges(l,m):this._getTerrainCoordsForRegularTile(l)}_getTerrainCoordsForRegularTile(l){let m={};for(let T of this._renderableTilesKeys){let P=this._tiles[T].tileID,V=l.clone(),W=o.bl();if(P.canonical.equals(l.canonical))o.c8(W,0,o.a5,o.a5,0,0,1);else if(P.canonical.isChildOf(l.canonical)){let te=P.canonical.z-l.canonical.z,se=P.canonical.x-(P.canonical.x>>te<>te<>te;o.c8(W,0,ye,ye,0,0,1),o.O(W,W,[-se*ye,-fe*ye,0])}else{if(!l.canonical.isChildOf(P.canonical))continue;{let te=l.canonical.z-P.canonical.z,se=l.canonical.x-(l.canonical.x>>te<>te<>te;o.c8(W,0,o.a5,o.a5,0,0,1),o.O(W,W,[se*ye,fe*ye,0]),o.Q(W,W,[1/2**te,1/2**te,0])}}V.terrainRttPosMatrix32f=new Float32Array(W),m[T]=V}return m}_getTerrainCoordsForTileRanges(l,m){let T={};for(let P of this._renderableTilesKeys){let V=this._tiles[P].tileID;if(!this._isWithinTileRanges(V,m))continue;let W=l.clone(),te=o.bl();if(V.canonical.z===l.canonical.z){let se=l.canonical.x-V.canonical.x,fe=l.canonical.y-V.canonical.y;o.c8(te,0,o.a5,o.a5,0,0,1),o.O(te,te,[se*o.a5,fe*o.a5,0])}else if(V.canonical.z>l.canonical.z){let se=V.canonical.z-l.canonical.z,fe=V.canonical.x-(V.canonical.x>>se<>se<>se),Me=l.canonical.y-(V.canonical.y>>se),je=o.a5>>se;o.c8(te,0,je,je,0,0,1),o.O(te,te,[-fe*je+Re*o.a5,-ye*je+Me*o.a5,0])}else{let se=l.canonical.z-V.canonical.z,fe=l.canonical.x-(l.canonical.x>>se<>se<>se)-V.canonical.x,Me=(l.canonical.y>>se)-V.canonical.y,je=o.a5<T.maxzoom&&(P=T.maxzoom),P=T.minzoom&&!V?.dem;)V=this.findTileInCaches(l.scaledTo(P--).key);return V}findTileInCaches(l){let m=this.tileManager.getTileByID(l);return m||(m=this.tileManager._outOfViewCache.getByKey(l),m)}anyTilesAfterTime(l=Date.now()){return this._lastTilesetChange>=l}_isWithinTileRanges(l,m){return m[l.canonical.z]&&l.canonical.x>=m[l.canonical.z].minTileX&&l.canonical.x<=m[l.canonical.z].maxTileX&&l.canonical.y>=m[l.canonical.z].minTileY&&l.canonical.y<=m[l.canonical.z].maxTileY}}class eh{constructor(l,m,T){this._meshCache={},this.painter=l,this.tileManager=new zl(m),this.options=T,this.exaggeration=typeof T.exaggeration=="number"?T.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,m,T,P=o.a5){var V;if(!(m>=0&&m=0&&Tl.canonical.z&&(l.canonical.z>=P?V=l.canonical.z-P:o.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let W=l.canonical.x-(l.canonical.x>>V<>V<>8<<4|V>>8,m[W+3]=0;let T=new o.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(m.buffer)),P=new o.T(l,T,l.gl.RGBA,{premultiply:!1});return P.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=P,P}pointCoordinate(l){this.painter.maybeDrawDepthAndCoords(!0);let m=new Uint8Array(4),T=this.painter.context,P=T.gl,V=Math.round(l.x*this.painter.pixelRatio/devicePixelRatio),W=Math.round(l.y*this.painter.pixelRatio/devicePixelRatio),te=Math.round(this.painter.height/devicePixelRatio);T.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),P.readPixels(V,te-W-1,1,1,P.RGBA,P.UNSIGNED_BYTE,m),T.bindFramebuffer.set(null);let se=m[0]+(m[2]>>4<<8),fe=m[1]+((15&m[2])<<8),ye=this.coordsIndex[255-m[3]],Re=ye&&this.tileManager.getTileByID(ye);if(!Re)return null;let Me=this._coordsTextureSize,je=(1<0,P=T&&l.canonical.y===0,V=T&&l.canonical.y===(1<l.id!==m),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let m of this._recentlyUsed)if(!this._objects[m].inUse)return this._objects[m];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Ul={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0};class _s{constructor(l,m){this.painter=l,this.terrain=m,this.pool=new Jh(l.context,30,m.tileManager.tileSize*m.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,m){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=l._order.filter(T=>!l._layers[T].isHidden(m)),this._coordsAscending={};for(let T in l.tileManagers){this._coordsAscending[T]={};let P=l.tileManagers[T].getVisibleCoordinates(),V=l.tileManagers[T].getSource(),W=V instanceof ws?V.terrainTileRanges:null;for(let te of P){let se=this.terrain.tileManager.getTerrainCoords(te,W);for(let fe in se)this._coordsAscending[T][fe]||(this._coordsAscending[T][fe]=[]),this._coordsAscending[T][fe].push(se[fe])}}this._coordsAscendingStr={};for(let T of l._order){let P=l._layers[T],V=P.source;if(Ul[P.type]&&!this._coordsAscendingStr[V]){this._coordsAscendingStr[V]={};for(let W in this._coordsAscending[V])this._coordsAscendingStr[V][W]=this._coordsAscending[V][W].map(te=>te.key).sort().join()}}for(let T of this._renderableTiles)for(let P in this._coordsAscendingStr){let V=this._coordsAscendingStr[P][T.tileID.key];V&&V!==T.rttCoords[P]&&(T.rtt=[])}}renderLayer(l,m){if(l.isHidden(this.painter.transform.zoom))return!1;let T=Object.assign(Object.assign({},m),{isRenderingToTexture:!0}),P=l.type,V=this.painter,W=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Ul[P]&&(this._prevType&&Ul[this._prevType]||this._stacks.push([]),this._prevType=P,this._stacks[this._stacks.length-1].push(l.id),!W))return!0;if(Ul[this._prevType]||Ul[P]&&W){this._prevType=P;let te=this._stacks.length-1,se=this._stacks[te]||[];for(let fe of this._renderableTiles){if(this.pool.isFull()&&(bf(this.painter,this.terrain,this._rttTiles,T),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(fe),fe.rtt[te]){let Re=this.pool.getObjectForId(fe.rtt[te].id);if(Re.stamp===fe.rtt[te].stamp){this.pool.useObject(Re);continue}}let ye=this.pool.getOrCreateFreeObject();this.pool.useObject(ye),this.pool.stampObject(ye),fe.rtt[te]={id:ye.id,stamp:ye.stamp},V.context.bindFramebuffer.set(ye.fbo.framebuffer),V.context.clear({color:o.bq.transparent,stencil:0}),V.currentStencilSource=void 0;for(let Re=0;Re{this.startMove(V,U.mousePos(this.element,V)),U.addEventListener(window,"mousemove",this.mousemove),U.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=V=>{this.move(V,U.mousePos(this.element,V))},this.mouseup=V=>{this._rotatePitchHandler.dragEnd(V),this.offTemp()},this.touchstart=V=>{V.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=U.touchPos(this.element,V.targetTouches)[0],this.startMove(V,this._startPos),U.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),U.addEventListener(window,"touchend",this.touchend))},this.touchmove=V=>{V.targetTouches.length!==1?this.reset():(this._lastPos=U.touchPos(this.element,V.targetTouches)[0],this.move(V,this._lastPos))},this.touchend=V=>{V.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this._rotatePitchHandler.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=m;let P=new Si;this._rotatePitchHandler=new dr({clickTolerance:3,move:(V,W)=>{let te=m.getBoundingClientRect(),se=new o.P((te.bottom-te.top)/2,(te.right-te.left)/2);return{bearingDelta:o.cy(new o.P(V.x,W.y),W,se),pitchDelta:T?-.5*(W.y-V.y):void 0}},moveStateManager:P,enable:!0,assignEvents:()=>{}}),this.map=l,U.addEventListener(m,"mousedown",this.mousedown),U.addEventListener(m,"touchstart",this.touchstart,{passive:!1}),U.addEventListener(m,"touchcancel",this.reset)}startMove(l,m){this._rotatePitchHandler.dragStart(l,m),U.disableDrag()}move(l,m){let T=this.map,{bearingDelta:P,pitchDelta:V}=this._rotatePitchHandler.dragMove(l,m)||{};P&&T.setBearing(T.getBearing()+P),V&&T.setPitch(T.getPitch()+V)}off(){let l=this.element;U.removeEventListener(l,"mousedown",this.mousedown),U.removeEventListener(l,"touchstart",this.touchstart,{passive:!1}),U.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),U.removeEventListener(window,"touchend",this.touchend),U.removeEventListener(l,"touchcancel",this.reset),this.offTemp()}offTemp(){U.enableDrag(),U.removeEventListener(window,"mousemove",this.mousemove),U.removeEventListener(window,"mouseup",this.mouseup),U.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),U.removeEventListener(window,"touchend",this.touchend)}}let th;function Kf(z,l,m,T=!1){if(T||!m.getCoveringTilesDetailsProvider().allowWorldCopies())return z?.wrap();let P=new o.V(z.lng,z.lat);if(z=new o.V(z.lng,z.lat),l){let V=new o.V(z.lng-360,z.lat),W=new o.V(z.lng+360,z.lat),te=m.locationToScreenPoint(z).distSqr(l);m.locationToScreenPoint(V).distSqr(l)180;){let V=m.locationToScreenPoint(z);if(V.x>=0&&V.y>=0&&V.x<=m.width&&V.y<=m.height)break;z.lng>m.center.lng?z.lng-=360:z.lng+=360}return z.lng!==P.lng&&m.isPointOnMapSurface(m.locationToScreenPoint(z))?z:P}let wf={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 tf(z,l,m){let T=z.classList;for(let P in wf)T.remove(`maplibregl-${m}-anchor-${P}`);T.add(`maplibregl-${m}-anchor-${l}`)}class Tf extends o.E{constructor(l){if(super(),this._onKeyPress=m=>{let T=m.code,P=m.charCode||m.keyCode;T!=="Space"&&T!=="Enter"&&P!==32&&P!==13||this.togglePopup()},this._onMapClick=m=>{let T=m.originalEvent.target,P=this._element;this._popup&&(T===P||P.contains(T))&&this.togglePopup()},this._update=m=>{if(!this._map)return;let T=this._map.loaded()&&!this._map.isMoving();(m?.type==="terrain"||m?.type==="render"&&!T)&&this._map.once("render",this._update),this._lngLat=Kf(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let P="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?P=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(P=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let V="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?V="rotateX(0deg)":this._pitchAlignment==="map"&&(V=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||m&&m.type!=="moveend"||(this._pos=this._pos.round()),U.setTransform(this._element,`${wf[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${V} ${P}`),I.frameAsync(new AbortController).then(()=>{this._updateOpacity(m&&m.type==="moveend")}).catch(()=>{})},this._onMove=m=>{if(!this._isDragging){let T=this._clickTolerance||this._map._clickTolerance;this._isDragging=m.point.dist(this._pointerdownPos)>=T}this._isDragging&&(this._pos=m.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 o.l("dragstart"))),this.fire(new o.l("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 o.l("dragend")),this._state="inactive"},this._addDragHandler=m=>{this._element.contains(m.originalEvent.target)&&(m.preventDefault(),this._positionDelta=m.point.sub(this._pos).add(this._offset),this._pointerdownPos=m.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=l&&l.anchor||"center",this._color=l&&l.color||"#3FB1CE",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._subpixelPositioning=l&&l.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||"auto",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!=="auto"?l.pitchAlignment:this._rotationAlignment,this.setOpacity(l?.opacity,l?.opacityWhenCovered),l&&l.element)this._element=l.element,this._offset=o.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=U.create("div");let m=U.createNS("http://www.w3.org/2000/svg","svg"),T=41,P=27;m.setAttributeNS(null,"display","block"),m.setAttributeNS(null,"height",`${T}px`),m.setAttributeNS(null,"width",`${P}px`),m.setAttributeNS(null,"viewBox",`0 0 ${P} ${T}`);let V=U.createNS("http://www.w3.org/2000/svg","g");V.setAttributeNS(null,"stroke","none"),V.setAttributeNS(null,"stroke-width","1"),V.setAttributeNS(null,"fill","none"),V.setAttributeNS(null,"fill-rule","evenodd");let W=U.createNS("http://www.w3.org/2000/svg","g");W.setAttributeNS(null,"fill-rule","nonzero");let te=U.createNS("http://www.w3.org/2000/svg","g");te.setAttributeNS(null,"transform","translate(3.0, 29.0)"),te.setAttributeNS(null,"fill","#000000");let se=[{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 vt of se){let Lt=U.createNS("http://www.w3.org/2000/svg","ellipse");Lt.setAttributeNS(null,"opacity","0.04"),Lt.setAttributeNS(null,"cx","10.5"),Lt.setAttributeNS(null,"cy","5.80029008"),Lt.setAttributeNS(null,"rx",vt.rx),Lt.setAttributeNS(null,"ry",vt.ry),te.appendChild(Lt)}let fe=U.createNS("http://www.w3.org/2000/svg","g");fe.setAttributeNS(null,"fill",this._color);let ye=U.createNS("http://www.w3.org/2000/svg","path");ye.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"),fe.appendChild(ye);let Re=U.createNS("http://www.w3.org/2000/svg","g");Re.setAttributeNS(null,"opacity","0.25"),Re.setAttributeNS(null,"fill","#000000");let Me=U.createNS("http://www.w3.org/2000/svg","path");Me.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"),Re.appendChild(Me);let je=U.createNS("http://www.w3.org/2000/svg","g");je.setAttributeNS(null,"transform","translate(6.0, 7.0)"),je.setAttributeNS(null,"fill","#FFFFFF");let tt=U.createNS("http://www.w3.org/2000/svg","g");tt.setAttributeNS(null,"transform","translate(8.0, 8.0)");let yt=U.createNS("http://www.w3.org/2000/svg","circle");yt.setAttributeNS(null,"fill","#000000"),yt.setAttributeNS(null,"opacity","0.25"),yt.setAttributeNS(null,"cx","5.5"),yt.setAttributeNS(null,"cy","5.5"),yt.setAttributeNS(null,"r","5.4999962");let At=U.createNS("http://www.w3.org/2000/svg","circle");At.setAttributeNS(null,"fill","#FFFFFF"),At.setAttributeNS(null,"cx","5.5"),At.setAttributeNS(null,"cy","5.5"),At.setAttributeNS(null,"r","5.4999962"),tt.appendChild(yt),tt.appendChild(At),W.appendChild(te),W.appendChild(fe),W.appendChild(Re),W.appendChild(je),W.appendChild(tt),m.appendChild(W),m.setAttributeNS(null,"height",T*this._scale+"px"),m.setAttributeNS(null,"width",P*this._scale+"px"),this._element.appendChild(m),this._offset=o.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",m=>{m.preventDefault()}),this._element.addEventListener("mousedown",m=>{m.preventDefault()}),tf(this._element,this._anchor,"marker"),l&&l.className)for(let m of l.className.split(" "))this._element.classList.add(m);this._popup=null}addTo(l){return this.remove(),this._map=l,this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label",l._getUIString("Marker.Title")),this._element.hasAttribute("role")||this._element.setAttribute("role","button"),l.getCanvasContainer().appendChild(this._element),l.on("move",this._update),l.on("moveend",this._update),l.on("terrain",this._update),l.on("projectiontransition",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("projectiontransition",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),U.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=o.V.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),l){if(!("offset"in l.options)){let P=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[P,-1*(38.1-13.5+P)],"bottom-right":[-P,-1*(38.1-13.5+P)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(l){return this._subpixelPositioning=l,this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:l?(l.isOpen()?l.remove():(l.setLngLat(this._lngLat),l.addTo(this._map)),this):this}_updateOpacity(l=!1){var m,T;let P=(m=this._map)===null||m===void 0?void 0:m.terrain,V=this._map.transform.isLocationOccluded(this._lngLat);if(!P||V){let je=V?this._opacityWhenCovered:this._opacity;return void(this._element.style.opacity!==je&&(this._element.style.opacity=je))}if(l)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let W=this._map,te=W.terrain.depthAtPoint(this._pos),se=W.terrain.getElevationForLngLat(this._lngLat);if(W.transform.lngLatToCameraDepth(this._lngLat,se)-te<.006)return void(this._element.style.opacity=this._opacity);let fe=-this._offset.y/W.transform.pixelsPerMeter,ye=Math.sin(W.getPitch()*Math.PI/180)*fe,Re=W.terrain.depthAtPoint(new o.P(this._pos.x,this._pos.y-this._offset.y)),Me=W.transform.lngLatToCameraDepth(this._lngLat,se+ye)-Re>.006;!((T=this._popup)===null||T===void 0)&&T.isOpen()&&Me&&this._popup.remove(),this._element.style.opacity=Me?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(l){return this._offset=o.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(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(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!=="auto"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(l,m){return(this._opacity===void 0||l===void 0&&m===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),l!==void 0&&(this._opacity=l),m!==void 0&&(this._opacityWhenCovered=m),this._map&&this._updateOpacity(!0),this}}let og={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Fu=0,Vl=!1,M_={maxWidth:100,unit:"metric"};function sg(z,l,m){let T=m&&m.maxWidth||100,P=z._container.clientHeight/2,V=z._container.clientWidth/2,W=z.unproject([V-T/2,P]),te=z.unproject([V+T/2,P]),se=Math.round(z.project(te).x-z.project(W).x),fe=Math.min(T,se,z._container.clientWidth),ye=W.distanceTo(te);if(m&&m.unit==="imperial"){let Re=3.2808*ye;Re>5280?gm(l,fe,Re/5280,z._getUIString("ScaleControl.Miles")):gm(l,fe,Re,z._getUIString("ScaleControl.Feet"))}else m&&m.unit==="nautical"?gm(l,fe,ye/1852,z._getUIString("ScaleControl.NauticalMiles")):ye>=1e3?gm(l,fe,ye/1e3,z._getUIString("ScaleControl.Kilometers")):gm(l,fe,ye,z._getUIString("ScaleControl.Meters"))}function gm(z,l,m,T){let P=function(V){let W=Math.pow(10,`${Math.floor(V)}`.length-1),te=V/W;return te=te>=10?10:te>=5?5:te>=3?3:te>=2?2:te>=1?1:function(se){let fe=Math.pow(10,Math.ceil(-Math.log(se)/Math.LN10));return Math.round(se*fe)/fe}(te),W*te}(m);z.style.width=l*(P/m)+"px",z.innerHTML=`${P} ${T}`}let P_={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1,locationOccludedOpacity:void 0},R_=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function tA(z){if(z){if(typeof z=="number"){let l=Math.round(Math.abs(z)/Math.SQRT2);return{center:new o.P(0,0),top:new o.P(0,z),"top-left":new o.P(l,l),"top-right":new o.P(-l,l),bottom:new o.P(0,-z),"bottom-left":new o.P(l,-l),"bottom-right":new o.P(-l,-l),left:new o.P(z,0),right:new o.P(-z,0)}}if(z instanceof o.P||Array.isArray(z)){let l=o.P.convert(z);return{center:l,top:l,"top-left":l,"top-right":l,bottom:l,"bottom-left":l,"bottom-right":l,left:l,right:l}}return{center:o.P.convert(z.center||[0,0]),top:o.P.convert(z.top||[0,0]),"top-left":o.P.convert(z["top-left"]||[0,0]),"top-right":o.P.convert(z["top-right"]||[0,0]),bottom:o.P.convert(z.bottom||[0,0]),"bottom-left":o.P.convert(z["bottom-left"]||[0,0]),"bottom-right":o.P.convert(z["bottom-right"]||[0,0]),left:o.P.convert(z.left||[0,0]),right:o.P.convert(z.right||[0,0])}}return tA(new o.P(0,0))}let r0=s;n.AJAXError=o.cJ,n.Event=o.l,n.Evented=o.E,n.LngLat=o.V,n.MercatorCoordinate=o.ab,n.Point=o.P,n.addProtocol=o.cK,n.config=o.c,n.removeProtocol=o.cL,n.AttributionControl=Ou,n.BoxZoomHandler=Pt,n.CanvasSource=Fe,n.CooperativeGesturesHandler=jc,n.DoubleClickZoomHandler=cl,n.DragPanHandler=tn,n.DragRotateHandler=_n,n.EdgeInsets=Pu,n.FullscreenControl=class extends o.E{constructor(z={}){super(),this._onFullscreenChange=()=>{var l;let m=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((l=m?.shadowRoot)===null||l===void 0)&&l.fullscreenElement;)m=m.shadowRoot.fullscreenElement;m===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,z&&z.container&&(z.container instanceof HTMLElement?this._container=z.container:o.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(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=U.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){U.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let z=this._fullscreenButton=U.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);U.create("span","maplibregl-ctrl-icon",z).setAttribute("aria-hidden","true"),z.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let z=this._getTitle();this._fullscreenButton.setAttribute("aria-label",z),this._fullscreenButton.title=z}_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 o.l("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new o.l("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()}},n.GeoJSONSource=ps,n.GeolocateControl=class extends o.E{constructor(z){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new o.l("outofmaxbounds",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,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(l),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new o.l("geolocate",l)),this._finish()}},this._updateCamera=l=>{let m=new o.V(l.coords.longitude,l.coords.latitude),T=l.coords.accuracy,P=this._map.getBearing(),V=o.e({bearing:P},this.options.fitBoundsOptions),W=Ho.fromLngLat(m,T);this._map.fitBounds(W,V,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let m=new o.V(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(m).addTo(this._map),this._userLocationDotMarker.setLngLat(m).addTo(this._map),this._accuracy=l.coords.accuracy,this._updateCircleRadiusIfNeeded()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onUpdate=()=>{this._updateCircleRadiusIfNeeded()},this._onError=l=>{if(this._map){if(l.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 m=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Vl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new o.l("error",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",l=>l.preventDefault()),this._geolocateButton=U.create("button","maplibregl-ctrl-geolocate",this._container),U.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=l=>{if(this._map){if(l===!1){o.w("Geolocation support is not available so the GeolocateControl will be disabled.");let m=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m)}else{let m=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=U.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Tf({element:this._dotElement}),this._circleElement=U.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Tf({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onUpdate),this._map.on("move",this._onUpdate),this._map.on("rotate",this._onUpdate),this._map.on("pitch",this._onUpdate)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",m=>{let T=m?.[0]instanceof ResizeObserverEntry;m.geolocateSource||this._watchState!=="ACTIVE_LOCK"||T||this._map.isZooming()||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new o.l("trackuserlocationend")),this.fire(new o.l("userlocationlostfocus")))})}},this.options=o.e({},og,z)}onAdd(z){return this._map=z,this._container=U.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return o._(this,arguments,void 0,function*(l=!1){if(th!==void 0&&!l)return th;if(window.navigator.permissions===void 0)return th=!!window.navigator.geolocation,th;try{th=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{th=!!window.navigator.geolocation}return th})}().then(l=>this._finishSetupUI(l)),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(),U.remove(this._container),this._map.off("zoom",this._onUpdate),this._map.off("move",this._onUpdate),this._map.off("rotate",this._onUpdate),this._map.off("pitch",this._onUpdate),this._map=void 0,Fu=0,Vl=!1}_isOutOfMapMaxBounds(z){let l=this._map.getMaxBounds(),m=z.coords;return l&&(m.longitudel.getEast()||m.latitudel.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":case"BACKGROUND_ERROR":case"OFF":case void 0:break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadiusIfNeeded(){let z=this._userLocationDotMarker.getLngLat();if(!(this.options.showUserLocation&&this.options.showAccuracyCircle&&this._accuracy&&z))return;let l=this._map.project(z),m=this._map.unproject([l.x+100,l.y]),T=z.distanceTo(m)/100,P=2*this._accuracy/T;this._circleElement.style.width=`${P.toFixed(2)}px`,this._circleElement.style.height=`${P.toFixed(2)}px`}trigger(){if(!this._setup)return o.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 o.l("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Fu--,Vl=!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 o.l("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 o.l("trackuserlocationstart")),this.fire(new o.l("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 z;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Fu++,Fu>1?(z={maximumAge:6e5,timeout:0},Vl=!0):(z=this.options.positionOptions,Vl=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,z)}}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)}},n.GlobeControl=class{constructor(){this._toggleProjection=()=>{var z;let l=(z=this._map.getProjection())===null||z===void 0?void 0:z.type;this._map.setProjection(l!=="mercator"&&l?{type:"mercator"}:{type:"globe"}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{var z;this._globeButton.classList.remove("maplibregl-ctrl-globe"),this._globeButton.classList.remove("maplibregl-ctrl-globe-enabled"),((z=this._map.getProjection())===null||z===void 0?void 0:z.type)==="globe"?(this._globeButton.classList.add("maplibregl-ctrl-globe-enabled"),this._globeButton.title=this._map._getUIString("GlobeControl.Disable")):(this._globeButton.classList.add("maplibregl-ctrl-globe"),this._globeButton.title=this._map._getUIString("GlobeControl.Enable"))}}onAdd(z){return this._map=z,this._container=U.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._globeButton=U.create("button","maplibregl-ctrl-globe",this._container),U.create("span","maplibregl-ctrl-icon",this._globeButton).setAttribute("aria-hidden","true"),this._globeButton.type="button",this._globeButton.addEventListener("click",this._toggleProjection),this._updateGlobeIcon(),this._map.on("styledata",this._updateGlobeIcon),this._container}onRemove(){U.remove(this._container),this._map.off("styledata",this._updateGlobeIcon),this._globeButton.removeEventListener("click",this._toggleProjection),this._map=void 0}},n.Hash=Yf,n.ImageSource=ws,n.KeyboardHandler=Dn,n.LngLatBounds=Ho,n.LogoControl=iu,n.Map=class extends wd{constructor(z){var l,m;o.cH.mark(o.cI.create);let T=Object.assign(Object.assign(Object.assign({},ef),z),{canvasContextAttributes:Object.assign(Object.assign({},ef.canvasContextAttributes),z.canvasContextAttributes)});if(T.minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(T.minPitch!=null&&T.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(T.maxPitch!=null&&T.maxPitch>180)throw new Error("maxPitch must be less than or equal to 180");let P=new Gf,V=new Af;if(T.minZoom!==void 0&&P.setMinZoom(T.minZoom),T.maxZoom!==void 0&&P.setMaxZoom(T.maxZoom),T.minPitch!==void 0&&P.setMinPitch(T.minPitch),T.maxPitch!==void 0&&P.setMaxPitch(T.maxPitch),T.renderWorldCopies!==void 0&&P.setRenderWorldCopies(T.renderWorldCopies),T.transformConstrain!==null&&P.setConstrainOverride(T.transformConstrain),super(P,V,{bearingSnap:T.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Sa,this._controls=[],this._mapId=o.ah(),this._lostContextStyle={style:null,images:null},this._contextLost=te=>{te.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.painter.destroy();for(let se of Object.values(this.style._layers))if(se.type==="custom"&&console.warn(`Custom layer with id '${se.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`),se._listeners)for(let[fe]of Object.entries(se._listeners))console.warn(`Custom layer with id '${se.id}' had event listeners for event '${fe}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`);this._lostContextStyle=this._getStyleAndImages(),this.style.destroy(),this.style=null,this.fire(new o.l("webglcontextlost",{originalEvent:te}))},this._contextRestored=te=>{this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&(this.style.imageManager.images=this._lostContextStyle.images),this._setupPainter(),this.resize(),this._update(),this.fire(new o.l("webglcontextrestored",{originalEvent:te}))},this._onMapScroll=te=>{if(te.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},T.canvasContextAttributes),this._trackResize=T.trackResize===!0,this._bearingSnap=T.bearingSnap,this._centerClampedToGround=T.centerClampedToGround,this._refreshExpiredTiles=T.refreshExpiredTiles===!0,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions===!0,this._collectResourceTiming=T.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},yu),T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this._zoomLevelsToOverscale=T.experimentalZoomLevelsToOverscale,this.transformCameraUpdate=T.transformCameraUpdate,this.transformConstrain=T.transformConstrain,this.cancelPendingTileRequestsWhileZooming=T.cancelPendingTileRequestsWhileZooming===!0,T.reduceMotion!==void 0&&(I.prefersReducedMotion=T.reduceMotion),this._imageQueueHandle=Oe.addThrottleControl(()=>this.isMoving()),this._requestManager=new ne(T.transformRequest),typeof T.container=="string"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let te=!1,se=Kd(fe=>{this._trackResize&&!this._removed&&(this.resize(fe),this.redraw())},50);this._resizeObserver=new ResizeObserver(fe=>{te?se(fe):te=!0}),this._resizeObserver.observe(this._container)}this.handlers=new bd(this,T),this._hash=T.hash&&new Yf(typeof T.hash=="string"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,elevation:T.elevation,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch,roll:T.roll}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,o.e({},T.fitBoundsOptions,{duration:0}))));let W=typeof T.style=="string"||((m=(l=T.style)===null||l===void 0?void 0:l.projection)===null||m===void 0?void 0:m.type)!=="globe";this.resize(null,W),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new Ou(typeof T.attributionControl=="boolean"?void 0:T.attributionControl)),T.maplibreLogo&&this.addControl(new iu,T.logoPosition),this.on("style.load",()=>{if(W||this._resizeTransform(),this.transform.unmodified){let te=o.U(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(te)}}),this.on("data",te=>{this._update(te.dataType==="style"),this.fire(new o.l(`${te.dataType}data`,te))}),this.on("dataloading",te=>{this.fire(new o.l(`${te.dataType}dataloading`,te))}),this.on("dataabort",te=>{this.fire(new o.l("sourcedataabort",te))})}_getMapId(){return this._mapId}setGlobalStateProperty(z,l){return this.style.setGlobalStateProperty(z,l),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(z,l){if(l===void 0&&(l=z.getDefaultPosition?z.getDefaultPosition():"top-right"),!z||!z.onAdd)return this.fire(new o.k(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let m=z.onAdd(this);this._controls.push(z);let T=this._controlPositions[l];return l.indexOf("bottom")!==-1?T.insertBefore(m,T.firstChild):T.appendChild(m),this}removeControl(z){if(!z||!z.onRemove)return this.fire(new o.k(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let l=this._controls.indexOf(z);return l>-1&&this._controls.splice(l,1),z.onRemove(this),this}hasControl(z){return this._controls.indexOf(z)>-1}coveringTiles(z){return Qe(this.transform,z)}calculateCameraOptionsFromTo(z,l,m,T){return T==null&&this.terrain&&(T=this.terrain.getElevationForLngLat(m)),super.calculateCameraOptionsFromTo(z,l,m,T)}resize(z,l=!0){let[m,T]=this._containerDimensions(),P=this._getClampedPixelRatio(m,T);if(this._resizeCanvas(m,T,P),this.painter.resize(m,T,P),this.painter.overLimit()){let W=this.painter.context.gl;this._maxCanvasSize=[W.drawingBufferWidth,W.drawingBufferHeight];let te=this._getClampedPixelRatio(m,T);this._resizeCanvas(m,T,te),this.painter.resize(m,T,te)}this._resizeTransform(l);let V=!this._moving;return V&&(this.stop(),this.fire(new o.l("movestart",z)).fire(new o.l("move",z))),this.fire(new o.l("resize",z)),V&&this.fire(new o.l("moveend",z)),this}_resizeTransform(z=!0){var l;let[m,T]=this._containerDimensions();this.transform.resize(m,T,z),(l=this._requestedCameraState)===null||l===void 0||l.resize(m,T,z)}_getClampedPixelRatio(z,l){let{0:m,1:T}=this._maxCanvasSize,P=this.getPixelRatio(),V=z*P,W=l*P;return Math.min(V>m?m/V:1,W>T?T/W:1)*P}getPixelRatio(){var z;return(z=this._overridePixelRatio)!==null&&z!==void 0?z:devicePixelRatio}setPixelRatio(z){this._overridePixelRatio=z,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(z){return this.transform.setMaxBounds(Ho.convert(z)),this._update()}setMinZoom(z){if((z=z??-2)>=-2&&z<=this.transform.maxZoom)return this.transform.setMinZoom(z),this._update(),this.getZoom()=this.transform.minZoom)return this.transform.setMaxZoom(z),this._update(),this.getZoom()>z&&this.setZoom(z),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(z){if((z=z??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(z>=0&&z<=this.transform.maxPitch)return this.transform.setMinPitch(z),this._update(),this.getPitch()180)throw new Error("maxPitch must be less than or equal to 180");if(z>=this.transform.minPitch)return this.transform.setMaxPitch(z),this._update(),this.getPitch()>z&&this.setPitch(z),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(z){return this.transform.setRenderWorldCopies(z),this._update()}setTransformConstrain(z){return this.transform.setConstrainOverride(z),this._update()}project(z){return this.transform.locationToScreenPoint(o.V.convert(z),this.style&&this.terrain)}unproject(z){return this.transform.screenPointToLocation(o.P.convert(z),this.terrain)}isMoving(){var z;return this._moving||((z=this.handlers)===null||z===void 0?void 0:z.isMoving())}isZooming(){var z;return this._zooming||((z=this.handlers)===null||z===void 0?void 0:z.isZooming())}isRotating(){var z;return this._rotating||((z=this.handlers)===null||z===void 0?void 0:z.isRotating())}_createDelegatedListener(z,l,m){if(z==="mouseenter"||z==="mouseover"){let T=!1;return{layers:l,listener:m,delegates:{mousemove:V=>{let W=l.filter(se=>this.getLayer(se)),te=W.length!==0?this.queryRenderedFeatures(V.point,{layers:W}):[];te.length?T||(T=!0,m.call(this,new Pe(z,this,V.originalEvent,{features:te}))):T=!1},mouseout:()=>{T=!1}}}}if(z==="mouseleave"||z==="mouseout"){let T=!1;return{layers:l,listener:m,delegates:{mousemove:W=>{let te=l.filter(se=>this.getLayer(se));(te.length!==0?this.queryRenderedFeatures(W.point,{layers:te}):[]).length?T=!0:T&&(T=!1,m.call(this,new Pe(z,this,W.originalEvent)))},mouseout:W=>{T&&(T=!1,m.call(this,new Pe(z,this,W.originalEvent)))}}}}{let T=P=>{let V=l.filter(te=>this.getLayer(te)),W=V.length!==0?this.queryRenderedFeatures(P.point,{layers:V}):[];W.length&&(P.features=W,m.call(this,P),delete P.features)};return{layers:l,listener:m,delegates:{[z]:T}}}}_saveDelegatedListener(z,l){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[z]=this._delegatedListeners[z]||[],this._delegatedListeners[z].push(l)}_removeDelegatedListener(z,l,m){if(!this._delegatedListeners||!this._delegatedListeners[z])return;let T=this._delegatedListeners[z];for(let P=0;Pl.includes(W))){for(let W in V.delegates)this.off(W,V.delegates[W]);return void T.splice(P,1)}}}on(z,l,m){if(m===void 0)return super.on(z,l);let T=typeof l=="string"?[l]:l,P=this._createDelegatedListener(z,T,m);this._saveDelegatedListener(z,P);for(let V in P.delegates)this.on(V,P.delegates[V]);return{unsubscribe:()=>{this._removeDelegatedListener(z,T,m)}}}once(z,l,m){if(m===void 0)return super.once(z,l);let T=typeof l=="string"?[l]:l,P=this._createDelegatedListener(z,T,m);for(let V in P.delegates){let W=P.delegates[V];P.delegates[V]=(...te)=>{this._removeDelegatedListener(z,T,m),W(...te)}}this._saveDelegatedListener(z,P);for(let V in P.delegates)this.once(V,P.delegates[V]);return this}off(z,l,m){return m===void 0?super.off(z,l):(this._removeDelegatedListener(z,typeof l=="string"?[l]:l,m),this)}queryRenderedFeatures(z,l){if(!this.style)return[];let m,T=z instanceof o.P||Array.isArray(z),P=T?z:[[0,0],[this.transform.width,this.transform.height]];if(l=l||(T?{}:z)||{},P instanceof o.P||typeof P[0]=="number")m=[o.P.convert(P)];else{let V=o.P.convert(P[0]),W=o.P.convert(P[1]);m=[V,new o.P(W.x,V.y),W,new o.P(V.x,W.y),V]}return this.style.queryRenderedFeatures(m,l,this.transform)}querySourceFeatures(z,l){return this.style.querySourceFeatures(z,l)}setStyle(z,l){return(l=o.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},l)).diff!==!1&&l.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&z?(this._diffStyle(z,l),this):(this._localIdeographFontFamily=l.localIdeographFontFamily,this._updateStyle(z,l))}setTransformRequest(z){return this._requestManager.setTransformRequest(z),this}_getUIString(z){let l=this._locale[z];if(l==null)throw new Error(`Missing UI string '${z}'`);return l}_updateStyle(z,l){var m,T;if(l.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(z,l));let P=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!z)),z?(this.style=new Ms(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof z=="string"?this.style.loadURL(z,l,P):this.style.loadJSON(z,l,P),this):((T=(m=this.style)===null||m===void 0?void 0:m.projection)===null||T===void 0||T.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ms(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(z,l){if(typeof z=="string"){let m=this._requestManager.transformRequest(z,"Style");o.j(m,new AbortController).then(T=>{this._updateDiff(T.data,l)}).catch(T=>{T&&this.fire(new o.k(T))})}else typeof z=="object"&&this._updateDiff(z,l)}_updateDiff(z,l){try{this.style.setState(z,l)&&this._update(!0)}catch(m){o.w(`Unable to perform style diff: ${m.message||m.error||m}. Rebuilding the style from scratch.`),this._updateStyle(z,l)}}getStyle(){if(this.style)return this.style.serialize()}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){return this.style?this.style.loaded():o.w("There is no style added to the map.")}addSource(z,l){return this._lazyInitEmptyStyle(),this.style.addSource(z,l),this._update(!0)}isSourceLoaded(z){let l=this.style&&this.style.tileManagers[z];if(l!==void 0)return l.loaded();this.fire(new o.k(new Error(`There is no tile manager with ID '${z}'`)))}setTerrain(z){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),z){let l=this.style.tileManagers[z.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${z.source}`);this.terrain===null&&l.reload();for(let m in this.style._layers){let T=this.style._layers[m];T.type==="hillshade"&&T.source===z.source&&o.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."),T.type==="color-relief"&&T.source===z.source&&o.w("You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new eh(this.painter,l,z),this.painter.renderToTexture=new _s(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=m=>{var T;m.dataType==="style"?this.terrain.tileManager.freeRtt():m.dataType==="source"&&m.tile&&(m.sourceId!==z.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),((T=m.source)===null||T===void 0?void 0:T.type)==="image"?this.terrain.tileManager.freeRtt():this.terrain.tileManager.freeRtt(m.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.tileManager.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new o.l("terrain",{terrain:z})),this}getTerrain(){var z,l;return(l=(z=this.terrain)===null||z===void 0?void 0:z.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let z=this.style&&this.style.tileManagers;for(let l of Object.values(z))if(!l.areTilesLoaded())return!1;return!0}removeSource(z){return this.style.removeSource(z),this._update(!0)}getSource(z){return this.style.getSource(z)}setSourceTileLodParams(z,l,m){if(m){let T=this.getSource(m);if(!T)throw new Error(`There is no source with ID "${m}", cannot set LOD parameters`);T.calculateTileZoom=$e(Math.max(1,z),Math.max(1,l))}else for(let T in this.style.tileManagers)this.style.tileManagers[T].getSource().calculateTileZoom=$e(Math.max(1,z),Math.max(1,l));return this._update(!0),this}refreshTiles(z,l){let m=this.style.tileManagers[z];if(!m)throw new Error(`There is no tile manager with ID "${z}", cannot refresh tile`);l===void 0?m.reload(!0):m.refreshTiles(l.map(T=>new o.ae(T.z,T.x,T.y)))}addImage(z,l,m={}){let{pixelRatio:T=1,sdf:P=!1,stretchX:V,stretchY:W,content:te,textFitWidth:se,textFitHeight:fe}=m;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||o.b(l))){if(l.width===void 0||l.height===void 0)return this.fire(new o.k(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:ye,height:Re,data:Me}=l,je=l;return this.style.addImage(z,{data:new o.R({width:ye,height:Re},new Uint8Array(Me)),pixelRatio:T,stretchX:V,stretchY:W,content:te,textFitWidth:se,textFitHeight:fe,sdf:P,version:0,userImage:je}),je.onAdd&&je.onAdd(this,z),this}}{let{width:ye,height:Re,data:Me}=I.getImageData(l);this.style.addImage(z,{data:new o.R({width:ye,height:Re},Me),pixelRatio:T,stretchX:V,stretchY:W,content:te,textFitWidth:se,textFitHeight:fe,sdf:P,version:0})}}updateImage(z,l){let m=this.style.getImage(z);if(!m)return this.fire(new o.k(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let T=l instanceof HTMLImageElement||o.b(l)?I.getImageData(l):l,{width:P,height:V,data:W}=T;if(P===void 0||V===void 0)return this.fire(new o.k(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(P!==m.data.width||V!==m.data.height)return this.fire(new o.k(new Error("The width and height of the updated image must be that same as the previous version of the image")));let te=!(l instanceof HTMLImageElement||o.b(l));return m.data.replace(W,te),this.style.updateImage(z,m),this}getImage(z){return this.style.getImage(z)}hasImage(z){return z?!!this.style.getImage(z):(this.fire(new o.k(new Error("Missing required image id"))),!1)}removeImage(z){this.style.removeImage(z)}loadImage(z){return Oe.getImage(this._requestManager.transformRequest(z,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(z,l){return this._lazyInitEmptyStyle(),this.style.addLayer(z,l),this._update(!0)}moveLayer(z,l){return this.style.moveLayer(z,l),this._update(!0)}removeLayer(z){return this.style.removeLayer(z),this._update(!0)}getLayer(z){return this.style.getLayer(z)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(z,l,m){return this.style.setLayerZoomRange(z,l,m),this._update(!0)}setFilter(z,l,m={}){return this.style.setFilter(z,l,m),this._update(!0)}getFilter(z){return this.style.getFilter(z)}setPaintProperty(z,l,m,T={}){return this.style.setPaintProperty(z,l,m,T),this._update(!0)}getPaintProperty(z,l){return this.style.getPaintProperty(z,l)}setLayoutProperty(z,l,m,T={}){return this.style.setLayoutProperty(z,l,m,T),this._update(!0)}getLayoutProperty(z,l){return this.style.getLayoutProperty(z,l)}setGlyphs(z,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(z,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(z,l,m={}){return this._lazyInitEmptyStyle(),this.style.addSprite(z,l,m,T=>{T||this._update(!0)}),this}removeSprite(z){return this._lazyInitEmptyStyle(),this.style.removeSprite(z),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(z,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(z,l,m=>{m||this._update(!0)}),this}setLight(z,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(z,l),this._update(!0)}getLight(){return this.style.getLight()}setSky(z,l={}){return this._lazyInitEmptyStyle(),this.style.setSky(z,l),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(z,l){return this.style.setFeatureState(z,l),this._update()}removeFeatureState(z,l){return this.style.removeFeatureState(z,l),this._update()}getFeatureState(z){return this.style.getFeatureState(z)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let z=0,l=0;return this._container&&(z=this._container.clientWidth||400,l=this._container.clientHeight||300),[z,l]}_setupContainer(){let z=this._container;z.classList.add("maplibregl-map");let l=this._canvasContainer=U.create("div","maplibregl-canvas-container",z);this._interactive&&l.classList.add("maplibregl-interactive"),this._canvas=U.create("canvas","maplibregl-canvas",l),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 m=this._containerDimensions(),T=this._getClampedPixelRatio(m[0],m[1]);this._resizeCanvas(m[0],m[1],T);let P=this._controlContainer=U.create("div","maplibregl-control-container",z),V=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(W=>{V[W]=U.create("div",`maplibregl-ctrl-${W} `,P)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(z,l,m){this._canvas.width=Math.floor(m*z),this._canvas.height=Math.floor(m*l),this._canvas.style.width=`${z}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let z=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0}),l=null;this._canvas.addEventListener("webglcontextcreationerror",T=>{l={requestedAttributes:z},T&&(l.statusMessage=T.statusMessage,l.type=T.type)},{once:!0});let m=null;if(m=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,z):this._canvas.getContext("webgl2",z)||this._canvas.getContext("webgl",z),!m){let T="Failed to initialize WebGL";throw l?(l.message=T,new Error(JSON.stringify(l))):new Error(T)}this.painter=new Bp(m,this.transform),K.testSupport(m)}migrateProjection(z,l){super.migrateProjection(z,l),this.painter.transform=z,this.fire(new o.l("projectiontransition",{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(z){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||z,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(z){return this._update(),this._renderTaskQueue.add(z)}_cancelRenderFrame(z){this._renderTaskQueue.remove(z)}_render(z){var l,m,T,P,V;let W=this._idleTriggered?this._fadeDuration:0,te=((l=this.style.projection)===null||l===void 0?void 0:l.transitionState)>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(z),this._removed)return;let se=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let Re=this.transform.zoom,Me=k();this.style.zoomHistory.update(Re,Me);let je=new o.H(Re,{now:Me,fadeDuration:W,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),tt=je.crossFadingFactor();tt===1&&tt===this._crossFadingFactor||(se=!0,this._crossFadingFactor=tt),this.style.update(je)}let fe=((m=this.style.projection)===null||m===void 0?void 0:m.transitionState)>0!==te;(T=this.style.projection)===null||T===void 0||T.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState((P=this.style.projection)===null||P===void 0?void 0:P.transitionState,(V=this.style.projection)===null||V===void 0?void 0:V.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||fe)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.tileManager.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style&&this.style._updatePlacement(this.transform,this.showCollisionBoxes,W,this._crossSourceCollisions,fe),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 o.l("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,o.cH.mark(o.cI.load),this.fire(new o.l("load"))),this.style&&(this.style.hasTransitions()||se)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let ye=this._sourcesDirty||this._styleDirty||this._placementDirty;return ye||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new o.l("idle")),!this._loaded||this._fullyLoaded||ye||(this._fullyLoaded=!0,o.cH.mark(o.cI.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var z;this._hash&&this._hash.remove();for(let m of this._controls)m.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<"u"&&removeEventListener("online",this._onWindowOnline,!1),Oe.removeThrottleControl(this._imageQueueHandle),(z=this._resizeObserver)===null||z===void 0||z.disconnect();let l=this.painter.context.gl.getExtension("WEBGL_lose_context");l?.loseContext&&l.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),U.remove(this._canvasContainer),U.remove(this._controlContainer),this._container.removeEventListener("scroll",this._onMapScroll,!1),this._container.classList.remove("maplibregl-map"),o.cH.clearMetrics(),this._removed=!0,this.fire(new o.l("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,I.frame(this._frameRequest,z=>{o.cH.frame(z),this._frameRequest=null;try{this._render(z)}catch(l){if(!o.Z(l)&&!function(m){return m.message===gu}(l))throw l}},()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(z){this._showTileBoundaries!==z&&(this._showTileBoundaries=z,this._update())}get showPadding(){return!!this._showPadding}set showPadding(z){this._showPadding!==z&&(this._showPadding=z,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(z){this._showCollisionBoxes!==z&&(this._showCollisionBoxes=z,z?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(z){this._showOverdrawInspector!==z&&(this._showOverdrawInspector=z,this._update())}get repaint(){return!!this._repaint}set repaint(z){this._repaint!==z&&(this._repaint=z,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(z){this._vertices=z,this._update()}get version(){return Ml}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(z){return this._lazyInitEmptyStyle(),this.style.setProjection(z),this._update(!0)}},n.MapMouseEvent=Pe,n.MapTouchEvent=Ue,n.MapWheelEvent=ct,n.Marker=Tf,n.NavigationControl=class{constructor(z){this._updateZoomButtons=()=>{let l=this._map.getZoom(),m=l===this._map.getMaxZoom(),T=l===this._map.getMinZoom();this._zoomInButton.disabled=m,this._zoomOutButton.disabled=T,this._zoomInButton.setAttribute("aria-disabled",m.toString()),this._zoomOutButton.setAttribute("aria-disabled",T.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(l,m)=>{let T=this._map._getUIString(`NavigationControl.${m}`);l.title=T,l.setAttribute("aria-label",T)},this.options=o.e({},t0,z),this._container=U.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",l=>this._map.zoomIn({},{originalEvent:l})),U.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",l=>this._map.zoomOut({},{originalEvent:l})),U.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=U.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(z){return this._map=z,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.options.visualizeRoll&&this._map.on("roll",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Lp(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){U.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.options.visualizeRoll&&this._map.off("roll",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(z,l){let m=U.create("button",z,this._container);return m.type="button",m.addEventListener("click",l),m}},n.Popup=class extends o.E{constructor(z){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:"")},this.remove=()=>(this._content&&U.remove(this._content),this._container&&(U.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 o.l("close"))),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=U.create("div","maplibregl-popup",this._map.getContainer()),this._tip=U.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let W of this.options.className.split(" "))this._container.classList.add(W);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=Kf(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),this._trackPointer&&!l)return;let m=this._flatPos=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&l?l:this._map.transform.locationToScreenPoint(this._lngLat));let T=this.options.anchor,P=tA(this.options.offset);if(!T){let W=this._container.offsetWidth,te=this._container.offsetHeight,se;se=m.y+P.bottom.ythis._map.transform.height-te?["bottom"]:[],m.xthis._map.transform.width-W/2&&se.push("right"),T=se.length===0?"bottom":se.join("-")}let V=m.add(P[T]);this.options.subpixelPositioning||(V=V.round()),U.setTransform(this._container,`${wf[T]} translate(${V.x}px,${V.y}px)`),tf(this._container,T,"popup"),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=o.e(Object.create(P_),z)}addTo(z){return this._map&&this.remove(),this._map=z,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 o.l("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(z){return this._lngLat=o.V.convert(z),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(z){return this.setDOMContent(document.createTextNode(z))}setHTML(z){let l=document.createDocumentFragment(),m=document.createElement("body"),T;for(m.innerHTML=z;T=m.firstChild,T;)l.appendChild(T);return this.setDOMContent(l)}getMaxWidth(){var z;return(z=this._container)===null||z===void 0?void 0:z.style.maxWidth}setMaxWidth(z){return this.options.maxWidth=z,this._update(),this}setDOMContent(z){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=U.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(z),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(z){return this._container&&this._container.classList.add(z),this}removeClassName(z){return this._container&&this._container.classList.remove(z),this}setOffset(z){return this.options.offset=z,this._update(),this}toggleClassName(z){if(this._container)return this._container.classList.toggle(z)}setSubpixelPositioning(z){this.options.subpixelPositioning=z}_createCloseButton(){this.options.closeButton&&(this._closeButton=U.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 z=this._container.querySelector(R_);z&&z.focus()}},n.RasterDEMTileSource=Ba,n.RasterTileSource=zs,n.ScaleControl=class{constructor(z){this._onMove=()=>{sg(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,sg(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},M_),z)}getDefaultPosition(){return"bottom-left"}onAdd(z){return this._map=z,this._container=U.create("div","maplibregl-ctrl maplibregl-ctrl-scale",z.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){U.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},n.ScrollZoomHandler=yc,n.Style=Ms,n.TerrainControl=class{constructor(z){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=z}onAdd(z){return this._map=z,this._container=U.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=U.create("button","maplibregl-ctrl-terrain",this._container),U.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(){U.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},n.TwoFingersTouchPitchHandler=Hn,n.TwoFingersTouchRotateHandler=$n,n.TwoFingersTouchZoomHandler=qi,n.TwoFingersTouchZoomRotateHandler=Ju,n.VectorTileSource=mo,n.VideoSource=Yt,n.addSourceType=(z,l)=>o._(void 0,void 0,void 0,function*(){if(rt(z))throw new Error(`A source type called "${z}" already exists.`);((m,T)=>{Ne[m]=T})(z,l)}),n.clearPrewarmedResources=function(){let z=Gn;z&&(z.isPreloaded()&&z.numActive()===1?(z.release(Xi),Gn=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()"))},n.createTileMesh=be,n.getMaxParallelImageRequests=function(){return o.c.MAX_PARALLEL_IMAGE_REQUESTS},n.getRTLTextPluginStatus=function(){return fr().getRTLTextPluginStatus()},n.getVersion=function(){return r0},n.getWorkerCount=function(){return xi.workerCount},n.getWorkerUrl=function(){return o.c.WORKER_URL},n.importScriptInWorkers=function(z){return mr().broadcast("IS",z)},n.isTimeFrozen=function(){return F.isFrozen()},n.now=k,n.prewarm=function(){nt().acquire(Xi)},n.restoreNow=function(){F.restoreNow()},n.setMaxParallelImageRequests=function(z){o.c.MAX_PARALLEL_IMAGE_REQUESTS=z},n.setNow=function(z){F.setNow(z)},n.setRTLTextPlugin=function(z,l){return fr().setRTLTextPlugin(z,l)},n.setWorkerCount=function(z){xi.workerCount=z},n.setWorkerUrl=function(z){o.c.WORKER_URL=z}});var i=t;return i})});var Nue=Vi((Cjt,b7)=>{"use strict";b7.exports=M4;b7.exports.default=M4;function M4(t,e,r){r=r||2;var i=e&&e.length,n=i?e[0]*r:t.length,o=Oue(t,0,n,r,!0),s=[];if(!o||o.next===o.prev)return s;var c,f,g,y,I,F,k;if(i&&(o=XUe(t,e,o,r)),t.length>80*r){c=g=t[0],f=y=t[1];for(var U=r;Ug&&(g=I),F>y&&(y=F);k=Math.max(g-c,y-f),k=k!==0?32767/k:0}return $3(o,s,r,c,f,k,0),s}function Oue(t,e,r,i,n){var o,s;if(n===x7(t,e,r,i)>0)for(o=e;o=e;o-=i)s=Due(o,t[o],t[o+1],s);return s&&P4(s,s.next)&&(Z3(s),s=s.next),s}function rw(t,e){if(!t)return t;e||(e=t);var r=t,i;do if(i=!1,!r.steiner&&(P4(r,r.next)||Eu(r.prev,r,r.next)===0)){if(Z3(r),r=e=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==e);return e}function $3(t,e,r,i,n,o,s){if(t){!s&&o&&JUe(t,i,n,o);for(var c=t,f,g;t.prev!==t.next;){if(f=t.prev,g=t.next,o?WUe(t,i,n,o):GUe(t)){e.push(f.i/r|0),e.push(t.i/r|0),e.push(g.i/r|0),Z3(t),t=g.next,c=g.next;continue}if(t=g,t===c){s?s===1?(t=qUe(rw(t),e,r),$3(t,e,r,i,n,o,2)):s===2&&$Ue(t,e,r,i,n,o):$3(rw(t),e,r,i,n,o,1);break}}}}function GUe(t){var e=t.prev,r=t,i=t.next;if(Eu(e,r,i)>=0)return!1;for(var n=e.x,o=r.x,s=i.x,c=e.y,f=r.y,g=i.y,y=no?n>s?n:s:o>s?o:s,k=c>f?c>g?c:g:f>g?f:g,U=i.next;U!==e;){if(U.x>=y&&U.x<=F&&U.y>=I&&U.y<=k&&kS(n,c,o,f,s,g,U.x,U.y)&&Eu(U.prev,U,U.next)>=0)return!1;U=U.next}return!0}function WUe(t,e,r,i){var n=t.prev,o=t,s=t.next;if(Eu(n,o,s)>=0)return!1;for(var c=n.x,f=o.x,g=s.x,y=n.y,I=o.y,F=s.y,k=cf?c>g?c:g:f>g?f:g,ee=y>I?y>F?y:F:I>F?I:F,he=y7(k,U,e,r,i),xe=y7(K,ee,e,r,i),me=t.prevZ,Se=t.nextZ;me&&me.z>=he&&Se&&Se.z<=xe;){if(me.x>=k&&me.x<=K&&me.y>=U&&me.y<=ee&&me!==n&&me!==s&&kS(c,y,f,I,g,F,me.x,me.y)&&Eu(me.prev,me,me.next)>=0||(me=me.prevZ,Se.x>=k&&Se.x<=K&&Se.y>=U&&Se.y<=ee&&Se!==n&&Se!==s&&kS(c,y,f,I,g,F,Se.x,Se.y)&&Eu(Se.prev,Se,Se.next)>=0))return!1;Se=Se.nextZ}for(;me&&me.z>=he;){if(me.x>=k&&me.x<=K&&me.y>=U&&me.y<=ee&&me!==n&&me!==s&&kS(c,y,f,I,g,F,me.x,me.y)&&Eu(me.prev,me,me.next)>=0)return!1;me=me.prevZ}for(;Se&&Se.z<=xe;){if(Se.x>=k&&Se.x<=K&&Se.y>=U&&Se.y<=ee&&Se!==n&&Se!==s&&kS(c,y,f,I,g,F,Se.x,Se.y)&&Eu(Se.prev,Se,Se.next)>=0)return!1;Se=Se.nextZ}return!0}function qUe(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!P4(n,o)&&Fue(n,i,i.next,o)&&X3(n,o)&&X3(o,n)&&(e.push(n.i/r|0),e.push(i.i/r|0),e.push(o.i/r|0),Z3(i),Z3(i.next),i=t=o),i=i.next}while(i!==t);return rw(i)}function $Ue(t,e,r,i,n,o){var s=t;do{for(var c=s.next.next;c!==s.prev;){if(s.i!==c.i&&r6e(s,c)){var f=kue(s,c);s=rw(s,s.next),f=rw(f,f.next),$3(s,e,r,i,n,o,0),$3(f,e,r,i,n,o,0);return}c=c.next}s=s.next}while(s!==t)}function XUe(t,e,r,i){var n=[],o,s,c,f,g;for(o=0,s=e.length;o=r.next.y&&r.next.y!==r.y){var c=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>o&&(o=c,s=r.x=r.x&&r.x>=g&&i!==r.x&&kS(ns.x||r.x===s.x&&QUe(s,r)))&&(s=r,I=F)),r=r.next;while(r!==f);return s}function QUe(t,e){return Eu(t.prev,t,e.prev)<0&&Eu(e.next,t,t.next)<0}function JUe(t,e,r,i){var n=t;do n.z===0&&(n.z=y7(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,e6e(n)}function e6e(t){var e,r,i,n,o,s,c,f,g=1;do{for(r=t,t=null,o=null,s=0;r;){for(s++,i=r,c=0,e=0;e0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(n=r,r=r.nextZ,c--):(n=i,i=i.nextZ,f--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,g*=2}while(s>1);return t}function y7(t,e,r,i,n){return t=(t-r)*n|0,e=(e-i)*n|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function t6e(t){var e=t,r=t;do(e.x=(t-s)*(o-c)&&(t-s)*(i-c)>=(r-s)*(e-c)&&(r-s)*(o-c)>=(n-s)*(i-c)}function r6e(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!i6e(t,e)&&(X3(t,e)&&X3(e,t)&&n6e(t,e)&&(Eu(t.prev,t,e.prev)||Eu(t,e.prev,e))||P4(t,e)&&Eu(t.prev,t,t.next)>0&&Eu(e.prev,e,e.next)>0)}function Eu(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function P4(t,e){return t.x===e.x&&t.y===e.y}function Fue(t,e,r,i){var n=I4(Eu(t,e,r)),o=I4(Eu(t,e,i)),s=I4(Eu(r,i,t)),c=I4(Eu(r,i,e));return!!(n!==o&&s!==c||n===0&&C4(t,r,e)||o===0&&C4(t,i,e)||s===0&&C4(r,t,i)||c===0&&C4(r,e,i))}function C4(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function I4(t){return t>0?1:t<0?-1:0}function i6e(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Fue(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function X3(t,e){return Eu(t.prev,t,t.next)<0?Eu(t,e,t.next)>=0&&Eu(t,t.prev,e)>=0:Eu(t,e,t.prev)<0||Eu(t,t.next,e)<0}function n6e(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==t);return i}function kue(t,e){var r=new v7(t.i,t.x,t.y),i=new v7(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function Due(t,e,r,i){var n=new v7(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function Z3(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function v7(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}M4.deviation=function(t,e,r,i){var n=e&&e.length,o=n?e[0]*r:t.length,s=Math.abs(x7(t,0,o,r));if(n)for(var c=0,f=e.length;c0&&(i+=t[n-1].length,r.holes.push(i))}return r}});var fq=Vi((lme,LR)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof lQ=="function"&&typeof LR=="object"&&LR&&LR.exports?LR.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(lme,function(){"use strict";function t(Ce,_e,Je){this.low=Ce|0,this.high=_e|0,this.unsigned=!!Je}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(Ce){return(Ce&&Ce.__isLong__)===!0}t.isLong=e;var r={},i={};function n(Ce,_e){var Je,Et,Ze;return _e?(Ce>>>=0,(Ze=0<=Ce&&Ce<256)&&(Et=i[Ce],Et)?Et:(Je=s(Ce,(Ce|0)<0?-1:0,!0),Ze&&(i[Ce]=Je),Je)):(Ce|=0,(Ze=-128<=Ce&&Ce<128)&&(Et=r[Ce],Et)?Et:(Je=s(Ce,Ce<0?-1:0,!1),Ze&&(r[Ce]=Je),Je))}t.fromInt=n;function o(Ce,_e){if(isNaN(Ce)||!isFinite(Ce))return _e?he:ee;if(_e){if(Ce<0)return he;if(Ce>=k)return ne}else{if(Ce<=-U)return Ge;if(Ce+1>=U)return Oe}return Ce<0?o(-Ce,_e).neg():s(Ce%F|0,Ce/F|0,_e)}t.fromNumber=o;function s(Ce,_e,Je){return new t(Ce,_e,Je)}t.fromBits=s;var c=Math.pow;function f(Ce,_e,Je){if(Ce.length===0)throw Error("empty string");if(Ce==="NaN"||Ce==="Infinity"||Ce==="+Infinity"||Ce==="-Infinity")return ee;if(typeof _e=="number"?(Je=_e,_e=!1):_e=!!_e,Je=Je||10,Je<2||360)throw Error("interior hyphen");if(Et===0)return f(Ce.substring(1),_e,Je).neg();for(var Ze=o(c(Je,8)),xt=ee,sr=0;sr>>0:this.low},Xe.toNumber=function(){return this.unsigned?(this.high>>>0)*F+(this.low>>>0):this.high*F+(this.low>>>0)},Xe.toString=function(_e){if(_e=_e||10,_e<2||36<_e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Ge)){var Je=o(_e),Et=this.div(Je),Ze=Et.mul(Je).sub(this);return Et.toString(_e)+Ze.toInt().toString(_e)}else return"-"+this.neg().toString(_e);for(var xt=o(c(_e,6),this.unsigned),sr=this,Mr="";;){var hr=sr.div(xt),mi=sr.sub(hr.mul(xt)).toInt()>>>0,bi=mi.toString(_e);if(sr=hr,sr.isZero())return bi+Mr;for(;bi.length<6;)bi="0"+bi;Mr=""+bi+Mr}},Xe.getHighBits=function(){return this.high},Xe.getHighBitsUnsigned=function(){return this.high>>>0},Xe.getLowBits=function(){return this.low},Xe.getLowBitsUnsigned=function(){return this.low>>>0},Xe.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ge)?64:this.neg().getNumBitsAbs();for(var _e=this.high!=0?this.high:this.low,Je=31;Je>0&&!(_e&1<=0},Xe.isOdd=function(){return(this.low&1)===1},Xe.isEven=function(){return(this.low&1)===0},Xe.equals=function(_e){return e(_e)||(_e=g(_e)),this.unsigned!==_e.unsigned&&this.high>>>31===1&&_e.high>>>31===1?!1:this.high===_e.high&&this.low===_e.low},Xe.eq=Xe.equals,Xe.notEquals=function(_e){return!this.eq(_e)},Xe.neq=Xe.notEquals,Xe.lessThan=function(_e){return this.comp(_e)<0},Xe.lt=Xe.lessThan,Xe.lessThanOrEqual=function(_e){return this.comp(_e)<=0},Xe.lte=Xe.lessThanOrEqual,Xe.greaterThan=function(_e){return this.comp(_e)>0},Xe.gt=Xe.greaterThan,Xe.greaterThanOrEqual=function(_e){return this.comp(_e)>=0},Xe.gte=Xe.greaterThanOrEqual,Xe.compare=function(_e){if(e(_e)||(_e=g(_e)),this.eq(_e))return 0;var Je=this.isNegative(),Et=_e.isNegative();return Je&&!Et?-1:!Je&&Et?1:this.unsigned?_e.high>>>0>this.high>>>0||_e.high===this.high&&_e.low>>>0>this.low>>>0?-1:1:this.sub(_e).isNegative()?-1:1},Xe.comp=Xe.compare,Xe.negate=function(){return!this.unsigned&&this.eq(Ge)?Ge:this.not().add(xe)},Xe.neg=Xe.negate,Xe.add=function(_e){e(_e)||(_e=g(_e));var Je=this.high>>>16,Et=this.high&65535,Ze=this.low>>>16,xt=this.low&65535,sr=_e.high>>>16,Mr=_e.high&65535,hr=_e.low>>>16,mi=_e.low&65535,bi=0,un=0,Yr=0,Xi=0;return Xi+=xt+mi,Yr+=Xi>>>16,Xi&=65535,Yr+=Ze+hr,un+=Yr>>>16,Yr&=65535,un+=Et+Mr,bi+=un>>>16,un&=65535,bi+=Je+sr,bi&=65535,s(Yr<<16|Xi,bi<<16|un,this.unsigned)},Xe.subtract=function(_e){return e(_e)||(_e=g(_e)),this.add(_e.neg())},Xe.sub=Xe.subtract,Xe.multiply=function(_e){if(this.isZero()||(e(_e)||(_e=g(_e)),_e.isZero()))return ee;if(this.eq(Ge))return _e.isOdd()?Ge:ee;if(_e.eq(Ge))return this.isOdd()?Ge:ee;if(this.isNegative())return _e.isNegative()?this.neg().mul(_e.neg()):this.neg().mul(_e).neg();if(_e.isNegative())return this.mul(_e.neg()).neg();if(this.lt(K)&&_e.lt(K))return o(this.toNumber()*_e.toNumber(),this.unsigned);var Je=this.high>>>16,Et=this.high&65535,Ze=this.low>>>16,xt=this.low&65535,sr=_e.high>>>16,Mr=_e.high&65535,hr=_e.low>>>16,mi=_e.low&65535,bi=0,un=0,Yr=0,Xi=0;return Xi+=xt*mi,Yr+=Xi>>>16,Xi&=65535,Yr+=Ze*mi,un+=Yr>>>16,Yr&=65535,Yr+=xt*hr,un+=Yr>>>16,Yr&=65535,un+=Et*mi,bi+=un>>>16,un&=65535,un+=Ze*hr,bi+=un>>>16,un&=65535,un+=xt*Mr,bi+=un>>>16,un&=65535,bi+=Je*mi+Et*hr+Ze*Mr+xt*sr,bi&=65535,s(Yr<<16|Xi,bi<<16|un,this.unsigned)},Xe.mul=Xe.multiply,Xe.divide=function(_e){if(e(_e)||(_e=g(_e)),_e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?he:ee;var Je,Et,Ze;if(this.unsigned){if(_e.unsigned||(_e=_e.toUnsigned()),_e.gt(this))return he;if(_e.gt(this.shru(1)))return me;Ze=he}else{if(this.eq(Ge)){if(_e.eq(xe)||_e.eq(Se))return Ge;if(_e.eq(Ge))return xe;var xt=this.shr(1);return Je=xt.div(_e).shl(1),Je.eq(ee)?_e.isNegative()?xe:Se:(Et=this.sub(_e.mul(Je)),Ze=Je.add(Et.div(_e)),Ze)}else if(_e.eq(Ge))return this.unsigned?he:ee;if(this.isNegative())return _e.isNegative()?this.neg().div(_e.neg()):this.neg().div(_e).neg();if(_e.isNegative())return this.div(_e.neg()).neg();Ze=ee}for(Et=this;Et.gte(_e);){Je=Math.max(1,Math.floor(Et.toNumber()/_e.toNumber()));for(var sr=Math.ceil(Math.log(Je)/Math.LN2),Mr=sr<=48?1:c(2,sr-48),hr=o(Je),mi=hr.mul(_e);mi.isNegative()||mi.gt(Et);)Je-=Mr,hr=o(Je,this.unsigned),mi=hr.mul(_e);hr.isZero()&&(hr=xe),Ze=Ze.add(hr),Et=Et.sub(mi)}return Ze},Xe.div=Xe.divide,Xe.modulo=function(_e){return e(_e)||(_e=g(_e)),this.sub(this.div(_e).mul(_e))},Xe.mod=Xe.modulo,Xe.not=function(){return s(~this.low,~this.high,this.unsigned)},Xe.and=function(_e){return e(_e)||(_e=g(_e)),s(this.low&_e.low,this.high&_e.high,this.unsigned)},Xe.or=function(_e){return e(_e)||(_e=g(_e)),s(this.low|_e.low,this.high|_e.high,this.unsigned)},Xe.xor=function(_e){return e(_e)||(_e=g(_e)),s(this.low^_e.low,this.high^_e.high,this.unsigned)},Xe.shiftLeft=function(_e){return e(_e)&&(_e=_e.toInt()),(_e&=63)===0?this:_e<32?s(this.low<<_e,this.high<<_e|this.low>>>32-_e,this.unsigned):s(0,this.low<<_e-32,this.unsigned)},Xe.shl=Xe.shiftLeft,Xe.shiftRight=function(_e){return e(_e)&&(_e=_e.toInt()),(_e&=63)===0?this:_e<32?s(this.low>>>_e|this.high<<32-_e,this.high>>_e,this.unsigned):s(this.high>>_e-32,this.high>=0?0:-1,this.unsigned)},Xe.shr=Xe.shiftRight,Xe.shiftRightUnsigned=function(_e){if(e(_e)&&(_e=_e.toInt()),_e&=63,_e===0)return this;var Je=this.high;if(_e<32){var Et=this.low;return s(Et>>>_e|Je<<32-_e,Je>>>_e,this.unsigned)}else return _e===32?s(Je,0,this.unsigned):s(Je>>>_e-32,0,this.unsigned)},Xe.shru=Xe.shiftRightUnsigned,Xe.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},Xe.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},Xe.toBytes=function(Ce){return Ce?this.toBytesLE():this.toBytesBE()},Xe.toBytesLE=function(){var Ce=this.high,_e=this.low;return[_e&255,_e>>>8&255,_e>>>16&255,_e>>>24&255,Ce&255,Ce>>>8&255,Ce>>>16&255,Ce>>>24&255]},Xe.toBytesBE=function(){var Ce=this.high,_e=this.low;return[Ce>>>24&255,Ce>>>16&255,Ce>>>8&255,Ce&255,_e>>>24&255,_e>>>16&255,_e>>>8&255,_e&255]},t})});var KAe=Vi(rX=>{rX.read=function(t,e,r,i,n){var o,s,c=n*8-i-1,f=(1<>1,y=-7,I=r?n-1:0,F=r?-1:1,k=t[e+I];for(I+=F,o=k&(1<<-y)-1,k>>=-y,y+=c;y>0;o=o*256+t[e+I],I+=F,y-=8);for(s=o&(1<<-y)-1,o>>=-y,y+=i;y>0;s=s*256+t[e+I],I+=F,y-=8);if(o===0)o=1-g;else{if(o===f)return s?NaN:(k?-1:1)*(1/0);s=s+Math.pow(2,i),o=o-g}return(k?-1:1)*s*Math.pow(2,o-i)};rX.write=function(t,e,r,i,n,o){var s,c,f,g=o*8-n-1,y=(1<>1,F=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=i?0:o-1,U=i?1:-1,K=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,s=y):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+I>=1?e+=F/f:e+=F*Math.pow(2,1-I),e*f>=2&&(s++,f/=2),s+I>=y?(c=0,s=y):s+I>=1?(c=(e*f-1)*Math.pow(2,n),s=s+I):(c=e*Math.pow(2,I-1)*Math.pow(2,n),s=0));n>=8;t[r+k]=c&255,k+=U,c/=256,n-=8);for(s=s<0;t[r+k]=s&255,k+=U,s/=256,g-=8);t[r+k-U]|=K*128}});var i_e=Vi((ror,r_e)=>{"use strict";r_e.exports=gl;var ZU=KAe();function gl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}gl.Varint=0;gl.Fixed64=1;gl.Bytes=2;gl.Fixed32=5;var iX=(1<<16)*(1<<16),QAe=1/iX,nYe=12,t_e=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");gl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,o=this.pos;this.type=i&7,t(n,e,this),this.pos===o&&this.skip(i)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=YU(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=e_e(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=YU(this.buf,this.pos)+YU(this.buf,this.pos+4)*iX;return this.pos+=8,t},readSFixed64:function(){var t=YU(this.buf,this.pos)+e_e(this.buf,this.pos+4)*iX;return this.pos+=8,t},readFloat:function(){var t=ZU.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ZU.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,i;return i=e[this.pos++],r=i&127,i<128||(i=e[this.pos++],r|=(i&127)<<7,i<128)||(i=e[this.pos++],r|=(i&127)<<14,i<128)||(i=e[this.pos++],r|=(i&127)<<21,i<128)?r:(i=e[this.pos],r|=(i&15)<<28,oYe(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=nYe&&t_e?yYe(this.buf,e,t):_Ye(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==gl.Bytes)return t.push(this.readVarint(e));var r=qy(this);for(t=t||[];this.pos127;);else if(e===gl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===gl.Fixed32)this.pos+=4;else if(e===gl.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0){sYe(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=vYe(this.buf,t,this.pos);var r=this.pos-e;r>=128&&JAe(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),ZU.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ZU.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&JAe(r,i,this),this.pos=r-1,this.writeVarint(i),this.pos+=i},writeMessage:function(t,e,r){this.writeTag(t,gl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,cYe,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,uYe,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,dYe,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,hYe,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,fYe,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,pYe,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,mYe,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,gYe,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,AYe,e)},writeBytesField:function(t,e){this.writeTag(t,gl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,gl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,gl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,gl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,gl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,gl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,gl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,gl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,gl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,gl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function oYe(t,e,r){var i=r.buf,n,o;if(o=i[r.pos++],n=(o&112)>>4,o<128||(o=i[r.pos++],n|=(o&127)<<3,o<128)||(o=i[r.pos++],n|=(o&127)<<10,o<128)||(o=i[r.pos++],n|=(o&127)<<17,o<128)||(o=i[r.pos++],n|=(o&127)<<24,o<128)||(o=i[r.pos++],n|=(o&1)<<31,o<128))return OE(t,n,e);throw new Error("Expected varint not more than 10 bytes")}function qy(t){return t.type===gl.Bytes?t.readVarint()+t.pos:t.pos+1}function OE(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function sYe(t,e){var r,i;if(t>=0?(r=t%4294967296|0,i=t/4294967296|0):(r=~(-t%4294967296),i=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,i=i+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),aYe(r,i,e),lYe(i,e)}function aYe(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function lYe(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function JAe(t,e,r){var i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(i);for(var n=r.pos-1;n>=t;n--)r.buf[n+i]=r.buf[n]}function cYe(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function e_e(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function _Ye(t,e,r){for(var i="",n=e;n239?4:o>223?3:o>191?2:1;if(n+c>r)break;var f,g,y;c===1?o<128&&(s=o):c===2?(f=t[n+1],(f&192)===128&&(s=(o&31)<<6|f&63,s<=127&&(s=null))):c===3?(f=t[n+1],g=t[n+2],(f&192)===128&&(g&192)===128&&(s=(o&15)<<12|(f&63)<<6|g&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):c===4&&(f=t[n+1],g=t[n+2],y=t[n+3],(f&192)===128&&(g&192)===128&&(y&192)===128&&(s=(o&15)<<18|(f&63)<<12|(g&63)<<6|y&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,c=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=c}return i}function yYe(t,e,r){return t_e.decode(t.subarray(e,r))}function vYe(t,e,r){for(var i=0,n,o;i55295&&n<57344)if(o)if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,o=n;continue}else n=o-55296<<10|n-56320|65536,o=null;else{n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):o=n;continue}else o&&(t[r++]=239,t[r++]=191,t[r++]=189,o=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=n&63|128)}return r}});var C_e=Vi((dB,e6)=>{(function(t){"use strict";var e="Compound",r="Identifier",i="MemberExpression",n="Literal",o="ThisExpression",s="CallExpression",c="UnaryExpression",f="BinaryExpression",g="LogicalExpression",y="ConditionalExpression",I="ArrayExpression",F=46,k=44,U=39,K=34,ee=40,he=41,xe=91,me=93,Se=63,Oe=59,ne=58,Ge=function(xi,ii){var Gn=new Error(xi+" at character "+ii);throw Gn.index=ii,Gn.description=xi,Gn},Xe=!0,Ce={"-":Xe,"!":Xe,"~":Xe,"+":Xe},_e={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},Je=function(xi){var ii=0,Gn;for(var Ve in xi)(Gn=Ve.length)>ii&&xi.hasOwnProperty(Ve)&&(ii=Gn);return ii},Et=Je(Ce),Ze=Je(_e),xt={true:!0,false:!1,null:null},sr="this",Mr=function(xi){return _e[xi]||0},hr=function(xi,ii,Gn){var Ve=xi==="||"||xi==="&&"?g:f;return{type:Ve,operator:xi,left:ii,right:Gn}},mi=function(xi){return xi>=48&&xi<=57},bi=function(xi){return xi===36||xi===95||xi>=65&&xi<=90||xi>=97&&xi<=122||xi>=128&&!_e[String.fromCharCode(xi)]},un=function(xi){return xi===36||xi===95||xi>=65&&xi<=90||xi>=97&&xi<=122||xi>=48&&xi<=57||xi>=128&&!_e[String.fromCharCode(xi)]},Yr=function(xi){for(var ii=0,Gn=xi.charAt,Ve=xi.charCodeAt,nt=function(Fe){return Gn.call(xi,Fe)},Ft=function(Fe){return Ve.call(xi,Fe)},mr=xi.length,Xr=function(){for(var Fe=Ft(ii);Fe===32||Fe===9||Fe===10||Fe===13;)Fe=Ft(++ii)},zr=function(){var Fe=Nn(),Ne,rt;if(Xr(),Ft(ii)===Se){if(ii++,Ne=zr(),Ne||Ge("Expected expression",ii),Xr(),Ft(ii)===ne)return ii++,rt=zr(),rt||Ge("Expected expression",ii),{type:y,test:Fe,consequent:Ne,alternate:rt};Ge("Expected :",ii)}else return Fe},ln=function(){Xr();for(var Fe,Ne=xi.substr(ii,Ze),rt=Ne.length;rt>0;){if(_e.hasOwnProperty(Ne)&&(!bi(Ft(ii))||ii+Ne.length2&&Vt<=Gt[Gt.length-2].prec;)nr=Gt.pop(),rt=Gt.pop().value,fr=Gt.pop(),Ne=hr(rt,fr,nr),Gt.push(Ne);Ne=Co(),Ne||Ge("Expected expression after "+ti,ii),Gt.push(yr,Ne)}for(xr=Gt.length-1,Ne=Gt[xr];xr>1;)Ne=hr(Gt[xr-1].value,Gt[xr-2],Ne),xr-=2;return Ne},Co=function(){var Fe,Ne,rt;if(Xr(),Fe=Ft(ii),mi(Fe)||Fe===F)return Ho();if(Fe===U||Fe===K)return is();if(Fe===xe)return so();for(Ne=xi.substr(ii,Et),rt=Ne.length;rt>0;){if(Ce.hasOwnProperty(Ne)&&(!bi(Ft(ii))||ii+Ne.length=rt.length&&Ge("Unexpected token "+String.fromCharCode(Fe),ii);break}else if(Ne===k){if(ii++,yr++,yr!==rt.length){if(Fe===he)Ge("Unexpected token ,",ii);else if(Fe===me)for(var fr=rt.length;fr"u"){var Xi=t.jsep;t.jsep=Yr,Yr.noConflict=function(){return t.jsep===Yr&&(t.jsep=Xi),Yr}}else typeof e6<"u"&&e6.exports?dB=e6.exports=Yr:dB.parse=Yr})(dB)});var Kye=Vi(B6=>{"use strict";B6.byteLength=yQe;B6.toByteArray=xQe;B6.fromByteArray=TQe;var T_=[],Qg=[],_Qe=typeof Uint8Array<"u"?Uint8Array:Array,qX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ww=0,Zye=qX.length;Ww0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var i=r===e?0:4-r%4;return[r,i]}function yQe(t){var e=Yye(t),r=e[0],i=e[1];return(r+i)*3/4-i}function vQe(t,e,r){return(e+r)*3/4-r}function xQe(t){var e,r=Yye(t),i=r[0],n=r[1],o=new _Qe(vQe(t,i,n)),s=0,c=n>0?i-4:i,f;for(f=0;f>16&255,o[s++]=e>>8&255,o[s++]=e&255;return n===2&&(e=Qg[t.charCodeAt(f)]<<2|Qg[t.charCodeAt(f+1)]>>4,o[s++]=e&255),n===1&&(e=Qg[t.charCodeAt(f)]<<10|Qg[t.charCodeAt(f+1)]<<4|Qg[t.charCodeAt(f+2)]>>2,o[s++]=e>>8&255,o[s++]=e&255),o}function bQe(t){return T_[t>>18&63]+T_[t>>12&63]+T_[t>>6&63]+T_[t&63]}function wQe(t,e,r){for(var i,n=[],o=e;oc?c:s+o));return i===1?(e=t[r-1],n.push(T_[e>>2]+T_[e<<4&63]+"==")):i===2&&(e=(t[r-2]<<8)+t[r-1],n.push(T_[e>>10]+T_[e>>4&63]+T_[e<<2&63]+"=")),n.join("")}});var ZE=Vi((L6,Qye)=>{(function(t,e){typeof L6=="object"&&typeof Qye<"u"?e(L6):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.lumino_coreutils={}))})(L6,function(t){"use strict";t.JSONExt=void 0,function(s){s.emptyObject=Object.freeze({}),s.emptyArray=Object.freeze([]);function c(ee){return ee===null||typeof ee=="boolean"||typeof ee=="number"||typeof ee=="string"}s.isPrimitive=c;function f(ee){return Array.isArray(ee)}s.isArray=f;function g(ee){return!c(ee)&&!f(ee)}s.isObject=g;function y(ee,he){if(ee===he)return!0;if(c(ee)||c(he))return!1;var xe=f(ee),me=f(he);return xe!==me?!1:xe&&me?F(ee,he):k(ee,he)}s.deepEqual=y;function I(ee){return c(ee)?ee:f(ee)?U(ee):K(ee)}s.deepCopy=I;function F(ee,he){if(ee===he)return!0;if(ee.length!==he.length)return!1;for(var xe=0,me=ee.length;xe>>0),s[f]=c&255,c>>>=8}t.Random=void 0,function(s){s.getRandomValues=function(){var c=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return c&&typeof c.getRandomValues=="function"?function(g){return c.getRandomValues(g)}:n}()}(t.Random||(t.Random={}));function o(s){for(var c=new Uint8Array(16),f=new Array(256),g=0;g<16;++g)f[g]="0"+g.toString(16);for(var g=16;g<256;++g)f[g]=g.toString(16);return function(){return s(c),c[6]=64|c[6]&15,c[8]=128|c[8]&63,f[c[0]]+f[c[1]]+f[c[2]]+f[c[3]]+"-"+f[c[4]]+f[c[5]]+"-"+f[c[6]]+f[c[7]]+"-"+f[c[8]]+f[c[9]]+"-"+f[c[10]]+f[c[11]]+f[c[12]]+f[c[13]]+f[c[14]]+f[c[15]]}}t.UUID=void 0,function(s){s.uuid4=o(t.Random.getRandomValues)}(t.UUID||(t.UUID={})),t.MimeData=e,t.PromiseDelegate=r,t.Token=i,Object.defineProperty(t,"__esModule",{value:!0})})});var eve=Vi((Vur,Jye)=>{function SQe(){this.__data__=[],this.size=0}Jye.exports=SQe});var $X=Vi((jur,tve)=>{function EQe(t,e){return t===e||t!==t&&e!==e}tve.exports=EQe});var UB=Vi((Hur,rve)=>{var CQe=$X();function IQe(t,e){for(var r=t.length;r--;)if(CQe(t[r][0],e))return r;return-1}rve.exports=IQe});var nve=Vi((Gur,ive)=>{var MQe=UB(),PQe=Array.prototype,RQe=PQe.splice;function BQe(t){var e=this.__data__,r=MQe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():RQe.call(e,r,1),--this.size,!0}ive.exports=BQe});var sve=Vi((Wur,ove)=>{var LQe=UB();function DQe(t){var e=this.__data__,r=LQe(e,t);return r<0?void 0:e[r][1]}ove.exports=DQe});var lve=Vi((qur,ave)=>{var OQe=UB();function FQe(t){return OQe(this.__data__,t)>-1}ave.exports=FQe});var uve=Vi(($ur,cve)=>{var kQe=UB();function NQe(t,e){var r=this.__data__,i=kQe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}cve.exports=NQe});var VB=Vi((Xur,hve)=>{var zQe=eve(),UQe=nve(),VQe=sve(),jQe=lve(),HQe=uve();function YE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var GQe=VB();function WQe(){this.__data__=new GQe,this.size=0}fve.exports=WQe});var mve=Vi((Yur,pve)=>{function qQe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}pve.exports=qQe});var Ave=Vi((Kur,gve)=>{function $Qe(t){return this.__data__.get(t)}gve.exports=$Qe});var yve=Vi((Qur,_ve)=>{function XQe(t){return this.__data__.has(t)}_ve.exports=XQe});var XX=Vi((Jur,vve)=>{var ZQe=typeof global=="object"&&global&&global.Object===Object&&global;vve.exports=ZQe});var S_=Vi((ehr,xve)=>{var YQe=XX(),KQe=typeof self=="object"&&self&&self.Object===Object&&self,QQe=YQe||KQe||Function("return this")();xve.exports=QQe});var D6=Vi((thr,bve)=>{var JQe=S_(),eJe=JQe.Symbol;bve.exports=eJe});var Eve=Vi((rhr,Sve)=>{var wve=D6(),Tve=Object.prototype,tJe=Tve.hasOwnProperty,rJe=Tve.toString,jB=wve?wve.toStringTag:void 0;function iJe(t){var e=tJe.call(t,jB),r=t[jB];try{t[jB]=void 0;var i=!0}catch{}var n=rJe.call(t);return i&&(e?t[jB]=r:delete t[jB]),n}Sve.exports=iJe});var Ive=Vi((ihr,Cve)=>{var nJe=Object.prototype,oJe=nJe.toString;function sJe(t){return oJe.call(t)}Cve.exports=sJe});var KE=Vi((nhr,Rve)=>{var Mve=D6(),aJe=Eve(),lJe=Ive(),cJe="[object Null]",uJe="[object Undefined]",Pve=Mve?Mve.toStringTag:void 0;function hJe(t){return t==null?t===void 0?uJe:cJe:Pve&&Pve in Object(t)?aJe(t):lJe(t)}Rve.exports=hJe});var ZX=Vi((ohr,Bve)=>{function fJe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Bve.exports=fJe});var YX=Vi((shr,Lve)=>{var dJe=KE(),pJe=ZX(),mJe="[object AsyncFunction]",gJe="[object Function]",AJe="[object GeneratorFunction]",_Je="[object Proxy]";function yJe(t){if(!pJe(t))return!1;var e=dJe(t);return e==gJe||e==AJe||e==mJe||e==_Je}Lve.exports=yJe});var Ove=Vi((ahr,Dve)=>{var vJe=S_(),xJe=vJe["__core-js_shared__"];Dve.exports=xJe});var Nve=Vi((lhr,kve)=>{var KX=Ove(),Fve=function(){var t=/[^.]+$/.exec(KX&&KX.keys&&KX.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function bJe(t){return!!Fve&&Fve in t}kve.exports=bJe});var QX=Vi((chr,zve)=>{var wJe=Function.prototype,TJe=wJe.toString;function SJe(t){if(t!=null){try{return TJe.call(t)}catch{}try{return t+""}catch{}}return""}zve.exports=SJe});var Vve=Vi((uhr,Uve)=>{var EJe=YX(),CJe=Nve(),IJe=ZX(),MJe=QX(),PJe=/[\\^$.*+?()[\]{}|]/g,RJe=/^\[object .+?Constructor\]$/,BJe=Function.prototype,LJe=Object.prototype,DJe=BJe.toString,OJe=LJe.hasOwnProperty,FJe=RegExp("^"+DJe.call(OJe).replace(PJe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kJe(t){if(!IJe(t)||CJe(t))return!1;var e=EJe(t)?FJe:RJe;return e.test(MJe(t))}Uve.exports=kJe});var Hve=Vi((hhr,jve)=>{function NJe(t,e){return t?.[e]}jve.exports=NJe});var qw=Vi((fhr,Gve)=>{var zJe=Vve(),UJe=Hve();function VJe(t,e){var r=UJe(t,e);return zJe(r)?r:void 0}Gve.exports=VJe});var O6=Vi((dhr,Wve)=>{var jJe=qw(),HJe=S_(),GJe=jJe(HJe,"Map");Wve.exports=GJe});var HB=Vi((phr,qve)=>{var WJe=qw(),qJe=WJe(Object,"create");qve.exports=qJe});var Zve=Vi((mhr,Xve)=>{var $ve=HB();function $Je(){this.__data__=$ve?$ve(null):{},this.size=0}Xve.exports=$Je});var Kve=Vi((ghr,Yve)=>{function XJe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}Yve.exports=XJe});var Jve=Vi((Ahr,Qve)=>{var ZJe=HB(),YJe="__lodash_hash_undefined__",KJe=Object.prototype,QJe=KJe.hasOwnProperty;function JJe(t){var e=this.__data__;if(ZJe){var r=e[t];return r===YJe?void 0:r}return QJe.call(e,t)?e[t]:void 0}Qve.exports=JJe});var txe=Vi((_hr,exe)=>{var eet=HB(),tet=Object.prototype,ret=tet.hasOwnProperty;function iet(t){var e=this.__data__;return eet?e[t]!==void 0:ret.call(e,t)}exe.exports=iet});var ixe=Vi((yhr,rxe)=>{var net=HB(),oet="__lodash_hash_undefined__";function set(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=net&&e===void 0?oet:e,this}rxe.exports=set});var oxe=Vi((vhr,nxe)=>{var aet=Zve(),cet=Kve(),uet=Jve(),het=txe(),fet=ixe();function QE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var sxe=oxe(),det=VB(),pet=O6();function met(){this.size=0,this.__data__={hash:new sxe,map:new(pet||det),string:new sxe}}axe.exports=met});var uxe=Vi((bhr,cxe)=>{function get(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}cxe.exports=get});var GB=Vi((whr,hxe)=>{var Aet=uxe();function _et(t,e){var r=t.__data__;return Aet(e)?r[typeof e=="string"?"string":"hash"]:r.map}hxe.exports=_et});var dxe=Vi((Thr,fxe)=>{var yet=GB();function vet(t){var e=yet(this,t).delete(t);return this.size-=e?1:0,e}fxe.exports=vet});var mxe=Vi((Shr,pxe)=>{var xet=GB();function bet(t){return xet(this,t).get(t)}pxe.exports=bet});var Axe=Vi((Ehr,gxe)=>{var wet=GB();function Tet(t){return wet(this,t).has(t)}gxe.exports=Tet});var yxe=Vi((Chr,_xe)=>{var Eet=GB();function Cet(t,e){var r=Eet(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}_xe.exports=Cet});var JX=Vi((Ihr,vxe)=>{var Iet=lxe(),Met=dxe(),Pet=mxe(),Ret=Axe(),Bet=yxe();function JE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Let=VB(),Det=O6(),Oet=JX(),Fet=200;function ket(t,e){var r=this.__data__;if(r instanceof Let){var i=r.__data__;if(!Det||i.length{var Net=VB(),zet=dve(),Uet=mve(),Vet=Ave(),jet=yve(),Het=bxe();function eC(t){var e=this.__data__=new Net(t);this.size=e.size}eC.prototype.clear=zet;eC.prototype.delete=Uet;eC.prototype.get=Vet;eC.prototype.has=jet;eC.prototype.set=Het;wxe.exports=eC});var Exe=Vi((Rhr,Sxe)=>{var Get="__lodash_hash_undefined__";function Wet(t){return this.__data__.set(t,Get),this}Sxe.exports=Wet});var Ixe=Vi((Bhr,Cxe)=>{function qet(t){return this.__data__.has(t)}Cxe.exports=qet});var Pxe=Vi((Lhr,Mxe)=>{var $et=JX(),Xet=Exe(),Zet=Ixe();function F6(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new $et;++e{function Yet(t,e){for(var r=-1,i=t==null?0:t.length;++r{function Ket(t,e){return t.has(e)}Lxe.exports=Ket});var eZ=Vi((Fhr,Oxe)=>{var Qet=Pxe(),Jet=Bxe(),ett=Dxe(),ttt=1,rtt=2;function itt(t,e,r,i,n,o){var s=r&ttt,c=t.length,f=e.length;if(c!=f&&!(s&&f>c))return!1;var g=o.get(t),y=o.get(e);if(g&&y)return g==e&&y==t;var I=-1,F=!0,k=r&rtt?new Qet:void 0;for(o.set(t,e),o.set(e,t);++I{var ntt=S_(),ott=ntt.Uint8Array;Fxe.exports=ott});var zxe=Vi((Nhr,Nxe)=>{function stt(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}Nxe.exports=stt});var Vxe=Vi((zhr,Uxe)=>{function att(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Uxe.exports=att});var qxe=Vi((Uhr,Wxe)=>{var jxe=D6(),Hxe=kxe(),ltt=$X(),ctt=eZ(),utt=zxe(),htt=Vxe(),ftt=1,dtt=2,ptt="[object Boolean]",mtt="[object Date]",gtt="[object Error]",Att="[object Map]",_tt="[object Number]",ytt="[object RegExp]",vtt="[object Set]",xtt="[object String]",btt="[object Symbol]",wtt="[object ArrayBuffer]",Ttt="[object DataView]",Gxe=jxe?jxe.prototype:void 0,tZ=Gxe?Gxe.valueOf:void 0;function Stt(t,e,r,i,n,o,s){switch(r){case Ttt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case wtt:return!(t.byteLength!=e.byteLength||!o(new Hxe(t),new Hxe(e)));case ptt:case mtt:case _tt:return ltt(+t,+e);case gtt:return t.name==e.name&&t.message==e.message;case ytt:case xtt:return t==e+"";case Att:var c=utt;case vtt:var f=i&ftt;if(c||(c=htt),t.size!=e.size&&!f)return!1;var g=s.get(t);if(g)return g==e;i|=dtt,s.set(t,e);var y=ctt(c(t),c(e),i,n,o,s);return s.delete(t),y;case btt:if(tZ)return tZ.call(t)==tZ.call(e)}return!1}Wxe.exports=Stt});var Xxe=Vi((Vhr,$xe)=>{function Ett(t,e){for(var r=-1,i=e.length,n=t.length;++r{var Ctt=Array.isArray;Zxe.exports=Ctt});var Kxe=Vi((Hhr,Yxe)=>{var Itt=Xxe(),Mtt=k6();function Ptt(t,e,r){var i=e(t);return Mtt(t)?i:Itt(i,r(t))}Yxe.exports=Ptt});var Jxe=Vi((Ghr,Qxe)=>{function Rtt(t,e){for(var r=-1,i=t==null?0:t.length,n=0,o=[];++r{function Btt(){return[]}ebe.exports=Btt});var nbe=Vi((qhr,ibe)=>{var Ltt=Jxe(),Dtt=tbe(),Ott=Object.prototype,Ftt=Ott.propertyIsEnumerable,rbe=Object.getOwnPropertySymbols,ktt=rbe?function(t){return t==null?[]:(t=Object(t),Ltt(rbe(t),function(e){return Ftt.call(t,e)}))}:Dtt;ibe.exports=ktt});var sbe=Vi(($hr,obe)=>{function Ntt(t,e){for(var r=-1,i=Array(t);++r{function ztt(t){return t!=null&&typeof t=="object"}abe.exports=ztt});var cbe=Vi((Zhr,lbe)=>{var Utt=KE(),Vtt=tC(),jtt="[object Arguments]";function Htt(t){return Vtt(t)&&Utt(t)==jtt}lbe.exports=Htt});var dbe=Vi((Yhr,fbe)=>{var ube=cbe(),Gtt=tC(),hbe=Object.prototype,Wtt=hbe.hasOwnProperty,qtt=hbe.propertyIsEnumerable,$tt=ube(function(){return arguments}())?ube:function(t){return Gtt(t)&&Wtt.call(t,"callee")&&!qtt.call(t,"callee")};fbe.exports=$tt});var mbe=Vi((Khr,pbe)=>{function Xtt(){return!1}pbe.exports=Xtt});var rZ=Vi((WB,rC)=>{var Ztt=S_(),Ytt=mbe(),_be=typeof WB=="object"&&WB&&!WB.nodeType&&WB,gbe=_be&&typeof rC=="object"&&rC&&!rC.nodeType&&rC,Ktt=gbe&&gbe.exports===_be,Abe=Ktt?Ztt.Buffer:void 0,Qtt=Abe?Abe.isBuffer:void 0,Jtt=Qtt||Ytt;rC.exports=Jtt});var vbe=Vi((Qhr,ybe)=>{var ert=9007199254740991,trt=/^(?:0|[1-9]\d*)$/;function rrt(t,e){var r=typeof t;return e=e??ert,!!e&&(r=="number"||r!="symbol"&&trt.test(t))&&t>-1&&t%1==0&&t{var irt=9007199254740991;function nrt(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=irt}xbe.exports=nrt});var wbe=Vi((efr,bbe)=>{var ort=KE(),srt=iZ(),art=tC(),lrt="[object Arguments]",crt="[object Array]",urt="[object Boolean]",hrt="[object Date]",frt="[object Error]",drt="[object Function]",prt="[object Map]",mrt="[object Number]",grt="[object Object]",Art="[object RegExp]",_rt="[object Set]",yrt="[object String]",vrt="[object WeakMap]",xrt="[object ArrayBuffer]",brt="[object DataView]",wrt="[object Float32Array]",Trt="[object Float64Array]",Srt="[object Int8Array]",Ert="[object Int16Array]",Crt="[object Int32Array]",Irt="[object Uint8Array]",Mrt="[object Uint8ClampedArray]",Prt="[object Uint16Array]",Rrt="[object Uint32Array]",Qc={};Qc[wrt]=Qc[Trt]=Qc[Srt]=Qc[Ert]=Qc[Crt]=Qc[Irt]=Qc[Mrt]=Qc[Prt]=Qc[Rrt]=!0;Qc[lrt]=Qc[crt]=Qc[xrt]=Qc[urt]=Qc[brt]=Qc[hrt]=Qc[frt]=Qc[drt]=Qc[prt]=Qc[mrt]=Qc[grt]=Qc[Art]=Qc[_rt]=Qc[yrt]=Qc[vrt]=!1;function Brt(t){return art(t)&&srt(t.length)&&!!Qc[ort(t)]}bbe.exports=Brt});var Sbe=Vi((tfr,Tbe)=>{function Lrt(t){return function(e){return t(e)}}Tbe.exports=Lrt});var Cbe=Vi((qB,iC)=>{var Drt=XX(),Ebe=typeof qB=="object"&&qB&&!qB.nodeType&&qB,$B=Ebe&&typeof iC=="object"&&iC&&!iC.nodeType&&iC,Ort=$B&&$B.exports===Ebe,nZ=Ort&&Drt.process,Frt=function(){try{var t=$B&&$B.require&&$B.require("util").types;return t||nZ&&nZ.binding&&nZ.binding("util")}catch{}}();iC.exports=Frt});var oZ=Vi((rfr,Pbe)=>{var krt=wbe(),Nrt=Sbe(),Ibe=Cbe(),Mbe=Ibe&&Ibe.isTypedArray,zrt=Mbe?Nrt(Mbe):krt;Pbe.exports=zrt});var Bbe=Vi((ifr,Rbe)=>{var Urt=sbe(),Vrt=dbe(),jrt=k6(),Hrt=rZ(),Grt=vbe(),Wrt=oZ(),qrt=Object.prototype,$rt=qrt.hasOwnProperty;function Xrt(t,e){var r=jrt(t),i=!r&&Vrt(t),n=!r&&!i&&Hrt(t),o=!r&&!i&&!n&&Wrt(t),s=r||i||n||o,c=s?Urt(t.length,String):[],f=c.length;for(var g in t)(e||$rt.call(t,g))&&!(s&&(g=="length"||n&&(g=="offset"||g=="parent")||o&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||Grt(g,f)))&&c.push(g);return c}Rbe.exports=Xrt});var Dbe=Vi((nfr,Lbe)=>{var Zrt=Object.prototype;function Yrt(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Zrt;return t===r}Lbe.exports=Yrt});var sZ=Vi((ofr,Obe)=>{function Krt(t,e){return function(r){return t(e(r))}}Obe.exports=Krt});var kbe=Vi((sfr,Fbe)=>{var Qrt=sZ(),Jrt=Qrt(Object.keys,Object);Fbe.exports=Jrt});var zbe=Vi((afr,Nbe)=>{var eit=Dbe(),tit=kbe(),rit=Object.prototype,iit=rit.hasOwnProperty;function nit(t){if(!eit(t))return tit(t);var e=[];for(var r in Object(t))iit.call(t,r)&&r!="constructor"&&e.push(r);return e}Nbe.exports=nit});var Vbe=Vi((lfr,Ube)=>{var oit=YX(),sit=iZ();function ait(t){return t!=null&&sit(t.length)&&!oit(t)}Ube.exports=ait});var Hbe=Vi((cfr,jbe)=>{var lit=Bbe(),cit=zbe(),uit=Vbe();function hit(t){return uit(t)?lit(t):cit(t)}jbe.exports=hit});var Wbe=Vi((ufr,Gbe)=>{var fit=Kxe(),dit=nbe(),pit=Hbe();function mit(t){return fit(t,pit,dit)}Gbe.exports=mit});var Xbe=Vi((hfr,$be)=>{var qbe=Wbe(),git=1,Ait=Object.prototype,_it=Ait.hasOwnProperty;function yit(t,e,r,i,n,o){var s=r&git,c=qbe(t),f=c.length,g=qbe(e),y=g.length;if(f!=y&&!s)return!1;for(var I=f;I--;){var F=c[I];if(!(s?F in e:_it.call(e,F)))return!1}var k=o.get(t),U=o.get(e);if(k&&U)return k==e&&U==t;var K=!0;o.set(t,e),o.set(e,t);for(var ee=s;++I{var vit=qw(),xit=S_(),bit=vit(xit,"DataView");Zbe.exports=bit});var Qbe=Vi((dfr,Kbe)=>{var wit=qw(),Tit=S_(),Sit=wit(Tit,"Promise");Kbe.exports=Sit});var e1e=Vi((pfr,Jbe)=>{var Eit=qw(),Cit=S_(),Iit=Eit(Cit,"Set");Jbe.exports=Iit});var r1e=Vi((mfr,t1e)=>{var Mit=qw(),Pit=S_(),Rit=Mit(Pit,"WeakMap");t1e.exports=Rit});var u1e=Vi((gfr,c1e)=>{var aZ=Ybe(),lZ=O6(),cZ=Qbe(),uZ=e1e(),hZ=r1e(),l1e=KE(),nC=QX(),i1e="[object Map]",Bit="[object Object]",n1e="[object Promise]",o1e="[object Set]",s1e="[object WeakMap]",a1e="[object DataView]",Lit=nC(aZ),Dit=nC(lZ),Oit=nC(cZ),Fit=nC(uZ),kit=nC(hZ),$w=l1e;(aZ&&$w(new aZ(new ArrayBuffer(1)))!=a1e||lZ&&$w(new lZ)!=i1e||cZ&&$w(cZ.resolve())!=n1e||uZ&&$w(new uZ)!=o1e||hZ&&$w(new hZ)!=s1e)&&($w=function(t){var e=l1e(t),r=e==Bit?t.constructor:void 0,i=r?nC(r):"";if(i)switch(i){case Lit:return a1e;case Dit:return i1e;case Oit:return n1e;case Fit:return o1e;case kit:return s1e}return e});c1e.exports=$w});var _1e=Vi((Afr,A1e)=>{var fZ=Txe(),Nit=eZ(),zit=qxe(),Uit=Xbe(),h1e=u1e(),f1e=k6(),d1e=rZ(),Vit=oZ(),jit=1,p1e="[object Arguments]",m1e="[object Array]",N6="[object Object]",Hit=Object.prototype,g1e=Hit.hasOwnProperty;function Git(t,e,r,i,n,o){var s=f1e(t),c=f1e(e),f=s?m1e:h1e(t),g=c?m1e:h1e(e);f=f==p1e?N6:f,g=g==p1e?N6:g;var y=f==N6,I=g==N6,F=f==g;if(F&&d1e(t)){if(!d1e(e))return!1;s=!0,y=!1}if(F&&!y)return o||(o=new fZ),s||Vit(t)?Nit(t,e,r,i,n,o):zit(t,e,f,r,i,n,o);if(!(r&jit)){var k=y&&g1e.call(t,"__wrapped__"),U=I&&g1e.call(e,"__wrapped__");if(k||U){var K=k?t.value():t,ee=U?e.value():e;return o||(o=new fZ),n(K,ee,r,i,o)}}return F?(o||(o=new fZ),Uit(t,e,r,i,n,o)):!1}A1e.exports=Git});var b1e=Vi((_fr,x1e)=>{var Wit=_1e(),y1e=tC();function v1e(t,e,r,i,n){return t===e?!0:t==null||e==null||!y1e(t)&&!y1e(e)?t!==t&&e!==e:Wit(t,e,r,i,v1e,n)}x1e.exports=v1e});var T1e=Vi((yfr,w1e)=>{var qit=b1e();function $it(t,e){return qit(t,e)}w1e.exports=$it});var E1e=Vi((vfr,S1e)=>{var Xit=sZ(),Zit=Xit(Object.getPrototypeOf,Object);S1e.exports=Zit});var M1e=Vi((xfr,I1e)=>{var Yit=KE(),Kit=E1e(),Qit=tC(),Jit="[object Object]",ent=Function.prototype,tnt=Object.prototype,C1e=ent.toString,rnt=tnt.hasOwnProperty,int=C1e.call(Object);function nnt(t){if(!Qit(t)||Yit(t)!=Jit)return!1;var e=Kit(t);if(e===null)return!0;var r=rnt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&C1e.call(r)==int}I1e.exports=nnt});var KB,_Z,QB,H6,yZ,U1e,C_,ev,V1e,vZ,j1e,H1e,xZ,bZ,wZ,G1e,W1e,G6,TZ,q1e,Jc=Nt(()=>{KB="1.13.7",_Z=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},QB=Array.prototype,H6=Object.prototype,yZ=typeof Symbol<"u"?Symbol.prototype:null,U1e=QB.push,C_=QB.slice,ev=H6.toString,V1e=H6.hasOwnProperty,vZ=typeof ArrayBuffer<"u",j1e=typeof DataView<"u",H1e=Array.isArray,xZ=Object.keys,bZ=Object.create,wZ=vZ&&ArrayBuffer.isView,G1e=isNaN,W1e=isFinite,G6=!{toString:null}.propertyIsEnumerable("toString"),TZ=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],q1e=Math.pow(2,53)-1});function Yl(t,e){return e=e==null?t.length-1:+e,function(){for(var r=Math.max(arguments.length-e,0),i=Array(r),n=0;n{});function Ud(t){var e=typeof t;return e==="function"||e==="object"&&!!t}var zx=Nt(()=>{});function W6(t){return t===null}var $1e=Nt(()=>{});function aC(t){return t===void 0}var SZ=Nt(()=>{});function lC(t){return t===!0||t===!1||ev.call(t)==="[object Boolean]"}var EZ=Nt(()=>{Jc()});function q6(t){return!!(t&&t.nodeType===1)}var X1e=Nt(()=>{});function Xa(t){var e="[object "+t+"]";return function(r){return ev.call(r)===e}}var dd=Nt(()=>{Jc()});var Xw,$6=Nt(()=>{dd();Xw=Xa("String")});var JB,CZ=Nt(()=>{dd();JB=Xa("Number")});var IZ,Z1e=Nt(()=>{dd();IZ=Xa("Date")});var MZ,Y1e=Nt(()=>{dd();MZ=Xa("RegExp")});var PZ,K1e=Nt(()=>{dd();PZ=Xa("Error")});var eL,RZ=Nt(()=>{dd();eL=Xa("Symbol")});var tL,BZ=Nt(()=>{dd();tL=Xa("ArrayBuffer")});var Q1e,lnt,dc,$m=Nt(()=>{dd();Jc();Q1e=Xa("Function"),lnt=_Z.document&&_Z.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof lnt!="function"&&(Q1e=function(t){return typeof t=="function"||!1});dc=Q1e});var LZ,J1e=Nt(()=>{dd();LZ=Xa("Object")});var X6,cC,uC=Nt(()=>{Jc();J1e();X6=j1e&&(!/\[native code\]/.test(String(DataView))||LZ(new DataView(new ArrayBuffer(8)))),cC=typeof Map<"u"&&LZ(new Map)});function unt(t){return t!=null&&dc(t.getInt8)&&tL(t.buffer)}var cnt,Ux,Z6=Nt(()=>{dd();$m();BZ();uC();cnt=Xa("DataView");Ux=X6?unt:cnt});var yp,Vx=Nt(()=>{Jc();dd();yp=H1e||Xa("Array")});function pd(t,e){return t!=null&&V1e.call(t,e)}var tv=Nt(()=>{Jc()});var DZ,Zw,Y6=Nt(()=>{dd();tv();DZ=Xa("Arguments");(function(){DZ(arguments)||(DZ=function(t){return pd(t,"callee")})})();Zw=DZ});function K6(t){return!eL(t)&&W1e(t)&&!isNaN(parseFloat(t))}var ewe=Nt(()=>{Jc();RZ()});function hC(t){return JB(t)&&G1e(t)}var OZ=Nt(()=>{Jc();CZ()});function fC(t){return function(){return t}}var FZ=Nt(()=>{});function rL(t){return function(e){var r=t(e);return typeof r=="number"&&r>=0&&r<=q1e}}var kZ=Nt(()=>{Jc()});function iL(t){return function(e){return e?.[t]}}var NZ=Nt(()=>{});var Yw,Q6=Nt(()=>{NZ();Yw=iL("byteLength")});var twe,rwe=Nt(()=>{kZ();Q6();twe=rL(Yw)});function fnt(t){return wZ?wZ(t)&&!Ux(t):twe(t)&&hnt.test(ev.call(t))}var hnt,nL,zZ=Nt(()=>{Jc();Z6();FZ();rwe();hnt=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;nL=vZ?fnt:fC(!1)});var kc,Xm=Nt(()=>{NZ();kc=iL("length")});function dnt(t){for(var e={},r=t.length,i=0;i{Jc();$m();tv()});function ba(t){if(!Ud(t))return[];if(xZ)return xZ(t);var e=[];for(var r in t)pd(t,r)&&e.push(r);return G6&&oL(t,e),e}var Uf=Nt(()=>{zx();Jc();tv();UZ()});function J6(t){if(t==null)return!0;var e=kc(t);return typeof e=="number"&&(yp(t)||Xw(t)||Zw(t))?e===0:kc(ba(t))===0}var iwe=Nt(()=>{Xm();Vx();$6();Y6();Uf()});function dC(t,e){var r=ba(e),i=r.length;if(t==null)return!i;for(var n=Object(t),o=0;o{Uf()});function Ns(t){if(t instanceof Ns)return t;if(!(this instanceof Ns))return new Ns(t);this._wrapped=t}var cm=Nt(()=>{Jc();Ns.VERSION=KB;Ns.prototype.value=function(){return this._wrapped};Ns.prototype.valueOf=Ns.prototype.toJSON=Ns.prototype.value;Ns.prototype.toString=function(){return String(this._wrapped)}});function e5(t){return new Uint8Array(t.buffer||t,t.byteOffset||0,Yw(t))}var nwe=Nt(()=>{Q6()});function jZ(t,e,r,i){if(t===e)return t!==0||1/t===1/e;if(t==null||e==null)return!1;if(t!==t)return e!==e;var n=typeof t;return n!=="function"&&n!=="object"&&typeof e!="object"?!1:swe(t,e,r,i)}function swe(t,e,r,i){t instanceof Ns&&(t=t._wrapped),e instanceof Ns&&(e=e._wrapped);var n=ev.call(t);if(n!==ev.call(e))return!1;if(X6&&n=="[object Object]"&&Ux(t)){if(!Ux(e))return!1;n=owe}switch(n){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:+t==0?1/+t===1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object Symbol]":return yZ.valueOf.call(t)===yZ.valueOf.call(e);case"[object ArrayBuffer]":case owe:return swe(e5(t),e5(e),r,i)}var o=n==="[object Array]";if(!o&&nL(t)){var s=Yw(t);if(s!==Yw(e))return!1;if(t.buffer===e.buffer&&t.byteOffset===e.byteOffset)return!0;o=!0}if(!o){if(typeof t!="object"||typeof e!="object")return!1;var c=t.constructor,f=e.constructor;if(c!==f&&!(dc(c)&&c instanceof c&&dc(f)&&f instanceof f)&&"constructor"in t&&"constructor"in e)return!1}r=r||[],i=i||[];for(var g=r.length;g--;)if(r[g]===t)return i[g]===e;if(r.push(t),i.push(e),o){if(g=t.length,g!==e.length)return!1;for(;g--;)if(!jZ(t[g],e[g],r,i))return!1}else{var y=ba(t),I;if(g=y.length,ba(e).length!==g)return!1;for(;g--;)if(I=y[g],!(pd(e,I)&&jZ(t[I],e[I],r,i)))return!1}return r.pop(),i.pop(),!0}function t5(t,e){return jZ(t,e)}var owe,awe=Nt(()=>{cm();Jc();Q6();zZ();$m();uC();Z6();Uf();tv();nwe();owe="[object DataView]"});function Jg(t){if(!Ud(t))return[];var e=[];for(var r in t)e.push(r);return G6&&oL(t,e),e}var pC=Nt(()=>{zx();Jc();UZ()});function mC(t){var e=kc(t);return function(r){if(r==null)return!1;var i=Jg(r);if(kc(i))return!1;for(var n=0;n{Xm();$m();pC();HZ="forEach",lwe="has",GZ=["clear","delete"],cwe=["get",lwe,"set"],uwe=GZ.concat(HZ,cwe),WZ=GZ.concat(cwe),hwe=["add"].concat(GZ,HZ,lwe)});var qZ,fwe=Nt(()=>{dd();uC();r5();qZ=cC?mC(uwe):Xa("Map")});var $Z,dwe=Nt(()=>{dd();uC();r5();$Z=cC?mC(WZ):Xa("WeakMap")});var XZ,pwe=Nt(()=>{dd();uC();r5();XZ=cC?mC(hwe):Xa("Set")});var ZZ,mwe=Nt(()=>{dd();ZZ=Xa("WeakSet")});function um(t){for(var e=ba(t),r=e.length,i=Array(r),n=0;n{Uf()});function i5(t){for(var e=ba(t),r=e.length,i=Array(r),n=0;n{Uf()});function gC(t){for(var e={},r=ba(t),i=0,n=r.length;i{Uf()});function Qw(t){var e=[];for(var r in t)dc(t[r])&&e.push(r);return e.sort()}var KZ=Nt(()=>{$m()});function Jw(t,e){return function(r){var i=arguments.length;if(e&&(r=Object(r)),i<2||r==null)return r;for(var n=1;n{});var sL,QZ=Nt(()=>{n5();pC();sL=Jw(Jg)});var jx,o5=Nt(()=>{n5();Uf();jx=Jw(ba)});var aL,JZ=Nt(()=>{n5();pC();aL=Jw(Jg,!0)});function pnt(){return function(){}}function lL(t){if(!Ud(t))return{};if(bZ)return bZ(t);var e=pnt();e.prototype=t;var r=new e;return e.prototype=null,r}var eY=Nt(()=>{zx();Jc()});function s5(t,e){var r=lL(t);return e&&jx(r,e),r}var Awe=Nt(()=>{eY();o5()});function a5(t){return Ud(t)?yp(t)?t.slice():sL({},t):t}var _we=Nt(()=>{zx();Vx();QZ()});function l5(t,e){return e(t),t}var ywe=Nt(()=>{});function cL(t){return yp(t)?t:[t]}var tY=Nt(()=>{cm();Vx();Ns.toPath=cL});function Z0(t){return Ns.toPath(t)}var AC=Nt(()=>{cm();tY()});function e2(t,e){for(var r=e.length,i=0;i{});function _C(t,e,r){var i=e2(t,Z0(e));return aC(i)?r:i}var rY=Nt(()=>{AC();c5();SZ()});function u5(t,e){e=Z0(e);for(var r=e.length,i=0;i{tv();AC()});function Hx(t){return t}var h5=Nt(()=>{});function Y0(t){return t=jx({},t),function(e){return dC(e,t)}}var uL=Nt(()=>{o5();VZ()});function Gx(t){return t=Z0(t),function(e){return e2(e,t)}}var f5=Nt(()=>{c5();AC()});function K0(t,e,r){if(e===void 0)return t;switch(r??3){case 1:return function(i){return t.call(e,i)};case 3:return function(i,n,o){return t.call(e,i,n,o)};case 4:return function(i,n,o,s){return t.call(e,i,n,o,s)}}return function(){return t.apply(e,arguments)}}var yC=Nt(()=>{});function hL(t,e,r){return t==null?Hx:dc(t)?K0(t,e,r):Ud(t)&&!yp(t)?Y0(t):Gx(t)}var iY=Nt(()=>{h5();$m();zx();Vx();uL();f5();yC()});function t2(t,e){return hL(t,e,1/0)}var nY=Nt(()=>{cm();iY();Ns.iteratee=t2});function Kl(t,e,r){return Ns.iteratee!==t2?Ns.iteratee(t,e):hL(t,e,r)}var vp=Nt(()=>{cm();iY();nY()});function d5(t,e,r){e=Kl(e,r);for(var i=ba(t),n=i.length,o={},s=0;s{vp();Uf()});function vC(){}var oY=Nt(()=>{});function p5(t){return t==null?vC:function(e){return _C(t,e)}}var bwe=Nt(()=>{oY();rY()});function m5(t,e,r){var i=Array(Math.max(0,t));e=K0(e,r,1);for(var n=0;n{yC()});function r2(t,e){return e==null&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))}var sY=Nt(()=>{});var rv,g5=Nt(()=>{rv=Date.now||function(){return new Date().getTime()}});function fL(t){var e=function(o){return t[o]},r="(?:"+ba(t).join("|")+")",i=RegExp(r),n=RegExp(r,"g");return function(o){return o=o==null?"":""+o,i.test(o)?o.replace(n,e):o}}var aY=Nt(()=>{Uf()});var A5,lY=Nt(()=>{A5={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"}});var cY,Twe=Nt(()=>{aY();lY();cY=fL(A5)});var Swe,Ewe=Nt(()=>{YZ();lY();Swe=gC(A5)});var uY,Cwe=Nt(()=>{aY();Ewe();uY=fL(Swe)});var hY,fY=Nt(()=>{cm();hY=Ns.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g}});function Ant(t){return"\\"+mnt[t]}function _5(t,e,r){!e&&r&&(e=r),e=aL({},e,Ns.templateSettings);var i=RegExp([(e.escape||dY).source,(e.interpolate||dY).source,(e.evaluate||dY).source].join("|")+"|$","g"),n=0,o="__p+='";t.replace(i,function(g,y,I,F,k){return o+=t.slice(n,k).replace(gnt,Ant),n=k+g.length,y?o+=`'+ -((__t=(`+y+`))==null?'':_.escape(__t))+ -'`:I?o+=`'+ -((__t=(`+I+`))==null?'':__t)+ -'`:F&&(o+=`'; -`+F+` -__p+='`),g}),o+=`'; -`;var s=e.variable;if(s){if(!_nt.test(s))throw new Error("variable is not a bare identifier: "+s)}else o=`with(obj||{}){ -`+o+`} -`,s="obj";o=`var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');}; -`+o+`return __p; -`;var c;try{c=new Function(s,"_",o)}catch(g){throw g.source=o,g}var f=function(g){return c.call(this,g,Ns)};return f.source="function("+s+`){ -`+o+"}",f}var dY,mnt,gnt,_nt,Iwe=Nt(()=>{JZ();cm();fY();dY=/(.)^/,mnt={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},gnt=/\\|'|\r|\n|\u2028|\u2029/g;_nt=/^\s*(\w|\$)+\s*$/});function y5(t,e,r){e=Z0(e);var i=e.length;if(!i)return dc(r)?r.call(t):r;for(var n=0;n{$m();AC()});function v5(t){var e=++ynt+"";return t?t+e:e}var ynt,Pwe=Nt(()=>{ynt=0});function x5(t){var e=Ns(t);return e._chain=!0,e}var Rwe=Nt(()=>{cm()});function dL(t,e,r,i,n){if(!(i instanceof e))return t.apply(r,n);var o=lL(t.prototype),s=t.apply(o,n);return Ud(s)?s:o}var pY=Nt(()=>{eY();zx()});var mY,iv,pL=Nt(()=>{lm();pY();cm();mY=Yl(function(t,e){var r=mY.placeholder,i=function(){for(var n=0,o=e.length,s=Array(o),c=0;c{lm();$m();pY();mL=Yl(function(t,e,r){if(!dc(t))throw new TypeError("Bind must be called on a function");var i=Yl(function(n){return dL(t,i,e,this,r.concat(n))});return i})});var Nc,hm=Nt(()=>{kZ();Xm();Nc=rL(kc)});function fm(t,e,r,i){if(i=i||[],!e&&e!==0)e=1/0;else if(e<=0)return i.concat(t);for(var n=i.length,o=0,s=kc(t);o1)fm(c,e-1,r,i),n=i.length;else for(var f=0,g=c.length;f{Xm();hm();Vx();Y6()});var AY,Bwe=Nt(()=>{lm();i2();gY();AY=Yl(function(t,e){e=fm(e,!1,!1);var r=e.length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var i=e[r];t[i]=mL(t[i],t)}return t})});function b5(t,e){var r=function(i){var n=r.cache,o=""+(e?e.apply(this,arguments):i);return pd(n,o)||(n[o]=t.apply(this,arguments)),n[o]};return r.cache={},r}var Lwe=Nt(()=>{tv()});var gL,_Y=Nt(()=>{lm();gL=Yl(function(t,e,r){return setTimeout(function(){return t.apply(null,r)},e)})});var yY,Dwe=Nt(()=>{pL();_Y();cm();yY=iv(gL,Ns,1)});function w5(t,e,r){var i,n,o,s,c=0;r||(r={});var f=function(){c=r.leading===!1?0:rv(),i=null,s=t.apply(n,o),i||(n=o=null)},g=function(){var y=rv();!c&&r.leading===!1&&(c=y);var I=e-(y-c);return n=this,o=arguments,I<=0||I>e?(i&&(clearTimeout(i),i=null),c=y,s=t.apply(n,o),i||(n=o=null)):!i&&r.trailing!==!1&&(i=setTimeout(f,I)),s};return g.cancel=function(){clearTimeout(i),c=0,i=n=o=null},g}var Owe=Nt(()=>{g5()});function T5(t,e,r){var i,n,o,s,c,f=function(){var y=rv()-n;e>y?i=setTimeout(f,e-y):(i=null,r||(s=t.apply(c,o)),i||(o=c=null))},g=Yl(function(y){return c=this,o=y,n=rv(),i||(i=setTimeout(f,e),r&&(s=t.apply(c,o))),s});return g.cancel=function(){clearTimeout(i),i=o=c=null},g}var Fwe=Nt(()=>{lm();g5()});function S5(t,e){return iv(e,t)}var kwe=Nt(()=>{pL()});function Wx(t){return function(){return!t.apply(this,arguments)}}var E5=Nt(()=>{});function C5(){var t=arguments,e=t.length-1;return function(){for(var r=e,i=t[e].apply(this,arguments);r--;)i=t[r].call(this,i);return i}}var Nwe=Nt(()=>{});function I5(t,e){return function(){if(--t<1)return e.apply(this,arguments)}}var zwe=Nt(()=>{});function xC(t,e){var r;return function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=null),r}}var vY=Nt(()=>{});var xY,Uwe=Nt(()=>{pL();vY();xY=iv(xC,2)});function bC(t,e,r){e=Kl(e,r);for(var i=ba(t),n,o=0,s=i.length;o{vp();Uf()});function AL(t){return function(e,r,i){r=Kl(r,i);for(var n=kc(e),o=t>0?0:n-1;o>=0&&o{vp();Xm()});var n2,M5=Nt(()=>{wY();n2=AL(1)});var _L,TY=Nt(()=>{wY();_L=AL(-1)});function wC(t,e,r,i){r=Kl(r,i,1);for(var n=r(e),o=0,s=kc(t);o{vp();Xm()});function yL(t,e,r){return function(i,n,o){var s=0,c=kc(i);if(typeof o=="number")t>0?s=o>=0?o:Math.max(o+c,s):c=o>=0?Math.min(o+1,c):o+c+1;else if(r&&o&&c)return o=r(i,n),i[o]===n?o:-1;if(n!==n)return o=e(C_.call(i,s,c),hC),o>=0?o+s:-1;for(o=t>0?s:c-1;o>=0&&o{Xm();Jc();OZ()});var vL,CY=Nt(()=>{SY();M5();EY();vL=yL(1,n2,wC)});var IY,Vwe=Nt(()=>{TY();EY();IY=yL(-1,_L)});function o2(t,e,r){var i=Nc(t)?n2:bC,n=i(t,e,r);if(n!==void 0&&n!==-1)return t[n]}var MY=Nt(()=>{hm();M5();bY()});function P5(t,e){return o2(t,Y0(e))}var jwe=Nt(()=>{MY();uL()});function Vf(t,e,r){e=K0(e,r);var i,n;if(Nc(t))for(i=0,n=t.length;i{yC();hm();Uf()});function xp(t,e,r){e=Kl(e,r);for(var i=!Nc(t)&&ba(t),n=(i||t).length,o=Array(n),s=0;s{vp();hm();Uf()});function xL(t){var e=function(r,i,n,o){var s=!Nc(r)&&ba(r),c=(s||r).length,f=t>0?0:c-1;for(o||(n=r[s?s[f]:f],f+=t);f>=0&&f=3;return e(r,K0(i,o,4),n,s)}}var PY=Nt(()=>{hm();Uf();yC()});var bL,Hwe=Nt(()=>{PY();bL=xL(1)});var R5,Gwe=Nt(()=>{PY();R5=xL(-1)});function Zm(t,e,r){var i=[];return e=Kl(e,r),Vf(t,function(n,o,s){e(n,o,s)&&i.push(n)}),i}var TC=Nt(()=>{vp();qx()});function B5(t,e,r){return Zm(t,Wx(Kl(e)),r)}var Wwe=Nt(()=>{TC();E5();vp()});function wL(t,e,r){e=Kl(e,r);for(var i=!Nc(t)&&ba(t),n=(i||t).length,o=0;o{vp();hm();Uf()});function TL(t,e,r){e=Kl(e,r);for(var i=!Nc(t)&&ba(t),n=(i||t).length,o=0;o{vp();hm();Uf()});function Vd(t,e,r,i){return Nc(t)||(t=um(t)),(typeof r!="number"||i)&&(r=0),vL(t,e,r)>=0}var SC=Nt(()=>{hm();Kw();CY()});var RY,Xwe=Nt(()=>{lm();$m();s2();c5();AC();RY=Yl(function(t,e,r){var i,n;return dc(e)?n=e:(e=Z0(e),i=e.slice(0,-1),e=e[e.length-1]),xp(t,function(o){var s=n;if(!s){if(i&&i.length&&(o=e2(o,i)),o==null)return;s=o[e]}return s==null?s:s.apply(o,r)})})});function $x(t,e){return xp(t,Gx(e))}var L5=Nt(()=>{s2();f5()});function D5(t,e){return Zm(t,Y0(e))}var Zwe=Nt(()=>{TC();uL()});function EC(t,e,r){var i=-1/0,n=-1/0,o,s;if(e==null||typeof e=="number"&&typeof t[0]!="object"&&t!=null){t=Nc(t)?t:um(t);for(var c=0,f=t.length;ci&&(i=o)}else e=Kl(e,r),Vf(t,function(g,y,I){s=e(g,y,I),(s>n||s===-1/0&&i===-1/0)&&(i=g,n=s)});return i}var BY=Nt(()=>{hm();Kw();vp();qx()});function O5(t,e,r){var i=1/0,n=1/0,o,s;if(e==null||typeof e=="number"&&typeof t[0]!="object"&&t!=null){t=Nc(t)?t:um(t);for(var c=0,f=t.length;c{hm();Kw();vp();qx()});function CC(t){return t?yp(t)?C_.call(t):Xw(t)?t.match(vnt):Nc(t)?xp(t,Hx):um(t):[]}var vnt,LY=Nt(()=>{Vx();Jc();$6();hm();s2();h5();Kw();vnt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g});function IC(t,e,r){if(e==null||r)return Nc(t)||(t=um(t)),t[r2(t.length-1)];var i=CC(t),n=kc(i);e=Math.max(Math.min(e,n),0);for(var o=n-1,s=0;s{hm();Kw();Xm();sY();LY()});function F5(t){return IC(t,1/0)}var Kwe=Nt(()=>{DY()});function k5(t,e,r){var i=0;return e=Kl(e,r),$x(xp(t,function(n,o,s){return{value:n,index:i++,criteria:e(n,o,s)}}).sort(function(n,o){var s=n.criteria,c=o.criteria;if(s!==c){if(s>c||s===void 0)return 1;if(s{vp();L5();s2()});function nv(t,e){return function(r,i,n){var o=e?[[],[]]:{};return i=Kl(i,n),Vf(r,function(s,c){var f=i(s,c,r);t(o,s,f)}),o}}var SL=Nt(()=>{vp();qx()});var OY,Jwe=Nt(()=>{SL();tv();OY=nv(function(t,e,r){pd(t,r)?t[r].push(e):t[r]=[e]})});var FY,e2e=Nt(()=>{SL();FY=nv(function(t,e,r){t[r]=e})});var kY,t2e=Nt(()=>{SL();tv();kY=nv(function(t,e,r){pd(t,r)?t[r]++:t[r]=1})});var NY,r2e=Nt(()=>{SL();NY=nv(function(t,e,r){t[r?0:1].push(e)},!0)});function N5(t){return t==null?0:Nc(t)?t.length:ba(t).length}var i2e=Nt(()=>{hm();Uf()});function zY(t,e,r){return e in r}var n2e=Nt(()=>{});var EL,UY=Nt(()=>{lm();$m();yC();pC();n2e();i2();EL=Yl(function(t,e){var r={},i=e[0];if(t==null)return r;dc(i)?(e.length>1&&(i=K0(i,e[1])),e=Jg(t)):(i=zY,e=fm(e,!1,!1),t=Object(t));for(var n=0,o=e.length;n{lm();$m();E5();s2();i2();SC();UY();VY=Yl(function(t,e){var r=e[0],i;return dc(r)?(r=Wx(r),e.length>1&&(i=e[1])):(e=xp(fm(e,!1,!1),String),r=function(n,o){return!Vd(e,o)}),EL(t,r,i)})});function MC(t,e,r){return C_.call(t,0,Math.max(0,t.length-(e==null||r?1:e)))}var jY=Nt(()=>{Jc()});function PC(t,e,r){return t==null||t.length<1?e==null||r?void 0:[]:e==null||r?t[0]:MC(t,t.length-e)}var s2e=Nt(()=>{jY()});function Xx(t,e,r){return C_.call(t,e==null||r?1:e)}var HY=Nt(()=>{Jc()});function z5(t,e,r){return t==null||t.length<1?e==null||r?void 0:[]:e==null||r?t[t.length-1]:Xx(t,Math.max(0,t.length-e))}var a2e=Nt(()=>{HY()});function U5(t){return Zm(t,Boolean)}var l2e=Nt(()=>{TC()});function V5(t,e){return fm(t,e,!1)}var c2e=Nt(()=>{i2()});var CL,GY=Nt(()=>{lm();i2();TC();SC();CL=Yl(function(t,e){return e=fm(e,!0,!0),Zm(t,function(r){return!Vd(e,r)})})});var WY,u2e=Nt(()=>{lm();GY();WY=Yl(function(t,e){return CL(t,e)})});function a2(t,e,r,i){lC(e)||(i=r,r=e,e=!1),r!=null&&(r=Kl(r,i));for(var n=[],o=[],s=0,c=kc(t);s{EZ();vp();Xm();SC()});var $Y,h2e=Nt(()=>{lm();qY();i2();$Y=Yl(function(t){return a2(fm(t,!0,!0))})});function j5(t){for(var e=[],r=arguments.length,i=0,n=kc(t);i{Xm();SC()});function l2(t){for(var e=t&&EC(t,kc).length||0,r=Array(e),i=0;i{BY();Xm();L5()});var ZY,d2e=Nt(()=>{lm();XY();ZY=Yl(l2)});function H5(t,e){for(var r={},i=0,n=kc(t);i{Xm()});function G5(t,e,r){e==null&&(e=t||0,t=0),r||(r=e{});function W5(t,e){if(e==null||e<1)return[];for(var r=[],i=0,n=t.length;i{Jc()});function RC(t,e){return t._chain?Ns(e).chain():e}var YY=Nt(()=>{cm()});function BC(t){return Vf(Qw(t),function(e){var r=Ns[e]=t[e];Ns.prototype[e]=function(){var i=[this._wrapped];return U1e.apply(i,arguments),RC(this,r.apply(Ns,i))}}),Ns}var A2e=Nt(()=>{cm();qx();KZ();Jc();YY()});var _2e,y2e=Nt(()=>{cm();qx();Jc();YY();Vf(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=QB[t];Ns.prototype[t]=function(){var r=this._wrapped;return r!=null&&(e.apply(r,arguments),(t==="shift"||t==="splice")&&r.length===0&&delete r[0]),RC(this,r)}});Vf(["concat","join","slice"],function(t){var e=QB[t];Ns.prototype[t]=function(){var r=this._wrapped;return r!=null&&(r=e.apply(r,arguments)),RC(this,r)}});_2e=Ns});var KY={};Ua(KY,{VERSION:()=>KB,after:()=>I5,all:()=>wL,allKeys:()=>Jg,any:()=>TL,assign:()=>jx,before:()=>xC,bind:()=>mL,bindAll:()=>AY,chain:()=>x5,chunk:()=>W5,clone:()=>a5,collect:()=>xp,compact:()=>U5,compose:()=>C5,constant:()=>fC,contains:()=>Vd,countBy:()=>kY,create:()=>s5,debounce:()=>T5,default:()=>_2e,defaults:()=>aL,defer:()=>yY,delay:()=>gL,detect:()=>o2,difference:()=>CL,drop:()=>Xx,each:()=>Vf,escape:()=>cY,every:()=>wL,extend:()=>sL,extendOwn:()=>jx,filter:()=>Zm,find:()=>o2,findIndex:()=>n2,findKey:()=>bC,findLastIndex:()=>_L,findWhere:()=>P5,first:()=>PC,flatten:()=>V5,foldl:()=>bL,foldr:()=>R5,forEach:()=>Vf,functions:()=>Qw,get:()=>_C,groupBy:()=>OY,has:()=>u5,head:()=>PC,identity:()=>Hx,include:()=>Vd,includes:()=>Vd,indexBy:()=>FY,indexOf:()=>vL,initial:()=>MC,inject:()=>bL,intersection:()=>j5,invert:()=>gC,invoke:()=>RY,isArguments:()=>Zw,isArray:()=>yp,isArrayBuffer:()=>tL,isBoolean:()=>lC,isDataView:()=>Ux,isDate:()=>IZ,isElement:()=>q6,isEmpty:()=>J6,isEqual:()=>t5,isError:()=>PZ,isFinite:()=>K6,isFunction:()=>dc,isMap:()=>qZ,isMatch:()=>dC,isNaN:()=>hC,isNull:()=>W6,isNumber:()=>JB,isObject:()=>Ud,isRegExp:()=>MZ,isSet:()=>XZ,isString:()=>Xw,isSymbol:()=>eL,isTypedArray:()=>nL,isUndefined:()=>aC,isWeakMap:()=>$Z,isWeakSet:()=>ZZ,iteratee:()=>t2,keys:()=>ba,last:()=>z5,lastIndexOf:()=>IY,map:()=>xp,mapObject:()=>d5,matcher:()=>Y0,matches:()=>Y0,max:()=>EC,memoize:()=>b5,methods:()=>Qw,min:()=>O5,mixin:()=>BC,negate:()=>Wx,noop:()=>vC,now:()=>rv,object:()=>H5,omit:()=>VY,once:()=>xY,pairs:()=>i5,partial:()=>iv,partition:()=>NY,pick:()=>EL,pluck:()=>$x,property:()=>Gx,propertyOf:()=>p5,random:()=>r2,range:()=>G5,reduce:()=>bL,reduceRight:()=>R5,reject:()=>B5,rest:()=>Xx,restArguments:()=>Yl,result:()=>y5,sample:()=>IC,select:()=>Zm,shuffle:()=>F5,size:()=>N5,some:()=>TL,sortBy:()=>k5,sortedIndex:()=>wC,tail:()=>Xx,take:()=>PC,tap:()=>l5,template:()=>_5,templateSettings:()=>hY,throttle:()=>w5,times:()=>m5,toArray:()=>CC,toPath:()=>cL,transpose:()=>l2,unescape:()=>uY,union:()=>$Y,uniq:()=>a2,unique:()=>a2,uniqueId:()=>v5,unzip:()=>l2,values:()=>um,where:()=>D5,without:()=>WY,wrap:()=>S5,zip:()=>ZY});var q5=Nt(()=>{Jc();lm();zx();$1e();SZ();EZ();X1e();$6();CZ();Z1e();Y1e();K1e();RZ();BZ();Z6();Vx();$m();Y6();ewe();OZ();zZ();iwe();VZ();awe();fwe();dwe();pwe();mwe();Uf();pC();Kw();gwe();YZ();KZ();QZ();o5();JZ();Awe();_we();ywe();rY();vwe();xwe();h5();FZ();oY();tY();f5();bwe();uL();wwe();sY();g5();Twe();Cwe();fY();Iwe();Mwe();Pwe();Rwe();nY();pL();gY();Bwe();Lwe();_Y();Dwe();Owe();Fwe();kwe();E5();Nwe();zwe();vY();Uwe();bY();M5();TY();SY();CY();Vwe();MY();jwe();qx();s2();Hwe();Gwe();TC();Wwe();qwe();$we();SC();Xwe();L5();Zwe();BY();Ywe();Kwe();DY();Qwe();Jwe();e2e();t2e();r2e();LY();i2e();UY();o2e();s2e();jY();a2e();HY();l2e();c2e();u2e();qY();h2e();f2e();GY();XY();d2e();p2e();m2e();g2e();A2e();y2e()});var QY,v2e,x2e=Nt(()=>{q5();q5();QY=BC(KY);QY._=QY;v2e=QY});var b2e={};Ua(b2e,{VERSION:()=>KB,after:()=>I5,all:()=>wL,allKeys:()=>Jg,any:()=>TL,assign:()=>jx,before:()=>xC,bind:()=>mL,bindAll:()=>AY,chain:()=>x5,chunk:()=>W5,clone:()=>a5,collect:()=>xp,compact:()=>U5,compose:()=>C5,constant:()=>fC,contains:()=>Vd,countBy:()=>kY,create:()=>s5,debounce:()=>T5,default:()=>v2e,defaults:()=>aL,defer:()=>yY,delay:()=>gL,detect:()=>o2,difference:()=>CL,drop:()=>Xx,each:()=>Vf,escape:()=>cY,every:()=>wL,extend:()=>sL,extendOwn:()=>jx,filter:()=>Zm,find:()=>o2,findIndex:()=>n2,findKey:()=>bC,findLastIndex:()=>_L,findWhere:()=>P5,first:()=>PC,flatten:()=>V5,foldl:()=>bL,foldr:()=>R5,forEach:()=>Vf,functions:()=>Qw,get:()=>_C,groupBy:()=>OY,has:()=>u5,head:()=>PC,identity:()=>Hx,include:()=>Vd,includes:()=>Vd,indexBy:()=>FY,indexOf:()=>vL,initial:()=>MC,inject:()=>bL,intersection:()=>j5,invert:()=>gC,invoke:()=>RY,isArguments:()=>Zw,isArray:()=>yp,isArrayBuffer:()=>tL,isBoolean:()=>lC,isDataView:()=>Ux,isDate:()=>IZ,isElement:()=>q6,isEmpty:()=>J6,isEqual:()=>t5,isError:()=>PZ,isFinite:()=>K6,isFunction:()=>dc,isMap:()=>qZ,isMatch:()=>dC,isNaN:()=>hC,isNull:()=>W6,isNumber:()=>JB,isObject:()=>Ud,isRegExp:()=>MZ,isSet:()=>XZ,isString:()=>Xw,isSymbol:()=>eL,isTypedArray:()=>nL,isUndefined:()=>aC,isWeakMap:()=>$Z,isWeakSet:()=>ZZ,iteratee:()=>t2,keys:()=>ba,last:()=>z5,lastIndexOf:()=>IY,map:()=>xp,mapObject:()=>d5,matcher:()=>Y0,matches:()=>Y0,max:()=>EC,memoize:()=>b5,methods:()=>Qw,min:()=>O5,mixin:()=>BC,negate:()=>Wx,noop:()=>vC,now:()=>rv,object:()=>H5,omit:()=>VY,once:()=>xY,pairs:()=>i5,partial:()=>iv,partition:()=>NY,pick:()=>EL,pluck:()=>$x,property:()=>Gx,propertyOf:()=>p5,random:()=>r2,range:()=>G5,reduce:()=>bL,reduceRight:()=>R5,reject:()=>B5,rest:()=>Xx,restArguments:()=>Yl,result:()=>y5,sample:()=>IC,select:()=>Zm,shuffle:()=>F5,size:()=>N5,some:()=>TL,sortBy:()=>k5,sortedIndex:()=>wC,tail:()=>Xx,take:()=>PC,tap:()=>l5,template:()=>_5,templateSettings:()=>hY,throttle:()=>w5,times:()=>m5,toArray:()=>CC,toPath:()=>cL,transpose:()=>l2,unescape:()=>uY,union:()=>$Y,uniq:()=>a2,unique:()=>a2,uniqueId:()=>v5,unzip:()=>l2,values:()=>um,where:()=>D5,without:()=>WY,wrap:()=>S5,zip:()=>ZY});var w2e=Nt(()=>{x2e();q5()});var JY=Vi((T2e,$5)=>{(function(t,e){"use strict";typeof $5=="object"&&typeof $5.exports=="object"?$5.exports=t.document?e(t,!0):function(r){if(!r.document)throw new Error("jQuery requires a window with a document");return e(r)}:e(t)})(typeof window<"u"?window:T2e,function(t,e){"use strict";var r=[],i=Object.getPrototypeOf,n=r.slice,o=r.flat?function(q){return r.flat.call(q)}:function(q){return r.concat.apply([],q)},s=r.push,c=r.indexOf,f={},g=f.toString,y=f.hasOwnProperty,I=y.toString,F=I.call(Object),k={},U=function(oe){return typeof oe=="function"&&typeof oe.nodeType!="number"&&typeof oe.item!="function"},K=function(oe){return oe!=null&&oe===oe.window},ee=t.document,he={type:!0,src:!0,nonce:!0,noModule:!0};function xe(q,oe,pe){pe=pe||ee;var be,He,We=pe.createElement("script");if(We.text=q,oe)for(be in he)He=oe[be]||oe.getAttribute&&oe.getAttribute(be),He&&We.setAttribute(be,He);pe.head.appendChild(We).parentNode.removeChild(We)}function me(q){return q==null?q+"":typeof q=="object"||typeof q=="function"?f[g.call(q)]||"object":typeof q}var Se="3.7.1",Oe=/HTML$/i,ne=function(q,oe){return new ne.fn.init(q,oe)};ne.fn=ne.prototype={jquery:Se,constructor:ne,length:0,toArray:function(){return n.call(this)},get:function(q){return q==null?n.call(this):q<0?this[q+this.length]:this[q]},pushStack:function(q){var oe=ne.merge(this.constructor(),q);return oe.prevObject=this,oe},each:function(q){return ne.each(this,q)},map:function(q){return this.pushStack(ne.map(this,function(oe,pe){return q.call(oe,pe,oe)}))},slice:function(){return this.pushStack(n.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ne.grep(this,function(q,oe){return(oe+1)%2}))},odd:function(){return this.pushStack(ne.grep(this,function(q,oe){return oe%2}))},eq:function(q){var oe=this.length,pe=+q+(q<0?oe:0);return this.pushStack(pe>=0&&pe0&&oe-1 in q}function Xe(q,oe){return q.nodeName&&q.nodeName.toLowerCase()===oe.toLowerCase()}var Ce=r.pop,_e=r.sort,Je=r.splice,Et="[\\x20\\t\\r\\n\\f]",Ze=new RegExp("^"+Et+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Et+"+$","g");ne.contains=function(q,oe){var pe=oe&&oe.parentNode;return q===pe||!!(pe&&pe.nodeType===1&&(q.contains?q.contains(pe):q.compareDocumentPosition&&q.compareDocumentPosition(pe)&16))};var xt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function sr(q,oe){return oe?q==="\0"?"\uFFFD":q.slice(0,-1)+"\\"+q.charCodeAt(q.length-1).toString(16)+" ":"\\"+q}ne.escapeSelector=function(q){return(q+"").replace(xt,sr)};var Mr=ee,hr=s;(function(){var q,oe,pe,be,He,We=hr,ot,rr,Ut,cr,Fr,li=ne.expando,vr=0,Bi=0,gn=Ah(),gs=Ah(),Mo=Ah(),bl=Ah(),al=function(Bt,ar){return Bt===ar&&(He=!0),0},Da="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",Ka="(?:\\\\[\\da-fA-F]{1,6}"+Et+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",Yn="\\["+Et+"*("+Ka+")(?:"+Et+"*([*^$|!~]?=)"+Et+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+Ka+"))|)"+Et+"*\\]",Er=":("+Ka+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+Yn+")*)|.*)\\)|)",Gr=new RegExp(Et+"+","g"),wi=new RegExp("^"+Et+"*,"+Et+"*"),ni=new RegExp("^"+Et+"*([>+~]|"+Et+")"+Et+"*"),b=new RegExp(Et+"|>"),Po=new RegExp(Er),_o=new RegExp("^"+Ka+"$"),Ye={ID:new RegExp("^#("+Ka+")"),CLASS:new RegExp("^\\.("+Ka+")"),TAG:new RegExp("^("+Ka+"|[*])"),ATTR:new RegExp("^"+Yn),PSEUDO:new RegExp("^"+Er),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+Et+"*(even|odd|(([+-]|)(\\d*)n|)"+Et+"*(?:([+-]|)"+Et+"*(\\d+)|))"+Et+"*\\)|)","i"),bool:new RegExp("^(?:"+Da+")$","i"),needsContext:new RegExp("^"+Et+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+Et+"*((?:-\\d)?\\d*)"+Et+"*\\)|)(?=[^-]|$)","i")},Ms=/^(?:input|select|textarea|button)$/i,ao=/^h\d$/i,Ps=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Rs=/[+~]/,Go=new RegExp("\\\\[\\da-fA-F]{1,6}"+Et+"?|\\\\([^\\r\\n\\f])","g"),Qs=function(Bt,ar){var Br="0x"+Bt.slice(1)-65536;return ar||(Br<0?String.fromCharCode(Br+65536):String.fromCharCode(Br>>10|55296,Br&1023|56320))},Ts=function(){qn()},Os=_f(function(Bt){return Bt.disabled===!0&&Xe(Bt,"fieldset")},{dir:"parentNode",next:"legend"});function gh(){try{return ot.activeElement}catch{}}try{We.apply(r=n.call(Mr.childNodes),Mr.childNodes),r[Mr.childNodes.length].nodeType}catch{We={apply:function(ar,Br){hr.apply(ar,n.call(Br))},call:function(ar){hr.apply(ar,n.call(arguments,1))}}}function Ss(Bt,ar,Br,Ur){var ci,Li,yi,Pn,sn,To,Hi,Ti=ar&&ar.ownerDocument,Kn=ar?ar.nodeType:9;if(Br=Br||[],typeof Bt!="string"||!Bt||Kn!==1&&Kn!==9&&Kn!==11)return Br;if(!Ur&&(qn(ar),ar=ar||ot,Ut)){if(Kn!==11&&(sn=Ps.exec(Bt)))if(ci=sn[1]){if(Kn===9)if(yi=ar.getElementById(ci)){if(yi.id===ci)return We.call(Br,yi),Br}else return Br;else if(Ti&&(yi=Ti.getElementById(ci))&&Ss.contains(ar,yi)&&yi.id===ci)return We.call(Br,yi),Br}else{if(sn[2])return We.apply(Br,ar.getElementsByTagName(Bt)),Br;if((ci=sn[3])&&ar.getElementsByClassName)return We.apply(Br,ar.getElementsByClassName(ci)),Br}if(!bl[Bt+" "]&&(!cr||!cr.test(Bt))){if(Hi=Bt,Ti=ar,Kn===1&&(b.test(Bt)||ni.test(Bt))){for(Ti=Rs.test(Bt)&&Ac(ar.parentNode)||ar,(Ti!=ar||!k.scope)&&((Pn=ar.getAttribute("id"))?Pn=ne.escapeSelector(Pn):ar.setAttribute("id",Pn=li)),To=Fn(Bt),Li=To.length;Li--;)To[Li]=(Pn?"#"+Pn:":scope")+" "+$h(To[Li]);Hi=To.join(",")}try{return We.apply(Br,Ti.querySelectorAll(Hi)),Br}catch{bl(Bt,!0)}finally{Pn===li&&ar.removeAttribute("id")}}}return qf(Bt.replace(Ze,"$1"),ar,Br,Ur)}function Ah(){var Bt=[];function ar(Br,Ur){return Bt.push(Br+" ")>oe.cacheLength&&delete ar[Bt.shift()],ar[Br+" "]=Ur}return ar}function mc(Bt){return Bt[li]=!0,Bt}function Qa(Bt){var ar=ot.createElement("fieldset");try{return!!Bt(ar)}catch{return!1}finally{ar.parentNode&&ar.parentNode.removeChild(ar),ar=null}}function Ru(Bt){return function(ar){return Xe(ar,"input")&&ar.type===Bt}}function gc(Bt){return function(ar){return(Xe(ar,"input")||Xe(ar,"button"))&&ar.type===Bt}}function _h(Bt){return function(ar){return"form"in ar?ar.parentNode&&ar.disabled===!1?"label"in ar?"label"in ar.parentNode?ar.parentNode.disabled===Bt:ar.disabled===Bt:ar.isDisabled===Bt||ar.isDisabled!==!Bt&&Os(ar)===Bt:ar.disabled===Bt:"label"in ar?ar.disabled===Bt:!1}}function Fl(Bt){return mc(function(ar){return ar=+ar,mc(function(Br,Ur){for(var ci,Li=Bt([],Br.length,ar),yi=Li.length;yi--;)Br[ci=Li[yi]]&&(Br[ci]=!(Ur[ci]=Br[ci]))})})}function Ac(Bt){return Bt&&typeof Bt.getElementsByTagName<"u"&&Bt}function qn(Bt){var ar,Br=Bt?Bt.ownerDocument||Bt:Mr;return Br==ot||Br.nodeType!==9||!Br.documentElement||(ot=Br,rr=ot.documentElement,Ut=!ne.isXMLDoc(ot),Fr=rr.matches||rr.webkitMatchesSelector||rr.msMatchesSelector,rr.msMatchesSelector&&Mr!=ot&&(ar=ot.defaultView)&&ar.top!==ar&&ar.addEventListener("unload",Ts),k.getById=Qa(function(Ur){return rr.appendChild(Ur).id=ne.expando,!ot.getElementsByName||!ot.getElementsByName(ne.expando).length}),k.disconnectedMatch=Qa(function(Ur){return Fr.call(Ur,"*")}),k.scope=Qa(function(){return ot.querySelectorAll(":scope")}),k.cssHas=Qa(function(){try{return ot.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),k.getById?(oe.filter.ID=function(Ur){var ci=Ur.replace(Go,Qs);return function(Li){return Li.getAttribute("id")===ci}},oe.find.ID=function(Ur,ci){if(typeof ci.getElementById<"u"&&Ut){var Li=ci.getElementById(Ur);return Li?[Li]:[]}}):(oe.filter.ID=function(Ur){var ci=Ur.replace(Go,Qs);return function(Li){var yi=typeof Li.getAttributeNode<"u"&&Li.getAttributeNode("id");return yi&&yi.value===ci}},oe.find.ID=function(Ur,ci){if(typeof ci.getElementById<"u"&&Ut){var Li,yi,Pn,sn=ci.getElementById(Ur);if(sn){if(Li=sn.getAttributeNode("id"),Li&&Li.value===Ur)return[sn];for(Pn=ci.getElementsByName(Ur),yi=0;sn=Pn[yi++];)if(Li=sn.getAttributeNode("id"),Li&&Li.value===Ur)return[sn]}return[]}}),oe.find.TAG=function(Ur,ci){return typeof ci.getElementsByTagName<"u"?ci.getElementsByTagName(Ur):ci.querySelectorAll(Ur)},oe.find.CLASS=function(Ur,ci){if(typeof ci.getElementsByClassName<"u"&&Ut)return ci.getElementsByClassName(Ur)},cr=[],Qa(function(Ur){var ci;rr.appendChild(Ur).innerHTML="",Ur.querySelectorAll("[selected]").length||cr.push("\\["+Et+"*(?:value|"+Da+")"),Ur.querySelectorAll("[id~="+li+"-]").length||cr.push("~="),Ur.querySelectorAll("a#"+li+"+*").length||cr.push(".#.+[+~]"),Ur.querySelectorAll(":checked").length||cr.push(":checked"),ci=ot.createElement("input"),ci.setAttribute("type","hidden"),Ur.appendChild(ci).setAttribute("name","D"),rr.appendChild(Ur).disabled=!0,Ur.querySelectorAll(":disabled").length!==2&&cr.push(":enabled",":disabled"),ci=ot.createElement("input"),ci.setAttribute("name",""),Ur.appendChild(ci),Ur.querySelectorAll("[name='']").length||cr.push("\\["+Et+"*name"+Et+"*="+Et+`*(?:''|"")`)}),k.cssHas||cr.push(":has"),cr=cr.length&&new RegExp(cr.join("|")),al=function(Ur,ci){if(Ur===ci)return He=!0,0;var Li=!Ur.compareDocumentPosition-!ci.compareDocumentPosition;return Li||(Li=(Ur.ownerDocument||Ur)==(ci.ownerDocument||ci)?Ur.compareDocumentPosition(ci):1,Li&1||!k.sortDetached&&ci.compareDocumentPosition(Ur)===Li?Ur===ot||Ur.ownerDocument==Mr&&Ss.contains(Mr,Ur)?-1:ci===ot||ci.ownerDocument==Mr&&Ss.contains(Mr,ci)?1:be?c.call(be,Ur)-c.call(be,ci):0:Li&4?-1:1)}),ot}Ss.matches=function(Bt,ar){return Ss(Bt,null,null,ar)},Ss.matchesSelector=function(Bt,ar){if(qn(Bt),Ut&&!bl[ar+" "]&&(!cr||!cr.test(ar)))try{var Br=Fr.call(Bt,ar);if(Br||k.disconnectedMatch||Bt.document&&Bt.document.nodeType!==11)return Br}catch{bl(ar,!0)}return Ss(ar,ot,null,[Bt]).length>0},Ss.contains=function(Bt,ar){return(Bt.ownerDocument||Bt)!=ot&&qn(Bt),ne.contains(Bt,ar)},Ss.attr=function(Bt,ar){(Bt.ownerDocument||Bt)!=ot&&qn(Bt);var Br=oe.attrHandle[ar.toLowerCase()],Ur=Br&&y.call(oe.attrHandle,ar.toLowerCase())?Br(Bt,ar,!Ut):void 0;return Ur!==void 0?Ur:Bt.getAttribute(ar)},Ss.error=function(Bt){throw new Error("Syntax error, unrecognized expression: "+Bt)},ne.uniqueSort=function(Bt){var ar,Br=[],Ur=0,ci=0;if(He=!k.sortStable,be=!k.sortStable&&n.call(Bt,0),_e.call(Bt,al),He){for(;ar=Bt[ci++];)ar===Bt[ci]&&(Ur=Br.push(ci));for(;Ur--;)Je.call(Bt,Br[Ur],1)}return be=null,Bt},ne.fn.uniqueSort=function(){return this.pushStack(ne.uniqueSort(n.apply(this)))},oe=ne.expr={cacheLength:50,createPseudo:mc,match:Ye,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(Bt){return Bt[1]=Bt[1].replace(Go,Qs),Bt[3]=(Bt[3]||Bt[4]||Bt[5]||"").replace(Go,Qs),Bt[2]==="~="&&(Bt[3]=" "+Bt[3]+" "),Bt.slice(0,4)},CHILD:function(Bt){return Bt[1]=Bt[1].toLowerCase(),Bt[1].slice(0,3)==="nth"?(Bt[3]||Ss.error(Bt[0]),Bt[4]=+(Bt[4]?Bt[5]+(Bt[6]||1):2*(Bt[3]==="even"||Bt[3]==="odd")),Bt[5]=+(Bt[7]+Bt[8]||Bt[3]==="odd")):Bt[3]&&Ss.error(Bt[0]),Bt},PSEUDO:function(Bt){var ar,Br=!Bt[6]&&Bt[2];return Ye.CHILD.test(Bt[0])?null:(Bt[3]?Bt[2]=Bt[4]||Bt[5]||"":Br&&Po.test(Br)&&(ar=Fn(Br,!0))&&(ar=Br.indexOf(")",Br.length-ar)-Br.length)&&(Bt[0]=Bt[0].slice(0,ar),Bt[2]=Br.slice(0,ar)),Bt.slice(0,3))}},filter:{TAG:function(Bt){var ar=Bt.replace(Go,Qs).toLowerCase();return Bt==="*"?function(){return!0}:function(Br){return Xe(Br,ar)}},CLASS:function(Bt){var ar=gn[Bt+" "];return ar||(ar=new RegExp("(^|"+Et+")"+Bt+"("+Et+"|$)"))&&gn(Bt,function(Br){return ar.test(typeof Br.className=="string"&&Br.className||typeof Br.getAttribute<"u"&&Br.getAttribute("class")||"")})},ATTR:function(Bt,ar,Br){return function(Ur){var ci=Ss.attr(Ur,Bt);return ci==null?ar==="!=":ar?(ci+="",ar==="="?ci===Br:ar==="!="?ci!==Br:ar==="^="?Br&&ci.indexOf(Br)===0:ar==="*="?Br&&ci.indexOf(Br)>-1:ar==="$="?Br&&ci.slice(-Br.length)===Br:ar==="~="?(" "+ci.replace(Gr," ")+" ").indexOf(Br)>-1:ar==="|="?ci===Br||ci.slice(0,Br.length+1)===Br+"-":!1):!0}},CHILD:function(Bt,ar,Br,Ur,ci){var Li=Bt.slice(0,3)!=="nth",yi=Bt.slice(-4)!=="last",Pn=ar==="of-type";return Ur===1&&ci===0?function(sn){return!!sn.parentNode}:function(sn,To,Hi){var Ti,Kn,zn,Fs,wl,yo=Li!==yi?"nextSibling":"previousSibling",tc=sn.parentNode,Tl=Pn&&sn.nodeName.toLowerCase(),ll=!Hi&&!Pn,Oa=!1;if(tc){if(Li){for(;yo;){for(zn=sn;zn=zn[yo];)if(Pn?Xe(zn,Tl):zn.nodeType===1)return!1;wl=yo=Bt==="only"&&!wl&&"nextSibling"}return!0}if(wl=[yi?tc.firstChild:tc.lastChild],yi&&ll){for(Kn=tc[li]||(tc[li]={}),Ti=Kn[Bt]||[],Fs=Ti[0]===vr&&Ti[1],Oa=Fs&&Ti[2],zn=Fs&&tc.childNodes[Fs];zn=++Fs&&zn&&zn[yo]||(Oa=Fs=0)||wl.pop();)if(zn.nodeType===1&&++Oa&&zn===sn){Kn[Bt]=[vr,Fs,Oa];break}}else if(ll&&(Kn=sn[li]||(sn[li]={}),Ti=Kn[Bt]||[],Fs=Ti[0]===vr&&Ti[1],Oa=Fs),Oa===!1)for(;(zn=++Fs&&zn&&zn[yo]||(Oa=Fs=0)||wl.pop())&&!((Pn?Xe(zn,Tl):zn.nodeType===1)&&++Oa&&(ll&&(Kn=zn[li]||(zn[li]={}),Kn[Bt]=[vr,Oa]),zn===sn)););return Oa-=ci,Oa===Ur||Oa%Ur===0&&Oa/Ur>=0}}},PSEUDO:function(Bt,ar){var Br,Ur=oe.pseudos[Bt]||oe.setFilters[Bt.toLowerCase()]||Ss.error("unsupported pseudo: "+Bt);return Ur[li]?Ur(ar):Ur.length>1?(Br=[Bt,Bt,"",ar],oe.setFilters.hasOwnProperty(Bt.toLowerCase())?mc(function(ci,Li){for(var yi,Pn=Ur(ci,ar),sn=Pn.length;sn--;)yi=c.call(ci,Pn[sn]),ci[yi]=!(Li[yi]=Pn[sn])}):function(ci){return Ur(ci,0,Br)}):Ur}},pseudos:{not:mc(function(Bt){var ar=[],Br=[],Ur=Wf(Bt.replace(Ze,"$1"));return Ur[li]?mc(function(ci,Li,yi,Pn){for(var sn,To=Ur(ci,null,Pn,[]),Hi=ci.length;Hi--;)(sn=To[Hi])&&(ci[Hi]=!(Li[Hi]=sn))}):function(ci,Li,yi){return ar[0]=ci,Ur(ar,null,yi,Br),ar[0]=null,!Br.pop()}}),has:mc(function(Bt){return function(ar){return Ss(Bt,ar).length>0}}),contains:mc(function(Bt){return Bt=Bt.replace(Go,Qs),function(ar){return(ar.textContent||ne.text(ar)).indexOf(Bt)>-1}}),lang:mc(function(Bt){return _o.test(Bt||"")||Ss.error("unsupported lang: "+Bt),Bt=Bt.replace(Go,Qs).toLowerCase(),function(ar){var Br;do if(Br=Ut?ar.lang:ar.getAttribute("xml:lang")||ar.getAttribute("lang"))return Br=Br.toLowerCase(),Br===Bt||Br.indexOf(Bt+"-")===0;while((ar=ar.parentNode)&&ar.nodeType===1);return!1}}),target:function(Bt){var ar=t.location&&t.location.hash;return ar&&ar.slice(1)===Bt.id},root:function(Bt){return Bt===rr},focus:function(Bt){return Bt===gh()&&ot.hasFocus()&&!!(Bt.type||Bt.href||~Bt.tabIndex)},enabled:_h(!1),disabled:_h(!0),checked:function(Bt){return Xe(Bt,"input")&&!!Bt.checked||Xe(Bt,"option")&&!!Bt.selected},selected:function(Bt){return Bt.parentNode&&Bt.parentNode.selectedIndex,Bt.selected===!0},empty:function(Bt){for(Bt=Bt.firstChild;Bt;Bt=Bt.nextSibling)if(Bt.nodeType<6)return!1;return!0},parent:function(Bt){return!oe.pseudos.empty(Bt)},header:function(Bt){return ao.test(Bt.nodeName)},input:function(Bt){return Ms.test(Bt.nodeName)},button:function(Bt){return Xe(Bt,"input")&&Bt.type==="button"||Xe(Bt,"button")},text:function(Bt){var ar;return Xe(Bt,"input")&&Bt.type==="text"&&((ar=Bt.getAttribute("type"))==null||ar.toLowerCase()==="text")},first:Fl(function(){return[0]}),last:Fl(function(Bt,ar){return[ar-1]}),eq:Fl(function(Bt,ar,Br){return[Br<0?Br+ar:Br]}),even:Fl(function(Bt,ar){for(var Br=0;Brar?Ur=ar:Ur=Br;--Ur>=0;)Bt.push(Ur);return Bt}),gt:Fl(function(Bt,ar,Br){for(var Ur=Br<0?Br+ar:Br;++Ur1?function(ar,Br,Ur){for(var ci=Bt.length;ci--;)if(!Bt[ci](ar,Br,Ur))return!1;return!0}:Bt[0]}function Wd(Bt,ar,Br){for(var Ur=0,ci=ar.length;Ur-1&&(yi[Hi]=!(Pn[Hi]=Kn))}}else zn=Ad(zn===Pn?zn.splice(yo,zn.length):zn),ci?ci(null,Pn,zn,To):We.apply(Pn,zn)})}function yf(Bt){for(var ar,Br,Ur,ci=Bt.length,Li=oe.relative[Bt[0].type],yi=Li||oe.relative[" "],Pn=Li?1:0,sn=_f(function(Ti){return Ti===ar},yi,!0),To=_f(function(Ti){return c.call(ar,Ti)>-1},yi,!0),Hi=[function(Ti,Kn,zn){var Fs=!Li&&(zn||Kn!=pe)||((ar=Kn).nodeType?sn(Ti,Kn,zn):To(Ti,Kn,zn));return ar=null,Fs}];Pn1&&Xh(Hi),Pn>1&&$h(Bt.slice(0,Pn-1).concat({value:Bt[Pn-2].type===" "?"*":""})).replace(Ze,"$1"),Br,Pn0,Ur=Bt.length>0,ci=function(Li,yi,Pn,sn,To){var Hi,Ti,Kn,zn=0,Fs="0",wl=Li&&[],yo=[],tc=pe,Tl=Li||Ur&&oe.find.TAG("*",To),ll=vr+=tc==null?1:Math.random()||.1,Oa=Tl.length;for(To&&(pe=yi==ot||yi||To);Fs!==Oa&&(Hi=Tl[Fs])!=null;Fs++){if(Ur&&Hi){for(Ti=0,!yi&&Hi.ownerDocument!=ot&&(qn(Hi),Pn=!Ut);Kn=Bt[Ti++];)if(Kn(Hi,yi||ot,Pn)){We.call(sn,Hi);break}To&&(vr=ll)}Br&&((Hi=!Kn&&Hi)&&zn--,Li&&wl.push(Hi))}if(zn+=Fs,Br&&Fs!==zn){for(Ti=0;Kn=ar[Ti++];)Kn(wl,yo,yi,Pn);if(Li){if(zn>0)for(;Fs--;)wl[Fs]||yo[Fs]||(yo[Fs]=Ce.call(sn));yo=Ad(yo)}We.apply(sn,yo),To&&!Li&&yo.length>0&&zn+ar.length>1&&ne.uniqueSort(sn)}return To&&(vr=ll,pe=tc),wl};return Br?mc(ci):ci}function Wf(Bt,ar){var Br,Ur=[],ci=[],Li=Mo[Bt+" "];if(!Li){for(ar||(ar=Fn(Bt)),Br=ar.length;Br--;)Li=yf(ar[Br]),Li[li]?Ur.push(Li):ci.push(Li);Li=Mo(Bt,Bu(ci,Ur)),Li.selector=Bt}return Li}function qf(Bt,ar,Br,Ur){var ci,Li,yi,Pn,sn,To=typeof Bt=="function"&&Bt,Hi=!Ur&&Fn(Bt=To.selector||Bt);if(Br=Br||[],Hi.length===1){if(Li=Hi[0]=Hi[0].slice(0),Li.length>2&&(yi=Li[0]).type==="ID"&&ar.nodeType===9&&Ut&&oe.relative[Li[1].type]){if(ar=(oe.find.ID(yi.matches[0].replace(Go,Qs),ar)||[])[0],ar)To&&(ar=ar.parentNode);else return Br;Bt=Bt.slice(Li.shift().value.length)}for(ci=Ye.needsContext.test(Bt)?0:Li.length;ci--&&(yi=Li[ci],!oe.relative[Pn=yi.type]);)if((sn=oe.find[Pn])&&(Ur=sn(yi.matches[0].replace(Go,Qs),Rs.test(Li[0].type)&&Ac(ar.parentNode)||ar))){if(Li.splice(ci,1),Bt=Ur.length&&$h(Li),!Bt)return We.apply(Br,Ur),Br;break}}return(To||Wf(Bt,Hi))(Ur,ar,!Ut,Br,!ar||Rs.test(Bt)&&Ac(ar.parentNode)||ar),Br}k.sortStable=li.split("").sort(al).join("")===li,qn(),k.sortDetached=Qa(function(Bt){return Bt.compareDocumentPosition(ot.createElement("fieldset"))&1}),ne.find=Ss,ne.expr[":"]=ne.expr.pseudos,ne.unique=ne.uniqueSort,Ss.compile=Wf,Ss.select=qf,Ss.setDocument=qn,Ss.tokenize=Fn,Ss.escape=ne.escapeSelector,Ss.getText=ne.text,Ss.isXML=ne.isXMLDoc,Ss.selectors=ne.expr,Ss.support=ne.support,Ss.uniqueSort=ne.uniqueSort})();var mi=function(q,oe,pe){for(var be=[],He=pe!==void 0;(q=q[oe])&&q.nodeType!==9;)if(q.nodeType===1){if(He&&ne(q).is(pe))break;be.push(q)}return be},bi=function(q,oe){for(var pe=[];q;q=q.nextSibling)q.nodeType===1&&q!==oe&&pe.push(q);return pe},un=ne.expr.match.needsContext,Yr=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Xi(q,oe,pe){return U(oe)?ne.grep(q,function(be,He){return!!oe.call(be,He,be)!==pe}):oe.nodeType?ne.grep(q,function(be){return be===oe!==pe}):typeof oe!="string"?ne.grep(q,function(be){return c.call(oe,be)>-1!==pe}):ne.filter(oe,q,pe)}ne.filter=function(q,oe,pe){var be=oe[0];return pe&&(q=":not("+q+")"),oe.length===1&&be.nodeType===1?ne.find.matchesSelector(be,q)?[be]:[]:ne.find.matches(q,ne.grep(oe,function(He){return He.nodeType===1}))},ne.fn.extend({find:function(q){var oe,pe,be=this.length,He=this;if(typeof q!="string")return this.pushStack(ne(q).filter(function(){for(oe=0;oe1?ne.uniqueSort(pe):pe},filter:function(q){return this.pushStack(Xi(this,q||[],!1))},not:function(q){return this.pushStack(Xi(this,q||[],!0))},is:function(q){return!!Xi(this,typeof q=="string"&&un.test(q)?ne(q):q||[],!1).length}});var xi,ii=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Gn=ne.fn.init=function(q,oe,pe){var be,He;if(!q)return this;if(pe=pe||xi,typeof q=="string")if(q[0]==="<"&&q[q.length-1]===">"&&q.length>=3?be=[null,q,null]:be=ii.exec(q),be&&(be[1]||!oe))if(be[1]){if(oe=oe instanceof ne?oe[0]:oe,ne.merge(this,ne.parseHTML(be[1],oe&&oe.nodeType?oe.ownerDocument||oe:ee,!0)),Yr.test(be[1])&&ne.isPlainObject(oe))for(be in oe)U(this[be])?this[be](oe[be]):this.attr(be,oe[be]);return this}else return He=ee.getElementById(be[2]),He&&(this[0]=He,this.length=1),this;else return!oe||oe.jquery?(oe||pe).find(q):this.constructor(oe).find(q);else{if(q.nodeType)return this[0]=q,this.length=1,this;if(U(q))return pe.ready!==void 0?pe.ready(q):q(ne)}return ne.makeArray(q,this)};Gn.prototype=ne.fn,xi=ne(ee);var Ve=/^(?:parents|prev(?:Until|All))/,nt={children:!0,contents:!0,next:!0,prev:!0};ne.fn.extend({has:function(q){var oe=ne(q,this),pe=oe.length;return this.filter(function(){for(var be=0;be-1:pe.nodeType===1&&ne.find.matchesSelector(pe,q))){We.push(pe);break}}return this.pushStack(We.length>1?ne.uniqueSort(We):We)},index:function(q){return q?typeof q=="string"?c.call(ne(q),this[0]):c.call(this,q.jquery?q[0]:q):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(q,oe){return this.pushStack(ne.uniqueSort(ne.merge(this.get(),ne(q,oe))))},addBack:function(q){return this.add(q==null?this.prevObject:this.prevObject.filter(q))}});function Ft(q,oe){for(;(q=q[oe])&&q.nodeType!==1;);return q}ne.each({parent:function(q){var oe=q.parentNode;return oe&&oe.nodeType!==11?oe:null},parents:function(q){return mi(q,"parentNode")},parentsUntil:function(q,oe,pe){return mi(q,"parentNode",pe)},next:function(q){return Ft(q,"nextSibling")},prev:function(q){return Ft(q,"previousSibling")},nextAll:function(q){return mi(q,"nextSibling")},prevAll:function(q){return mi(q,"previousSibling")},nextUntil:function(q,oe,pe){return mi(q,"nextSibling",pe)},prevUntil:function(q,oe,pe){return mi(q,"previousSibling",pe)},siblings:function(q){return bi((q.parentNode||{}).firstChild,q)},children:function(q){return bi(q.firstChild)},contents:function(q){return q.contentDocument!=null&&i(q.contentDocument)?q.contentDocument:(Xe(q,"template")&&(q=q.content||q),ne.merge([],q.childNodes))}},function(q,oe){ne.fn[q]=function(pe,be){var He=ne.map(this,oe,pe);return q.slice(-5)!=="Until"&&(be=pe),be&&typeof be=="string"&&(He=ne.filter(be,He)),this.length>1&&(nt[q]||ne.uniqueSort(He),Ve.test(q)&&He.reverse()),this.pushStack(He)}});var mr=/[^\x20\t\r\n\f]+/g;function Xr(q){var oe={};return ne.each(q.match(mr)||[],function(pe,be){oe[be]=!0}),oe}ne.Callbacks=function(q){q=typeof q=="string"?Xr(q):ne.extend({},q);var oe,pe,be,He,We=[],ot=[],rr=-1,Ut=function(){for(He=He||q.once,be=oe=!0;ot.length;rr=-1)for(pe=ot.shift();++rr-1;)We.splice(vr,1),vr<=rr&&rr--}),this},has:function(Fr){return Fr?ne.inArray(Fr,We)>-1:We.length>0},empty:function(){return We&&(We=[]),this},disable:function(){return He=ot=[],We=pe="",this},disabled:function(){return!We},lock:function(){return He=ot=[],!pe&&!oe&&(We=pe=""),this},locked:function(){return!!He},fireWith:function(Fr,li){return He||(li=li||[],li=[Fr,li.slice?li.slice():li],ot.push(li),oe||Ut()),this},fire:function(){return cr.fireWith(this,arguments),this},fired:function(){return!!be}};return cr};function zr(q){return q}function ln(q){throw q}function Nn(q,oe,pe,be){var He;try{q&&U(He=q.promise)?He.call(q).done(oe).fail(pe):q&&U(He=q.then)?He.call(q,oe,pe):oe.apply(void 0,[q].slice(be))}catch(We){pe.apply(void 0,[We])}}ne.extend({Deferred:function(q){var oe=[["notify","progress",ne.Callbacks("memory"),ne.Callbacks("memory"),2],["resolve","done",ne.Callbacks("once memory"),ne.Callbacks("once memory"),0,"resolved"],["reject","fail",ne.Callbacks("once memory"),ne.Callbacks("once memory"),1,"rejected"]],pe="pending",be={state:function(){return pe},always:function(){return He.done(arguments).fail(arguments),this},catch:function(We){return be.then(null,We)},pipe:function(){var We=arguments;return ne.Deferred(function(ot){ne.each(oe,function(rr,Ut){var cr=U(We[Ut[4]])&&We[Ut[4]];He[Ut[1]](function(){var Fr=cr&&cr.apply(this,arguments);Fr&&U(Fr.promise)?Fr.promise().progress(ot.notify).done(ot.resolve).fail(ot.reject):ot[Ut[0]+"With"](this,cr?[Fr]:arguments)})}),We=null}).promise()},then:function(We,ot,rr){var Ut=0;function cr(Fr,li,vr,Bi){return function(){var gn=this,gs=arguments,Mo=function(){var al,Da;if(!(Fr=Ut&&(vr!==ln&&(gn=void 0,gs=[al]),li.rejectWith(gn,gs))}};Fr?bl():(ne.Deferred.getErrorHook?bl.error=ne.Deferred.getErrorHook():ne.Deferred.getStackHook&&(bl.error=ne.Deferred.getStackHook()),t.setTimeout(bl))}}return ne.Deferred(function(Fr){oe[0][3].add(cr(0,Fr,U(rr)?rr:zr,Fr.notifyWith)),oe[1][3].add(cr(0,Fr,U(We)?We:zr)),oe[2][3].add(cr(0,Fr,U(ot)?ot:ln))}).promise()},promise:function(We){return We!=null?ne.extend(We,be):be}},He={};return ne.each(oe,function(We,ot){var rr=ot[2],Ut=ot[5];be[ot[1]]=rr.add,Ut&&rr.add(function(){pe=Ut},oe[3-We][2].disable,oe[3-We][3].disable,oe[0][2].lock,oe[0][3].lock),rr.add(ot[3].fire),He[ot[0]]=function(){return He[ot[0]+"With"](this===He?void 0:this,arguments),this},He[ot[0]+"With"]=rr.fireWith}),be.promise(He),q&&q.call(He,He),He},when:function(q){var oe=arguments.length,pe=oe,be=Array(pe),He=n.call(arguments),We=ne.Deferred(),ot=function(rr){return function(Ut){be[rr]=this,He[rr]=arguments.length>1?n.call(arguments):Ut,--oe||We.resolveWith(be,He)}};if(oe<=1&&(Nn(q,We.done(ot(pe)).resolve,We.reject,!oe),We.state()==="pending"||U(He[pe]&&He[pe].then)))return We.then();for(;pe--;)Nn(He[pe],ot(pe),We.reject);return We.promise()}});var Co=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ne.Deferred.exceptionHook=function(q,oe){t.console&&t.console.warn&&q&&Co.test(q.name)&&t.console.warn("jQuery.Deferred exception: "+q.message,q.stack,oe)},ne.readyException=function(q){t.setTimeout(function(){throw q})};var Ho=ne.Deferred();ne.fn.ready=function(q){return Ho.then(q).catch(function(oe){ne.readyException(oe)}),this},ne.extend({isReady:!1,readyWait:1,ready:function(q){(q===!0?--ne.readyWait:ne.isReady)||(ne.isReady=!0,!(q!==!0&&--ne.readyWait>0)&&Ho.resolveWith(ee,[ne]))}}),ne.ready.then=Ho.then;function is(){ee.removeEventListener("DOMContentLoaded",is),t.removeEventListener("load",is),ne.ready()}ee.readyState==="complete"||ee.readyState!=="loading"&&!ee.documentElement.doScroll?t.setTimeout(ne.ready):(ee.addEventListener("DOMContentLoaded",is),t.addEventListener("load",is));var mo=function(q,oe,pe,be,He,We,ot){var rr=0,Ut=q.length,cr=pe==null;if(me(pe)==="object"){He=!0;for(rr in pe)mo(q,oe,rr,pe[rr],!0,We,ot)}else if(be!==void 0&&(He=!0,U(be)||(ot=!0),cr&&(ot?(oe.call(q,be),oe=null):(cr=oe,oe=function(Fr,li,vr){return cr.call(ne(Fr),vr)})),oe))for(;rr1,null,!0)},removeData:function(q){return this.each(function(){Fe.remove(this,q)})}}),ne.extend({queue:function(q,oe,pe){var be;if(q)return oe=(oe||"fx")+"queue",be=Yt.get(q,oe),pe&&(!be||Array.isArray(pe)?be=Yt.access(q,oe,ne.makeArray(pe)):be.push(pe)),be||[]},dequeue:function(q,oe){oe=oe||"fx";var pe=ne.queue(q,oe),be=pe.length,He=pe.shift(),We=ne._queueHooks(q,oe),ot=function(){ne.dequeue(q,oe)};He==="inprogress"&&(He=pe.shift(),be--),He&&(oe==="fx"&&pe.unshift("inprogress"),delete We.stop,He.call(q,ot,We)),!be&&We&&We.empty.fire()},_queueHooks:function(q,oe){var pe=oe+"queueHooks";return Yt.get(q,pe)||Yt.access(q,pe,{empty:ne.Callbacks("once memory").add(function(){Yt.remove(q,[oe+"queue",pe])})})}}),ne.fn.extend({queue:function(q,oe){var pe=2;return typeof q!="string"&&(oe=q,q="fx",pe--),arguments.length\x20\t\r\n\f]*)/i,ns=/^$|^module$|\/(?:java|ecma)script/i;(function(){var q=ee.createDocumentFragment(),oe=q.appendChild(ee.createElement("div")),pe=ee.createElement("input");pe.setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),oe.appendChild(pe),k.checkClone=oe.cloneNode(!0).cloneNode(!0).lastChild.checked,oe.innerHTML="",k.noCloneChecked=!!oe.cloneNode(!0).lastChild.defaultValue,oe.innerHTML="",k.option=!!oe.lastChild})();var Be={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Be.tbody=Be.tfoot=Be.colgroup=Be.caption=Be.thead,Be.th=Be.td,k.option||(Be.optgroup=Be.option=[1,""]);function $e(q,oe){var pe;return typeof q.getElementsByTagName<"u"?pe=q.getElementsByTagName(oe||"*"):typeof q.querySelectorAll<"u"?pe=q.querySelectorAll(oe||"*"):pe=[],oe===void 0||oe&&Xe(q,oe)?ne.merge([q],pe):pe}function it(q,oe){for(var pe=0,be=q.length;pe-1){He&&He.push(We);continue}if(cr=ti(We),ot=$e(li.appendChild(We),"script"),cr&&it(ot),pe)for(Fr=0;We=ot[Fr++];)ns.test(We.type||"")&&pe.push(We)}return li}var $t=/^([^.]*)(?:\.(.+)|)/;function Jt(){return!0}function ht(){return!1}function Ot(q,oe,pe,be,He,We){var ot,rr;if(typeof oe=="object"){typeof pe!="string"&&(be=be||pe,pe=void 0);for(rr in oe)Ot(q,rr,pe,be,oe[rr],We);return q}if(be==null&&He==null?(He=pe,be=pe=void 0):He==null&&(typeof pe=="string"?(He=be,be=void 0):(He=be,be=pe,pe=void 0)),He===!1)He=ht;else if(!He)return q;return We===1&&(ot=He,He=function(Ut){return ne().off(Ut),ot.apply(this,arguments)},He.guid=ot.guid||(ot.guid=ne.guid++)),q.each(function(){ne.event.add(this,oe,He,be,pe)})}ne.event={global:{},add:function(q,oe,pe,be,He){var We,ot,rr,Ut,cr,Fr,li,vr,Bi,gn,gs,Mo=Yt.get(q);if(ps(q))for(pe.handler&&(We=pe,pe=We.handler,He=We.selector),He&&ne.find.matchesSelector(xr,He),pe.guid||(pe.guid=ne.guid++),(Ut=Mo.events)||(Ut=Mo.events=Object.create(null)),(ot=Mo.handle)||(ot=Mo.handle=function(bl){return typeof ne<"u"&&ne.event.triggered!==bl.type?ne.event.dispatch.apply(q,arguments):void 0}),oe=(oe||"").match(mr)||[""],cr=oe.length;cr--;)rr=$t.exec(oe[cr])||[],Bi=gs=rr[1],gn=(rr[2]||"").split(".").sort(),Bi&&(li=ne.event.special[Bi]||{},Bi=(He?li.delegateType:li.bindType)||Bi,li=ne.event.special[Bi]||{},Fr=ne.extend({type:Bi,origType:gs,data:be,handler:pe,guid:pe.guid,selector:He,needsContext:He&&ne.expr.match.needsContext.test(He),namespace:gn.join(".")},We),(vr=Ut[Bi])||(vr=Ut[Bi]=[],vr.delegateCount=0,(!li.setup||li.setup.call(q,be,gn,ot)===!1)&&q.addEventListener&&q.addEventListener(Bi,ot)),li.add&&(li.add.call(q,Fr),Fr.handler.guid||(Fr.handler.guid=pe.guid)),He?vr.splice(vr.delegateCount++,0,Fr):vr.push(Fr),ne.event.global[Bi]=!0)},remove:function(q,oe,pe,be,He){var We,ot,rr,Ut,cr,Fr,li,vr,Bi,gn,gs,Mo=Yt.hasData(q)&&Yt.get(q);if(!(!Mo||!(Ut=Mo.events))){for(oe=(oe||"").match(mr)||[""],cr=oe.length;cr--;){if(rr=$t.exec(oe[cr])||[],Bi=gs=rr[1],gn=(rr[2]||"").split(".").sort(),!Bi){for(Bi in Ut)ne.event.remove(q,Bi+oe[cr],pe,be,!0);continue}for(li=ne.event.special[Bi]||{},Bi=(be?li.delegateType:li.bindType)||Bi,vr=Ut[Bi]||[],rr=rr[2]&&new RegExp("(^|\\.)"+gn.join("\\.(?:.*\\.|)")+"(\\.|$)"),ot=We=vr.length;We--;)Fr=vr[We],(He||gs===Fr.origType)&&(!pe||pe.guid===Fr.guid)&&(!rr||rr.test(Fr.namespace))&&(!be||be===Fr.selector||be==="**"&&Fr.selector)&&(vr.splice(We,1),Fr.selector&&vr.delegateCount--,li.remove&&li.remove.call(q,Fr));ot&&!vr.length&&((!li.teardown||li.teardown.call(q,gn,Mo.handle)===!1)&&ne.removeEvent(q,Bi,Mo.handle),delete Ut[Bi])}ne.isEmptyObject(Ut)&&Yt.remove(q,"handle events")}},dispatch:function(q){var oe,pe,be,He,We,ot,rr=new Array(arguments.length),Ut=ne.event.fix(q),cr=(Yt.get(this,"events")||Object.create(null))[Ut.type]||[],Fr=ne.event.special[Ut.type]||{};for(rr[0]=Ut,oe=1;oe=1)){for(;cr!==this;cr=cr.parentNode||this)if(cr.nodeType===1&&!(q.type==="click"&&cr.disabled===!0)){for(We=[],ot={},pe=0;pe-1:ne.find(He,this,null,[cr]).length),ot[He]&&We.push(be);We.length&&rr.push({elem:cr,handlers:We})}}return cr=this,Ut\s*$/g;function si(q,oe){return Xe(q,"table")&&Xe(oe.nodeType!==11?oe:oe.firstChild,"tr")&&ne(q).children("tbody")[0]||q}function Or(q){return q.type=(q.getAttribute("type")!==null)+"/"+q.type,q}function fi(q){return(q.type||"").slice(0,5)==="true/"?q.type=q.type.slice(5):q.removeAttribute("type"),q}function pr(q,oe){var pe,be,He,We,ot,rr,Ut;if(oe.nodeType===1){if(Yt.hasData(q)&&(We=Yt.get(q),Ut=We.events,Ut)){Yt.remove(oe,"handle events");for(He in Ut)for(pe=0,be=Ut[He].length;pe1&&typeof Bi=="string"&&!k.checkClone&&ui.test(Bi))return q.each(function(gs){var Mo=q.eq(gs);gn&&(oe[0]=Bi.call(this,gs,Mo.html())),Ii(Mo,oe,pe,be)});if(li&&(He=Qe(oe,q[0].ownerDocument,!1,q,be),We=He.firstChild,He.childNodes.length===1&&(He=We),We||be)){for(ot=ne.map($e(He,"script"),Or),rr=ot.length;Fr0&&it(ot,!Ut&&$e(q,"script")),rr},cleanData:function(q){for(var oe,pe,be,He=ne.event.special,We=0;(pe=q[We])!==void 0;We++)if(ps(pe)){if(oe=pe[Yt.expando]){if(oe.events)for(be in oe.events)He[be]?ne.event.remove(pe,be):ne.removeEvent(pe,be,oe.handle);pe[Yt.expando]=void 0}pe[Fe.expando]&&(pe[Fe.expando]=void 0)}}}),ne.fn.extend({detach:function(q){return Mi(this,q,!0)},remove:function(q){return Mi(this,q)},text:function(q){return mo(this,function(oe){return oe===void 0?ne.text(this):this.empty().each(function(){(this.nodeType===1||this.nodeType===11||this.nodeType===9)&&(this.textContent=oe)})},null,q,arguments.length)},append:function(){return Ii(this,arguments,function(q){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var oe=si(this,q);oe.appendChild(q)}})},prepend:function(){return Ii(this,arguments,function(q){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var oe=si(this,q);oe.insertBefore(q,oe.firstChild)}})},before:function(){return Ii(this,arguments,function(q){this.parentNode&&this.parentNode.insertBefore(q,this)})},after:function(){return Ii(this,arguments,function(q){this.parentNode&&this.parentNode.insertBefore(q,this.nextSibling)})},empty:function(){for(var q,oe=0;(q=this[oe])!=null;oe++)q.nodeType===1&&(ne.cleanData($e(q,!1)),q.textContent="");return this},clone:function(q,oe){return q=q??!1,oe=oe??q,this.map(function(){return ne.clone(this,q,oe)})},html:function(q){return mo(this,function(oe){var pe=this[0]||{},be=0,He=this.length;if(oe===void 0&&pe.nodeType===1)return pe.innerHTML;if(typeof oe=="string"&&!ei.test(oe)&&!Be[(Us.exec(oe)||["",""])[1].toLowerCase()]){oe=ne.htmlPrefilter(oe);try{for(;be=0&&(Ut+=Math.max(0,Math.ceil(q["offset"+oe[0].toUpperCase()+oe.slice(1)]-We-Ut-rr-.5))||0),Ut+cr}function md(q,oe,pe){var be=po(q),He=!k.boxSizingReliable()||pe,We=He&&ne.css(q,"boxSizing",!1,be)==="border-box",ot=We,rr=No(q,oe,be),Ut="offset"+oe[0].toUpperCase()+oe.slice(1);if(Ni.test(rr)){if(!pe)return rr;rr="auto"}return(!k.boxSizingReliable()&&We||!k.reliableTrDimensions()&&Xe(q,"tr")||rr==="auto"||!parseFloat(rr)&&ne.css(q,"display",!1,be)==="inline")&&q.getClientRects().length&&(We=ne.css(q,"boxSizing",!1,be)==="border-box",ot=Ut in q,ot&&(rr=q[Ut])),rr=parseFloat(rr)||0,rr+Ya(q,oe,pe||(We?"border":"content"),ot,be,rr)+"px"}ne.extend({cssHooks:{opacity:{get:function(q,oe){if(oe){var pe=No(q,"opacity");return pe===""?"1":pe}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(q,oe,pe,be){if(!(!q||q.nodeType===3||q.nodeType===8||!q.style)){var He,We,ot,rr=so(oe),Ut=zi.test(oe),cr=q.style;if(Ut||(oe=ho(rr)),ot=ne.cssHooks[oe]||ne.cssHooks[rr],pe!==void 0){if(We=typeof pe,We==="string"&&(He=fr.exec(pe))&&He[1]&&(pe=fn(q,oe,He),We="number"),pe==null||pe!==pe)return;We==="number"&&!Ut&&(pe+=He&&He[3]||(ne.cssNumber[rr]?"":"px")),!k.clearCloneStyle&&pe===""&&oe.indexOf("background")===0&&(cr[oe]="inherit"),(!ot||!("set"in ot)||(pe=ot.set(q,pe,be))!==void 0)&&(Ut?cr.setProperty(oe,pe):cr[oe]=pe)}else return ot&&"get"in ot&&(He=ot.get(q,!1,be))!==void 0?He:cr[oe]}},css:function(q,oe,pe,be){var He,We,ot,rr=so(oe),Ut=zi.test(oe);return Ut||(oe=ho(rr)),ot=ne.cssHooks[oe]||ne.cssHooks[rr],ot&&"get"in ot&&(He=ot.get(q,!0,pe)),He===void 0&&(He=No(q,oe,be)),He==="normal"&&oe in zc&&(He=zc[oe]),pe===""||pe?(We=parseFloat(He),pe===!0||isFinite(We)?We||0:He):He}}),ne.each(["height","width"],function(q,oe){ne.cssHooks[oe]={get:function(pe,be,He){if(be)return cs.test(ne.css(pe,"display"))&&(!pe.getClientRects().length||!pe.getBoundingClientRect().width)?Ls(pe,_l,function(){return md(pe,oe,He)}):md(pe,oe,He)},set:function(pe,be,He){var We,ot=po(pe),rr=!k.scrollboxSize()&&ot.position==="absolute",Ut=rr||He,cr=Ut&&ne.css(pe,"boxSizing",!1,ot)==="border-box",Fr=He?Ya(pe,oe,He,cr,ot):0;return cr&&rr&&(Fr-=Math.ceil(pe["offset"+oe[0].toUpperCase()+oe.slice(1)]-parseFloat(ot[oe])-Ya(pe,oe,"border",!1,ot)-.5)),Fr&&(We=fr.exec(be))&&(We[3]||"px")!=="px"&&(pe.style[oe]=be,be=ne.css(pe,oe)),yl(pe,be,Fr)}}}),ne.cssHooks.marginLeft=wo(k.reliableMarginLeft,function(q,oe){if(oe)return(parseFloat(No(q,"marginLeft"))||q.getBoundingClientRect().left-Ls(q,{marginLeft:0},function(){return q.getBoundingClientRect().left}))+"px"}),ne.each({margin:"",padding:"",border:"Width"},function(q,oe){ne.cssHooks[q+oe]={expand:function(pe){for(var be=0,He={},We=typeof pe=="string"?pe.split(" "):[pe];be<4;be++)He[q+nr[be]+oe]=We[be]||We[be-2]||We[0];return He}},q!=="margin"&&(ne.cssHooks[q+oe].set=yl)}),ne.fn.extend({css:function(q,oe){return mo(this,function(pe,be,He){var We,ot,rr={},Ut=0;if(Array.isArray(be)){for(We=po(pe),ot=be.length;Ut1)}});function os(q,oe,pe,be,He){return new os.prototype.init(q,oe,pe,be,He)}ne.Tween=os,os.prototype={constructor:os,init:function(q,oe,pe,be,He,We){this.elem=q,this.prop=pe,this.easing=He||ne.easing._default,this.options=oe,this.start=this.now=this.cur(),this.end=be,this.unit=We||(ne.cssNumber[pe]?"":"px")},cur:function(){var q=os.propHooks[this.prop];return q&&q.get?q.get(this):os.propHooks._default.get(this)},run:function(q){var oe,pe=os.propHooks[this.prop];return this.options.duration?this.pos=oe=ne.easing[this.easing](q,this.options.duration*q,0,1,this.options.duration):this.pos=oe=q,this.now=(this.end-this.start)*oe+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),pe&&pe.set?pe.set(this):os.propHooks._default.set(this),this}},os.prototype.init.prototype=os.prototype,os.propHooks={_default:{get:function(q){var oe;return q.elem.nodeType!==1||q.elem[q.prop]!=null&&q.elem.style[q.prop]==null?q.elem[q.prop]:(oe=ne.css(q.elem,q.prop,""),!oe||oe==="auto"?0:oe)},set:function(q){ne.fx.step[q.prop]?ne.fx.step[q.prop](q):q.elem.nodeType===1&&(ne.cssHooks[q.prop]||q.elem.style[ho(q.prop)]!=null)?ne.style(q.elem,q.prop,q.now+q.unit):q.elem[q.prop]=q.now}}},os.propHooks.scrollTop=os.propHooks.scrollLeft={set:function(q){q.elem.nodeType&&q.elem.parentNode&&(q.elem[q.prop]=q.now)}},ne.easing={linear:function(q){return q},swing:function(q){return .5-Math.cos(q*Math.PI)/2},_default:"swing"},ne.fx=os.prototype.init,ne.fx.step={};var ca,mf,Ll=/^(?:toggle|show|hide)$/,Dl=/queueHooks$/;function eu(){mf&&(ee.hidden===!1&&t.requestAnimationFrame?t.requestAnimationFrame(eu):t.setTimeout(eu,ne.fx.interval),ne.fx.tick())}function ua(){return t.setTimeout(function(){ca=void 0}),ca=Date.now()}function Tc(q,oe){var pe,be=0,He={height:q};for(oe=oe?1:0;be<4;be+=2-oe)pe=nr[be],He["margin"+pe]=He["padding"+pe]=q;return oe&&(He.opacity=He.width=q),He}function Uc(q,oe,pe){for(var be,He=(Iu.tweeners[oe]||[]).concat(Iu.tweeners["*"]),We=0,ot=He.length;We1)},removeAttr:function(q){return this.each(function(){ne.removeAttr(this,q)})}}),ne.extend({attr:function(q,oe,pe){var be,He,We=q.nodeType;if(!(We===3||We===8||We===2)){if(typeof q.getAttribute>"u")return ne.prop(q,oe,pe);if((We!==1||!ne.isXMLDoc(q))&&(He=ne.attrHooks[oe.toLowerCase()]||(ne.expr.match.bool.test(oe)?Vh:void 0)),pe!==void 0){if(pe===null){ne.removeAttr(q,oe);return}return He&&"set"in He&&(be=He.set(q,pe,oe))!==void 0?be:(q.setAttribute(oe,pe+""),pe)}return He&&"get"in He&&(be=He.get(q,oe))!==null?be:(be=ne.find.attr(q,oe),be??void 0)}},attrHooks:{type:{set:function(q,oe){if(!k.radioValue&&oe==="radio"&&Xe(q,"input")){var pe=q.value;return q.setAttribute("type",oe),pe&&(q.value=pe),oe}}}},removeAttr:function(q,oe){var pe,be=0,He=oe&&oe.match(mr);if(He&&q.nodeType===1)for(;pe=He[be++];)q.removeAttribute(pe)}}),Vh={set:function(q,oe,pe){return oe===!1?ne.removeAttr(q,pe):q.setAttribute(pe,pe),pe}},ne.each(ne.expr.match.bool.source.match(/\w+/g),function(q,oe){var pe=Ma[oe]||ne.find.attr;Ma[oe]=function(be,He,We){var ot,rr,Ut=He.toLowerCase();return We||(rr=Ma[Ut],Ma[Ut]=ot,ot=pe(be,He,We)!=null?Ut:null,Ma[Ut]=rr),ot}});var Mu=/^(?:input|select|textarea|button)$/i,Sc=/^(?:a|area)$/i;ne.fn.extend({prop:function(q,oe){return mo(this,ne.prop,q,oe,arguments.length>1)},removeProp:function(q){return this.each(function(){delete this[ne.propFix[q]||q]})}}),ne.extend({prop:function(q,oe,pe){var be,He,We=q.nodeType;if(!(We===3||We===8||We===2))return(We!==1||!ne.isXMLDoc(q))&&(oe=ne.propFix[oe]||oe,He=ne.propHooks[oe]),pe!==void 0?He&&"set"in He&&(be=He.set(q,pe,oe))!==void 0?be:q[oe]=pe:He&&"get"in He&&(be=He.get(q,oe))!==null?be:q[oe]},propHooks:{tabIndex:{get:function(q){var oe=ne.find.attr(q,"tabindex");return oe?parseInt(oe,10):Mu.test(q.nodeName)||Sc.test(q.nodeName)&&q.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),k.optSelected||(ne.propHooks.selected={get:function(q){var oe=q.parentNode;return oe&&oe.parentNode&&oe.parentNode.selectedIndex,null},set:function(q){var oe=q.parentNode;oe&&(oe.selectedIndex,oe.parentNode&&oe.parentNode.selectedIndex)}}),ne.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ne.propFix[this.toLowerCase()]=this});function pc(q){var oe=q.match(mr)||[];return oe.join(" ")}function gf(q){return q.getAttribute&&q.getAttribute("class")||""}function gd(q){return Array.isArray(q)?q:typeof q=="string"?q.match(mr)||[]:[]}ne.fn.extend({addClass:function(q){var oe,pe,be,He,We,ot;return U(q)?this.each(function(rr){ne(this).addClass(q.call(this,rr,gf(this)))}):(oe=gd(q),oe.length?this.each(function(){if(be=gf(this),pe=this.nodeType===1&&" "+pc(be)+" ",pe){for(We=0;We-1;)pe=pe.replace(" "+He+" "," ");ot=pc(pe),be!==ot&&this.setAttribute("class",ot)}}):this):this.attr("class","")},toggleClass:function(q,oe){var pe,be,He,We,ot=typeof q,rr=ot==="string"||Array.isArray(q);return U(q)?this.each(function(Ut){ne(this).toggleClass(q.call(this,Ut,gf(this),oe),oe)}):typeof oe=="boolean"&&rr?oe?this.addClass(q):this.removeClass(q):(pe=gd(q),this.each(function(){if(rr)for(We=ne(this),He=0;He-1)return!0;return!1}});var jh=/\r/g;ne.fn.extend({val:function(q){var oe,pe,be,He=this[0];return arguments.length?(be=U(q),this.each(function(We){var ot;this.nodeType===1&&(be?ot=q.call(this,We,ne(this).val()):ot=q,ot==null?ot="":typeof ot=="number"?ot+="":Array.isArray(ot)&&(ot=ne.map(ot,function(rr){return rr==null?"":rr+""})),oe=ne.valHooks[this.type]||ne.valHooks[this.nodeName.toLowerCase()],(!oe||!("set"in oe)||oe.set(this,ot,"value")===void 0)&&(this.value=ot))})):He?(oe=ne.valHooks[He.type]||ne.valHooks[He.nodeName.toLowerCase()],oe&&"get"in oe&&(pe=oe.get(He,"value"))!==void 0?pe:(pe=He.value,typeof pe=="string"?pe.replace(jh,""):pe??"")):void 0}}),ne.extend({valHooks:{option:{get:function(q){var oe=ne.find.attr(q,"value");return oe??pc(ne.text(q))}},select:{get:function(q){var oe,pe,be,He=q.options,We=q.selectedIndex,ot=q.type==="select-one",rr=ot?null:[],Ut=ot?We+1:He.length;for(We<0?be=Ut:be=ot?We:0;be-1)&&(pe=!0);return pe||(q.selectedIndex=-1),We}}}}),ne.each(["radio","checkbox"],function(){ne.valHooks[this]={set:function(q,oe){if(Array.isArray(oe))return q.checked=ne.inArray(ne(q).val(),oe)>-1}},k.checkOn||(ne.valHooks[this].get=function(q){return q.getAttribute("value")===null?"on":q.value})});var Hh=t.location,Io={guid:Date.now()},Sp=/\?/;ne.parseXML=function(q){var oe,pe;if(!q||typeof q!="string")return null;try{oe=new t.DOMParser().parseFromString(q,"text/xml")}catch{}return pe=oe&&oe.getElementsByTagName("parsererror")[0],(!oe||pe)&&ne.error("Invalid XML: "+(pe?ne.map(pe.childNodes,function(be){return be.textContent}).join(` -`):q)),oe};var eg=/^(?:focusinfocus|focusoutblur)$/,Ep=function(q){q.stopPropagation()};ne.extend(ne.event,{trigger:function(q,oe,pe,be){var He,We,ot,rr,Ut,cr,Fr,li,vr=[pe||ee],Bi=y.call(q,"type")?q.type:q,gn=y.call(q,"namespace")?q.namespace.split("."):[];if(We=li=ot=pe=pe||ee,!(pe.nodeType===3||pe.nodeType===8)&&!eg.test(Bi+ne.event.triggered)&&(Bi.indexOf(".")>-1&&(gn=Bi.split("."),Bi=gn.shift(),gn.sort()),Ut=Bi.indexOf(":")<0&&"on"+Bi,q=q[ne.expando]?q:new ne.Event(Bi,typeof q=="object"&&q),q.isTrigger=be?2:3,q.namespace=gn.join("."),q.rnamespace=q.namespace?new RegExp("(^|\\.)"+gn.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,q.result=void 0,q.target||(q.target=pe),oe=oe==null?[q]:ne.makeArray(oe,[q]),Fr=ne.event.special[Bi]||{},!(!be&&Fr.trigger&&Fr.trigger.apply(pe,oe)===!1))){if(!be&&!Fr.noBubble&&!K(pe)){for(rr=Fr.delegateType||Bi,eg.test(rr+Bi)||(We=We.parentNode);We;We=We.parentNode)vr.push(We),ot=We;ot===(pe.ownerDocument||ee)&&vr.push(ot.defaultView||ot.parentWindow||t)}for(He=0;(We=vr[He++])&&!q.isPropagationStopped();)li=We,q.type=He>1?rr:Fr.bindType||Bi,cr=(Yt.get(We,"events")||Object.create(null))[q.type]&&Yt.get(We,"handle"),cr&&cr.apply(We,oe),cr=Ut&&We[Ut],cr&&cr.apply&&ps(We)&&(q.result=cr.apply(We,oe),q.result===!1&&q.preventDefault());return q.type=Bi,!be&&!q.isDefaultPrevented()&&(!Fr._default||Fr._default.apply(vr.pop(),oe)===!1)&&ps(pe)&&Ut&&U(pe[Bi])&&!K(pe)&&(ot=pe[Ut],ot&&(pe[Ut]=null),ne.event.triggered=Bi,q.isPropagationStopped()&&li.addEventListener(Bi,Ep),pe[Bi](),q.isPropagationStopped()&&li.removeEventListener(Bi,Ep),ne.event.triggered=void 0,ot&&(pe[Ut]=ot)),q.result}},simulate:function(q,oe,pe){var be=ne.extend(new ne.Event,pe,{type:q,isSimulated:!0});ne.event.trigger(be,null,oe)}}),ne.fn.extend({trigger:function(q,oe){return this.each(function(){ne.event.trigger(q,oe,this)})},triggerHandler:function(q,oe){var pe=this[0];if(pe)return ne.event.trigger(q,oe,pe,!0)}});var Ql=/\[\]$/,Jl=/\r?\n/g,_a=/^(?:submit|button|image|reset|file)$/i,Zn=/^(?:input|select|textarea|keygen)/i;function Gs(q,oe,pe,be){var He;if(Array.isArray(oe))ne.each(oe,function(We,ot){pe||Ql.test(q)?be(q,ot):Gs(q+"["+(typeof ot=="object"&&ot!=null?We:"")+"]",ot,pe,be)});else if(!pe&&me(oe)==="object")for(He in oe)Gs(q+"["+He+"]",oe[He],pe,be);else be(q,oe)}ne.param=function(q,oe){var pe,be=[],He=function(We,ot){var rr=U(ot)?ot():ot;be[be.length]=encodeURIComponent(We)+"="+encodeURIComponent(rr??"")};if(q==null)return"";if(Array.isArray(q)||q.jquery&&!ne.isPlainObject(q))ne.each(q,function(){He(this.name,this.value)});else for(pe in q)Gs(pe,q[pe],oe,He);return be.join("&")},ne.fn.extend({serialize:function(){return ne.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var q=ne.prop(this,"elements");return q?ne.makeArray(q):this}).filter(function(){var q=this.type;return this.name&&!ne(this).is(":disabled")&&Zn.test(this.nodeName)&&!_a.test(q)&&(this.checked||!wr.test(q))}).map(function(q,oe){var pe=ne(this).val();return pe==null?null:Array.isArray(pe)?ne.map(pe,function(be){return{name:oe.name,value:be.replace(Jl,`\r -`)}}):{name:oe.name,value:pe.replace(Jl,`\r -`)}}).get()}});var ec=/%20/g,sl=/#.*$/,Ol=/([?&])_=[^&]*/,vl=/^(.*?):[ \t]*([^\r\n]*)$/mg,Pu=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,tu=/^(?:GET|HEAD)$/,La=/^\/\//,xl={},Ws={},Gh="*/".concat("*"),Ec=ee.createElement("a");Ec.href=Hh.href;function Gf(q){return function(oe,pe){typeof oe!="string"&&(pe=oe,oe="*");var be,He=0,We=oe.toLowerCase().match(mr)||[];if(U(pe))for(;be=We[He++];)be[0]==="+"?(be=be.slice(1)||"*",(q[be]=q[be]||[]).unshift(pe)):(q[be]=q[be]||[]).push(pe)}}function Wh(q,oe,pe,be){var He={},We=q===Ws;function ot(rr){var Ut;return He[rr]=!0,ne.each(q[rr]||[],function(cr,Fr){var li=Fr(oe,pe,be);if(typeof li=="string"&&!We&&!He[li])return oe.dataTypes.unshift(li),ot(li),!1;if(We)return!(Ut=li)}),Ut}return ot(oe.dataTypes[0])||!He["*"]&&ot("*")}function Hd(q,oe){var pe,be,He=ne.ajaxSettings.flatOptions||{};for(pe in oe)oe[pe]!==void 0&&((He[pe]?q:be||(be={}))[pe]=oe[pe]);return be&&ne.extend(!0,q,be),q}function Cp(q,oe,pe){for(var be,He,We,ot,rr=q.contents,Ut=q.dataTypes;Ut[0]==="*";)Ut.shift(),be===void 0&&(be=q.mimeType||oe.getResponseHeader("Content-Type"));if(be){for(He in rr)if(rr[He]&&rr[He].test(be)){Ut.unshift(He);break}}if(Ut[0]in pe)We=Ut[0];else{for(He in pe){if(!Ut[0]||q.converters[He+" "+Ut[0]]){We=He;break}ot||(ot=He)}We=We||ot}if(We)return We!==Ut[0]&&Ut.unshift(We),pe[We]}function Af(q,oe,pe,be){var He,We,ot,rr,Ut,cr={},Fr=q.dataTypes.slice();if(Fr[1])for(ot in q.converters)cr[ot.toLowerCase()]=q.converters[ot];for(We=Fr.shift();We;)if(q.responseFields[We]&&(pe[q.responseFields[We]]=oe),!Ut&&be&&q.dataFilter&&(oe=q.dataFilter(oe,q.dataType)),Ut=We,We=Fr.shift(),We){if(We==="*")We=Ut;else if(Ut!=="*"&&Ut!==We){if(ot=cr[Ut+" "+We]||cr["* "+We],!ot){for(He in cr)if(rr=He.split(" "),rr[1]===We&&(ot=cr[Ut+" "+rr[0]]||cr["* "+rr[0]],ot)){ot===!0?ot=cr[He]:cr[He]!==!0&&(We=rr[0],Fr.unshift(rr[1]));break}}if(ot!==!0)if(ot&&q.throws)oe=ot(oe);else try{oe=ot(oe)}catch(li){return{state:"parsererror",error:ot?li:"No conversion from "+Ut+" to "+We}}}}return{state:"success",data:oe}}ne.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Hh.href,type:"GET",isLocal:Pu.test(Hh.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Gh,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ne.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(q,oe){return oe?Hd(Hd(q,ne.ajaxSettings),oe):Hd(ne.ajaxSettings,q)},ajaxPrefilter:Gf(xl),ajaxTransport:Gf(Ws),ajax:function(q,oe){typeof q=="object"&&(oe=q,q=void 0),oe=oe||{};var pe,be,He,We,ot,rr,Ut,cr,Fr,li,vr=ne.ajaxSetup({},oe),Bi=vr.context||vr,gn=vr.context&&(Bi.nodeType||Bi.jquery)?ne(Bi):ne.event,gs=ne.Deferred(),Mo=ne.Callbacks("once memory"),bl=vr.statusCode||{},al={},Da={},Ka="canceled",Yn={readyState:0,getResponseHeader:function(Gr){var wi;if(Ut){if(!We)for(We={};wi=vl.exec(He);)We[wi[1].toLowerCase()+" "]=(We[wi[1].toLowerCase()+" "]||[]).concat(wi[2]);wi=We[Gr.toLowerCase()+" "]}return wi==null?null:wi.join(", ")},getAllResponseHeaders:function(){return Ut?He:null},setRequestHeader:function(Gr,wi){return Ut==null&&(Gr=Da[Gr.toLowerCase()]=Da[Gr.toLowerCase()]||Gr,al[Gr]=wi),this},overrideMimeType:function(Gr){return Ut==null&&(vr.mimeType=Gr),this},statusCode:function(Gr){var wi;if(Gr)if(Ut)Yn.always(Gr[Yn.status]);else for(wi in Gr)bl[wi]=[bl[wi],Gr[wi]];return this},abort:function(Gr){var wi=Gr||Ka;return pe&&pe.abort(wi),Er(0,wi),this}};if(gs.promise(Yn),vr.url=((q||vr.url||Hh.href)+"").replace(La,Hh.protocol+"//"),vr.type=oe.method||oe.type||vr.method||vr.type,vr.dataTypes=(vr.dataType||"*").toLowerCase().match(mr)||[""],vr.crossDomain==null){rr=ee.createElement("a");try{rr.href=vr.url,rr.href=rr.href,vr.crossDomain=Ec.protocol+"//"+Ec.host!=rr.protocol+"//"+rr.host}catch{vr.crossDomain=!0}}if(vr.data&&vr.processData&&typeof vr.data!="string"&&(vr.data=ne.param(vr.data,vr.traditional)),Wh(xl,vr,oe,Yn),Ut)return Yn;cr=ne.event&&vr.global,cr&&ne.active++===0&&ne.event.trigger("ajaxStart"),vr.type=vr.type.toUpperCase(),vr.hasContent=!tu.test(vr.type),be=vr.url.replace(sl,""),vr.hasContent?vr.data&&vr.processData&&(vr.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(vr.data=vr.data.replace(ec,"+")):(li=vr.url.slice(be.length),vr.data&&(vr.processData||typeof vr.data=="string")&&(be+=(Sp.test(be)?"&":"?")+vr.data,delete vr.data),vr.cache===!1&&(be=be.replace(Ol,"$1"),li=(Sp.test(be)?"&":"?")+"_="+Io.guid+++li),vr.url=be+li),vr.ifModified&&(ne.lastModified[be]&&Yn.setRequestHeader("If-Modified-Since",ne.lastModified[be]),ne.etag[be]&&Yn.setRequestHeader("If-None-Match",ne.etag[be])),(vr.data&&vr.hasContent&&vr.contentType!==!1||oe.contentType)&&Yn.setRequestHeader("Content-Type",vr.contentType),Yn.setRequestHeader("Accept",vr.dataTypes[0]&&vr.accepts[vr.dataTypes[0]]?vr.accepts[vr.dataTypes[0]]+(vr.dataTypes[0]!=="*"?", "+Gh+"; q=0.01":""):vr.accepts["*"]);for(Fr in vr.headers)Yn.setRequestHeader(Fr,vr.headers[Fr]);if(vr.beforeSend&&(vr.beforeSend.call(Bi,Yn,vr)===!1||Ut))return Yn.abort();if(Ka="abort",Mo.add(vr.complete),Yn.done(vr.success),Yn.fail(vr.error),pe=Wh(Ws,vr,oe,Yn),!pe)Er(-1,"No Transport");else{if(Yn.readyState=1,cr&&gn.trigger("ajaxSend",[Yn,vr]),Ut)return Yn;vr.async&&vr.timeout>0&&(ot=t.setTimeout(function(){Yn.abort("timeout")},vr.timeout));try{Ut=!1,pe.send(al,Er)}catch(Gr){if(Ut)throw Gr;Er(-1,Gr)}}function Er(Gr,wi,ni,b){var Po,_o,Ye,Ms,ao,Ps=wi;Ut||(Ut=!0,ot&&t.clearTimeout(ot),pe=void 0,He=b||"",Yn.readyState=Gr>0?4:0,Po=Gr>=200&&Gr<300||Gr===304,ni&&(Ms=Cp(vr,Yn,ni)),!Po&&ne.inArray("script",vr.dataTypes)>-1&&ne.inArray("json",vr.dataTypes)<0&&(vr.converters["text script"]=function(){}),Ms=Af(vr,Ms,Yn,Po),Po?(vr.ifModified&&(ao=Yn.getResponseHeader("Last-Modified"),ao&&(ne.lastModified[be]=ao),ao=Yn.getResponseHeader("etag"),ao&&(ne.etag[be]=ao)),Gr===204||vr.type==="HEAD"?Ps="nocontent":Gr===304?Ps="notmodified":(Ps=Ms.state,_o=Ms.data,Ye=Ms.error,Po=!Ye)):(Ye=Ps,(Gr||!Ps)&&(Ps="error",Gr<0&&(Gr=0))),Yn.status=Gr,Yn.statusText=(wi||Ps)+"",Po?gs.resolveWith(Bi,[_o,Ps,Yn]):gs.rejectWith(Bi,[Yn,Ps,Ye]),Yn.statusCode(bl),bl=void 0,cr&&gn.trigger(Po?"ajaxSuccess":"ajaxError",[Yn,vr,Po?_o:Ye]),Mo.fireWith(Bi,[Yn,Ps]),cr&&(gn.trigger("ajaxComplete",[Yn,vr]),--ne.active||ne.event.trigger("ajaxStop")))}return Yn},getJSON:function(q,oe,pe){return ne.get(q,oe,pe,"json")},getScript:function(q,oe){return ne.get(q,void 0,oe,"script")}}),ne.each(["get","post"],function(q,oe){ne[oe]=function(pe,be,He,We){return U(be)&&(We=We||He,He=be,be=void 0),ne.ajax(ne.extend({url:pe,type:oe,dataType:We,data:be,success:He},ne.isPlainObject(pe)&&pe))}}),ne.ajaxPrefilter(function(q){var oe;for(oe in q.headers)oe.toLowerCase()==="content-type"&&(q.contentType=q.headers[oe]||"")}),ne._evalUrl=function(q,oe,pe){return ne.ajax({url:q,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(be){ne.globalEval(be,oe,pe)}})},ne.fn.extend({wrapAll:function(q){var oe;return this[0]&&(U(q)&&(q=q.call(this[0])),oe=ne(q,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&oe.insertBefore(this[0]),oe.map(function(){for(var pe=this;pe.firstElementChild;)pe=pe.firstElementChild;return pe}).append(this)),this},wrapInner:function(q){return U(q)?this.each(function(oe){ne(this).wrapInner(q.call(this,oe))}):this.each(function(){var oe=ne(this),pe=oe.contents();pe.length?pe.wrapAll(q):oe.append(q)})},wrap:function(q){var oe=U(q);return this.each(function(pe){ne(this).wrapAll(oe?q.call(this,pe):q)})},unwrap:function(q){return this.parent(q).not("body").each(function(){ne(this).replaceWith(this.childNodes)}),this}}),ne.expr.pseudos.hidden=function(q){return!ne.expr.pseudos.visible(q)},ne.expr.pseudos.visible=function(q){return!!(q.offsetWidth||q.offsetHeight||q.getClientRects().length)},ne.ajaxSettings.xhr=function(){try{return new t.XMLHttpRequest}catch{}};var ia={0:200,1223:204},mh=ne.ajaxSettings.xhr();k.cors=!!mh&&"withCredentials"in mh,k.ajax=mh=!!mh,ne.ajaxTransport(function(q){var oe,pe;if(k.cors||mh&&!q.crossDomain)return{send:function(be,He){var We,ot=q.xhr();if(ot.open(q.type,q.url,q.async,q.username,q.password),q.xhrFields)for(We in q.xhrFields)ot[We]=q.xhrFields[We];q.mimeType&&ot.overrideMimeType&&ot.overrideMimeType(q.mimeType),!q.crossDomain&&!be["X-Requested-With"]&&(be["X-Requested-With"]="XMLHttpRequest");for(We in be)ot.setRequestHeader(We,be[We]);oe=function(rr){return function(){oe&&(oe=pe=ot.onload=ot.onerror=ot.onabort=ot.ontimeout=ot.onreadystatechange=null,rr==="abort"?ot.abort():rr==="error"?typeof ot.status!="number"?He(0,"error"):He(ot.status,ot.statusText):He(ia[ot.status]||ot.status,ot.statusText,(ot.responseType||"text")!=="text"||typeof ot.responseText!="string"?{binary:ot.response}:{text:ot.responseText},ot.getAllResponseHeaders()))}},ot.onload=oe(),pe=ot.onerror=ot.ontimeout=oe("error"),ot.onabort!==void 0?ot.onabort=pe:ot.onreadystatechange=function(){ot.readyState===4&&t.setTimeout(function(){oe&&pe()})},oe=oe("abort");try{ot.send(q.hasContent&&q.data||null)}catch(rr){if(oe)throw rr}},abort:function(){oe&&oe()}}}),ne.ajaxPrefilter(function(q){q.crossDomain&&(q.contents.script=!1)}),ne.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(q){return ne.globalEval(q),q}}}),ne.ajaxPrefilter("script",function(q){q.cache===void 0&&(q.cache=!1),q.crossDomain&&(q.type="GET")}),ne.ajaxTransport("script",function(q){if(q.crossDomain||q.scriptAttrs){var oe,pe;return{send:function(be,He){oe=ne("